From deb3b3d48f2b472c309eabd8e23fc5825223fb4c Mon Sep 17 00:00:00 2001 From: szabomarton Date: Thu, 13 Feb 2025 10:19:22 +0100 Subject: [PATCH] asd --- ...8b387c4f-e248-4bd0-8df9-cdf3956ed44c.vsidx | Bin 0 -> 9353 bytes ...d3fe5f10-4f1b-46af-82ba-0c9221ae6c4e.vsidx | Bin 0 -> 10943 bytes ...f231afa8-b0d0-479e-9f5d-30f590674c1c.vsidx | Bin 0 -> 1779 bytes 20250213/ConsoleApp1/.vs/ConsoleApp1/v17/.suo | Bin 0 -> 88064 bytes .../v17/DocumentLayout.backup.json | 71 + .../.vs/ConsoleApp1/v17/DocumentLayout.json | 71 + .../ConsoleApp1/v17/TestStore/0/000.testlog | Bin 0 -> 3758 bytes .../v17/TestStore/0/testlog.manifest | Bin 0 -> 24 bytes 20250213/ConsoleApp1/ConsoleApp1.sln | 31 + 20250213/ConsoleApp1/ConsoleApp1/App.config | 6 + .../ConsoleApp1/ConsoleApp1.csproj | 54 + 20250213/ConsoleApp1/ConsoleApp1/Program.cs | 18 + .../ConsoleApp1/Properties/AssemblyInfo.cs | 33 + 20250213/ConsoleApp1/ConsoleApp1/Szamol.cs | 16 + .../ConsoleApp1/bin/Debug/ConsoleApp1.exe | Bin 0 -> 4608 bytes .../bin/Debug/ConsoleApp1.exe.config | 6 + .../ConsoleApp1/bin/Debug/ConsoleApp1.pdb | Bin 0 -> 24064 bytes ...ework,Version=v4.7.2.AssemblyAttributes.cs | 4 + ...ConsoleApp1.csproj.AssemblyReference.cache | Bin 0 -> 4079 bytes ...ConsoleApp1.csproj.CoreCompileInputs.cache | 1 + .../ConsoleApp1.csproj.FileListAbsolute.txt | 7 + .../ConsoleApp1/obj/Debug/ConsoleApp1.exe | Bin 0 -> 4608 bytes .../ConsoleApp1/obj/Debug/ConsoleApp1.pdb | Bin 0 -> 24064 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 1869 bytes .../ConsoleApp1Tests/ConsoleApp1Tests.csproj | 105 + .../Properties/AssemblyInfo.cs | 33 + .../ConsoleApp1Tests/SzamolTests.cs | 31 + .../bin/Debug/ConsoleApp1.exe | Bin 0 -> 4608 bytes .../bin/Debug/ConsoleApp1.exe.config | 6 + .../bin/Debug/ConsoleApp1.pdb | Bin 0 -> 24064 bytes .../bin/Debug/ConsoleApp1Tests.dll | Bin 0 -> 4608 bytes .../bin/Debug/ConsoleApp1Tests.pdb | Bin 0 -> 15872 bytes ...icrosoft.TestPlatform.AdapterUtilities.dll | Bin 0 -> 29584 bytes ...Studio.TestPlatform.MSTest.TestAdapter.dll | Bin 0 -> 159144 bytes ...TestAdapter.PlatformServices.Interface.dll | Bin 0 -> 19360 bytes ...latform.MSTestAdapter.PlatformServices.dll | Bin 0 -> 114576 bytes ....TestPlatform.TestFramework.Extensions.dll | Bin 0 -> 34728 bytes ....TestPlatform.TestFramework.Extensions.xml | 1125 ++++ ...isualStudio.TestPlatform.TestFramework.dll | Bin 0 -> 74128 bytes ...isualStudio.TestPlatform.TestFramework.xml | 5318 +++++++++++++++++ ...ework,Version=v4.7.2.AssemblyAttributes.cs | 4 + .../obj/Debug/ConsoleA.EE220C3A.Up2Date | 0 ...leApp1Tests.csproj.AssemblyReference.cache | Bin 0 -> 12558 bytes ...leApp1Tests.csproj.CoreCompileInputs.cache | 1 + ...nsoleApp1Tests.csproj.FileListAbsolute.txt | 18 + .../obj/Debug/ConsoleApp1Tests.dll | Bin 0 -> 4608 bytes .../obj/Debug/ConsoleApp1Tests.pdb | Bin 0 -> 15872 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 15418 bytes .../ConsoleApp1Tests/packages.config | 5 + .../MSTest.TestAdapter.2.2.10/.signature.p7s | Bin 0 -> 18702 bytes .../MSTest.TestAdapter.2.2.10/Icon.png | Bin 0 -> 7006 bytes .../MSTest.TestAdapter.2.2.10.nupkg | Bin 0 -> 2077954 bytes ...icrosoft.TestPlatform.AdapterUtilities.dll | Bin 0 -> 28552 bytes ...Studio.TestPlatform.MSTest.TestAdapter.dll | Bin 0 -> 159144 bytes ...TestAdapter.PlatformServices.Interface.dll | Bin 0 -> 19360 bytes ...latform.MSTestAdapter.PlatformServices.dll | Bin 0 -> 114576 bytes ...isualStudio.TestPlatform.TestFramework.dll | Bin 0 -> 74128 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15280 bytes ...t.TestPlatform.CoreUtilities.resources.dll | Bin 0 -> 16784 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 25000 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 18320 bytes ...dio.TestPlatform.ObjectModel.resources.dll | Bin 0 -> 23984 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 21904 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...t.TestPlatform.CoreUtilities.resources.dll | Bin 0 -> 16784 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 26024 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 18832 bytes ...dio.TestPlatform.ObjectModel.resources.dll | Bin 0 -> 23952 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 22416 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...t.TestPlatform.CoreUtilities.resources.dll | Bin 0 -> 16784 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 25512 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 18832 bytes ...dio.TestPlatform.ObjectModel.resources.dll | Bin 0 -> 23976 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 21904 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15272 bytes ...t.TestPlatform.CoreUtilities.resources.dll | Bin 0 -> 16784 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 26032 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 18832 bytes ...dio.TestPlatform.ObjectModel.resources.dll | Bin 0 -> 23952 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 22416 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...t.TestPlatform.CoreUtilities.resources.dll | Bin 0 -> 16808 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 26024 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 18832 bytes ...dio.TestPlatform.ObjectModel.resources.dll | Bin 0 -> 23952 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 22416 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...t.TestPlatform.CoreUtilities.resources.dll | Bin 0 -> 17320 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 27560 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 19344 bytes ...dio.TestPlatform.ObjectModel.resources.dll | Bin 0 -> 24464 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 23440 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...t.TestPlatform.CoreUtilities.resources.dll | Bin 0 -> 16816 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 26536 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 18832 bytes ...dio.TestPlatform.ObjectModel.resources.dll | Bin 0 -> 23952 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 22416 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...t.TestPlatform.CoreUtilities.resources.dll | Bin 0 -> 16784 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 26024 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 18832 bytes ...dio.TestPlatform.ObjectModel.resources.dll | Bin 0 -> 24488 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 22416 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...t.TestPlatform.CoreUtilities.resources.dll | Bin 0 -> 16784 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 25512 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 18832 bytes ...dio.TestPlatform.ObjectModel.resources.dll | Bin 0 -> 23952 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 21904 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...t.TestPlatform.CoreUtilities.resources.dll | Bin 0 -> 17296 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 29608 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 20368 bytes ...dio.TestPlatform.ObjectModel.resources.dll | Bin 0 -> 26000 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 24464 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...t.TestPlatform.CoreUtilities.resources.dll | Bin 0 -> 16808 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 25512 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 18832 bytes ...dio.TestPlatform.ObjectModel.resources.dll | Bin 0 -> 23440 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 21904 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...t.TestPlatform.CoreUtilities.resources.dll | Bin 0 -> 16272 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 24480 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 18320 bytes ...dio.TestPlatform.ObjectModel.resources.dll | Bin 0 -> 22928 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 21392 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...t.TestPlatform.CoreUtilities.resources.dll | Bin 0 -> 16784 bytes ...tPlatform.MSTest.TestAdapter.resources.dll | Bin 0 -> 24488 bytes ...TestAdapter.PlatformServices.resources.dll | Bin 0 -> 18320 bytes ...dio.TestPlatform.ObjectModel.resources.dll | Bin 0 -> 22928 bytes ...o.TestPlatform.TestFramework.resources.dll | Bin 0 -> 21392 bytes .../build/net45/MSTest.TestAdapter.props | 33 + .../build/net45/MSTest.TestAdapter.targets | 35 + ...icrosoft.TestPlatform.AdapterUtilities.dll | Bin 0 -> 29584 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes .../build/net46/MSTest.TestAdapter.props | 33 + .../build/net46/MSTest.TestAdapter.targets | 35 + ...icrosoft.TestPlatform.AdapterUtilities.dll | Bin 0 -> 29584 bytes ...latform.MSTestAdapter.PlatformServices.dll | Bin 0 -> 114576 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes .../build/net5.0/MSTest.TestAdapter.props | 7 + .../build/net5.0/MSTest.TestAdapter.targets | 77 + ...icrosoft.TestPlatform.AdapterUtilities.dll | Bin 0 -> 28552 bytes ...latform.MSTestAdapter.PlatformServices.dll | Bin 0 -> 63376 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15280 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15272 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...latform.MSTestAdapter.PlatformServices.dll | Bin 0 -> 66960 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes .../netcoreapp1.0/MSTest.TestAdapter.props | 33 + ...icrosoft.TestPlatform.AdapterUtilities.dll | Bin 0 -> 29064 bytes ...latform.MSTestAdapter.PlatformServices.dll | Bin 0 -> 63376 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15280 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14208 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15272 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15280 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15272 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15280 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15272 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15280 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15272 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15272 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15272 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15272 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15272 bytes .../netstandard1.5/MSTest.TestAdapter.props | 33 + ...icrosoft.TestPlatform.AdapterUtilities.dll | Bin 0 -> 29064 bytes ...latform.MSTestAdapter.PlatformServices.dll | Bin 0 -> 63376 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15280 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14208 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15272 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15280 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15272 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15280 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15272 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15280 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15272 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15272 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15272 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15272 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15272 bytes .../build/uap10.0/MSTest.TestAdapter.props | 33 + .../build/uap10.0/MSTest.TestAdapter.targets | 42 + ...icrosoft.TestPlatform.AdapterUtilities.dll | Bin 0 -> 30096 bytes ...latform.MSTestAdapter.PlatformServices.dll | Bin 0 -> 32656 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 15248 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14208 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14216 bytes ...estPlatform.AdapterUtilities.resources.dll | Bin 0 -> 14208 bytes .../.signature.p7s | Bin 0 -> 18702 bytes .../MSTest.TestFramework.2.2.10/Icon.png | Bin 0 -> 7006 bytes .../MSTest.TestFramework.2.2.10.nupkg | Bin 0 -> 1337686 bytes .../build/net5.0/MSTest.TestFramework.targets | 17 + ....TestPlatform.TestFramework.Extensions.XML | 162 + ....TestPlatform.TestFramework.Extensions.dll | Bin 0 -> 18336 bytes ....TestPlatform.TestFramework.Extensions.xml | 93 + ....TestPlatform.TestFramework.Extensions.xml | 93 + ....TestPlatform.TestFramework.Extensions.xml | 93 + ....TestPlatform.TestFramework.Extensions.xml | 93 + ....TestPlatform.TestFramework.Extensions.xml | 93 + ....TestPlatform.TestFramework.Extensions.xml | 93 + ....TestPlatform.TestFramework.Extensions.xml | 93 + ....TestPlatform.TestFramework.Extensions.xml | 93 + ....TestPlatform.TestFramework.Extensions.xml | 93 + ....TestPlatform.TestFramework.Extensions.xml | 93 + ....TestPlatform.TestFramework.Extensions.xml | 93 + ....TestPlatform.TestFramework.Extensions.XML | 206 + ....TestPlatform.TestFramework.Extensions.dll | Bin 0 -> 23456 bytes ....TestPlatform.TestFramework.Extensions.xml | 93 + ....TestPlatform.TestFramework.Extensions.xml | 93 + ....TestPlatform.TestFramework.Extensions.XML | 1125 ++++ ....TestPlatform.TestFramework.Extensions.dll | Bin 0 -> 34728 bytes ...isualStudio.TestPlatform.TestFramework.XML | 5318 +++++++++++++++++ ...isualStudio.TestPlatform.TestFramework.dll | Bin 0 -> 74128 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 +++++++++++++ ...isualStudio.TestPlatform.TestFramework.XML | 5318 +++++++++++++++++ ...isualStudio.TestPlatform.TestFramework.dll | Bin 0 -> 74128 bytes ...isualStudio.TestPlatform.TestFramework.xml | 4197 +++++++++++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 +++++++++++++ ...isualStudio.TestPlatform.TestFramework.xml | 4199 +++++++++++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 +++++++++++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 +++++++++++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 +++++++++++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 +++++++++++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 +++++++++++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 +++++++++++++ ...isualStudio.TestPlatform.TestFramework.xml | 4202 +++++++++++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 +++++++++++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 +++++++++++++ ...isualStudio.TestPlatform.TestFramework.xml | 4201 +++++++++++++ ....TestPlatform.TestFramework.Extensions.XML | 162 + ....TestPlatform.TestFramework.Extensions.dll | Bin 0 -> 18336 bytes ...isualStudio.TestPlatform.TestFramework.XML | 5318 +++++++++++++++++ ...isualStudio.TestPlatform.TestFramework.dll | Bin 0 -> 74128 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 | 149 + ....TestPlatform.TestFramework.Extensions.dll | Bin 0 -> 20384 bytes ...isualStudio.TestPlatform.TestFramework.XML | 5318 +++++++++++++++++ ...isualStudio.TestPlatform.TestFramework.dll | Bin 0 -> 74128 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 +++++++++++++ szoftvertesztelés | 84 + 362 files changed, 267082 insertions(+) create mode 100644 20250213/ConsoleApp1/.vs/ConsoleApp1/FileContentIndex/8b387c4f-e248-4bd0-8df9-cdf3956ed44c.vsidx create mode 100644 20250213/ConsoleApp1/.vs/ConsoleApp1/FileContentIndex/d3fe5f10-4f1b-46af-82ba-0c9221ae6c4e.vsidx create mode 100644 20250213/ConsoleApp1/.vs/ConsoleApp1/FileContentIndex/f231afa8-b0d0-479e-9f5d-30f590674c1c.vsidx create mode 100644 20250213/ConsoleApp1/.vs/ConsoleApp1/v17/.suo create mode 100644 20250213/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.backup.json create mode 100644 20250213/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.json create mode 100644 20250213/ConsoleApp1/.vs/ConsoleApp1/v17/TestStore/0/000.testlog create mode 100644 20250213/ConsoleApp1/.vs/ConsoleApp1/v17/TestStore/0/testlog.manifest create mode 100644 20250213/ConsoleApp1/ConsoleApp1.sln create mode 100644 20250213/ConsoleApp1/ConsoleApp1/App.config create mode 100644 20250213/ConsoleApp1/ConsoleApp1/ConsoleApp1.csproj create mode 100644 20250213/ConsoleApp1/ConsoleApp1/Program.cs create mode 100644 20250213/ConsoleApp1/ConsoleApp1/Properties/AssemblyInfo.cs create mode 100644 20250213/ConsoleApp1/ConsoleApp1/Szamol.cs create mode 100644 20250213/ConsoleApp1/ConsoleApp1/bin/Debug/ConsoleApp1.exe create mode 100644 20250213/ConsoleApp1/ConsoleApp1/bin/Debug/ConsoleApp1.exe.config create mode 100644 20250213/ConsoleApp1/ConsoleApp1/bin/Debug/ConsoleApp1.pdb create mode 100644 20250213/ConsoleApp1/ConsoleApp1/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs create mode 100644 20250213/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.AssemblyReference.cache create mode 100644 20250213/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.CoreCompileInputs.cache create mode 100644 20250213/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.FileListAbsolute.txt create mode 100644 20250213/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.exe create mode 100644 20250213/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.pdb create mode 100644 20250213/ConsoleApp1/ConsoleApp1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/ConsoleApp1Tests.csproj create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/Properties/AssemblyInfo.cs create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/SzamolTests.cs create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/ConsoleApp1.exe create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/ConsoleApp1.exe.config create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/ConsoleApp1.pdb create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/ConsoleApp1Tests.dll create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/ConsoleApp1Tests.pdb create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.TestPlatform.AdapterUtilities.dll create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.dll create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/obj/Debug/ConsoleA.EE220C3A.Up2Date create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/obj/Debug/ConsoleApp1Tests.csproj.AssemblyReference.cache create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/obj/Debug/ConsoleApp1Tests.csproj.CoreCompileInputs.cache create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/obj/Debug/ConsoleApp1Tests.csproj.FileListAbsolute.txt create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/obj/Debug/ConsoleApp1Tests.dll create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/obj/Debug/ConsoleApp1Tests.pdb create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 20250213/ConsoleApp1/ConsoleApp1Tests/packages.config create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/.signature.p7s create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/Icon.png create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/MSTest.TestAdapter.2.2.10.nupkg create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/Microsoft.TestPlatform.AdapterUtilities.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/Microsoft.VisualStudio.TestPlatform.TestFramework.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/cs/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/cs/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/de/Microsoft.TestPlatform.CoreUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/de/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/de/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/es/Microsoft.TestPlatform.CoreUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/es/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/es/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/fr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/fr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/it/Microsoft.TestPlatform.CoreUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ja/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ja/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ko/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ko/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pl/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pl/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pt-BR/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pt-BR/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/MSTest.TestAdapter.props create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/MSTest.TestAdapter.targets create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/Microsoft.TestPlatform.AdapterUtilities.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/MSTest.TestAdapter.props create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/MSTest.TestAdapter.targets create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/Microsoft.TestPlatform.AdapterUtilities.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/MSTest.TestAdapter.props create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/MSTest.TestAdapter.targets create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/Microsoft.TestPlatform.AdapterUtilities.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/winui/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/MSTest.TestAdapter.props create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/Microsoft.TestPlatform.AdapterUtilities.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/MSTest.TestAdapter.props create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/Microsoft.TestPlatform.AdapterUtilities.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/MSTest.TestAdapter.props create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/MSTest.TestAdapter.targets create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/Microsoft.TestPlatform.AdapterUtilities.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/.signature.p7s create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/Icon.png create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/MSTest.TestFramework.2.2.10.nupkg create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/MSTest.TestFramework.targets create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/winui/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/winui/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.XML create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml create mode 100644 20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml diff --git a/20250213/ConsoleApp1/.vs/ConsoleApp1/FileContentIndex/8b387c4f-e248-4bd0-8df9-cdf3956ed44c.vsidx b/20250213/ConsoleApp1/.vs/ConsoleApp1/FileContentIndex/8b387c4f-e248-4bd0-8df9-cdf3956ed44c.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..1e1bc892db62ac6579883022a19b7723e0a0f4fc GIT binary patch literal 9353 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 OviWc3kjTo;k^cg)75Z}k literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/.vs/ConsoleApp1/FileContentIndex/f231afa8-b0d0-479e-9f5d-30f590674c1c.vsidx b/20250213/ConsoleApp1/.vs/ConsoleApp1/FileContentIndex/f231afa8-b0d0-479e-9f5d-30f590674c1c.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..e59121ee56f598602c3f0492001b99998b7112b0 GIT binary patch literal 1779 zcmY+E=~5F>5QQ7}U2#|3aRJ3hg18VDl1U7aWC)o-0jJ7}7R3*NPzmJ^s(b_=z_;)@ z{Nn@o3i=M7)AwMNcP8iS>D#w&-=3*NmD=C|v!DCS$NK<#2S!ubLVu;#&-&Y)58d@n zZ>zhJRaW|+wz`{HG@P}1-PO)quagzV3zOr8{6rRYH~QVRmD1*B{y#g}?yPs$av%HO ztE)f$eEBsnG!XXL?bu_s%WoJb%uo(=+AKVtHp7iatbt+*#$H#ff(MGo5F8f5b7dzW z#QaN(N7&G-JF9{xB!`X6NCg8ojPpBTA@jd5Jcck75Nas90UH@G8+JhwY!udF3O4RD z?tu|biWmfhRl&)a-*9sv#s_xh!TrZ6+H4<*N}R~yzY{Eb4E~R znFFaYG)10@SHZj^o;TJ$%-4d=s46n&T#HafRIQD*RqVo;)E1zNV9o30Nn%vp2J6UB zgvOYo&bxAF)-a0Uvt_{}|nzu1%!A4z+P*%h)G_a2SV6AN^ z>*C%;XySH)D8^M?8&J-$a}l(K+%24{>}M#srchSJ^))DKW0wt&~+>9!EmeiPq-)$KDC*;2t$L9e1#!n36DZT#*aDBj0<%kS zu>cHUmt2vwCHY5|PWNLuvVC@JpJbh_lM|nn#6H<~&RwOFI;ZL?x;S-Lsd943rIJ(1 zNtJVzs??>fV&?n0r-8v>1{h$M z<9;3Bod7=Df%{zm@{0EuVGO?&{u_+{H{oT07n2bfLXv% zz%jsazzM)d03QWB4oCw|0)7>63h)FV1DFG30XYEaZ62@yI1R`H&Hxqx1;7%Z2q*!{ zfR6!4BUL~RunbrMoCUBau{S>nI1ji0xCr<-;1htS0R8?i`OjAE|EixUKA`$M`@ed| zzOVdzejEPp1iS(w>TvAn#qBcWj{&^Q9NeUFFCvk@&^?U2i-3wDZ5GHT%Apztqr5Z8n zA4YO+>rZ-=xl?|aMXn``?N!JV8RWZ&D_bNfFp`1fp|_FAKZN|FNbLPx zdQ!EdBLDh(X#W^q<#4?Z#kU@sz1>EvEPgdIktZt~BFv3COH%OHP_*qp<6 zum3TRKU0_iAJqn1>N^N6Kpy;TfXU%^KrC1VuVHG+wYD9DRch<2N z4)s9)A3|AYjY?Vbmw9sLAvM8q$b4lnGoXG}h8nMm8|6RhJ8l8Et^cneu9Ck}&_GUV z0WE@SLJMj>EsTFbw1W@VAmqX@bcISvZPiNeL;i~QxXphb@_+qb-~!i9|9lMjN3|HP z&hB31&$-+%z-|8j7;*o~NYYLIq%9|h{JZ9VZy>S%U?k`!|AEp`Mb565`g81|PKnN%KlQMjdv}`m$+rdn9k>a9IG=S( zf0S30{9%_rtv=*CoPTvH5Bq<&`1iHRpHhe9zm&45m(UU0+4VC1P*zj(-&xeqhgL|! z3KD}f5d}oRfyk34a2>@xD)>+c*Er&h;y#QxoJG@?BI|z_{BH5jyp7?nuIDlHdO!GG z0W`RZtJJqBO+>3M1o-c||Gx|Qrv`9=Q+lT6{Er9;m%5>vkhy4=tJWn#b1BApXn$rs zwoPR3kpC=dKj%XGLAks8`ZH(t89I)|Yzr2LW72j2_4w}uu#ZsBe;wd@z%IZI0KP+g z1Jj^hpJU&x0EV{%_EGAoJ^;8AFbLQU*aO%LAPwCOU>YAZ?kc_eEdLoEKp4j+702#A zisu~ftonZyH;!i$fCL~3H~>fi9tJ!DV7w3G{wUxeUsiwxZi!W zs#m5frTKh8zdN1OtBbW#Ii1*>M%Y5;a3zxt1wzAtP%xZMl#10-L64WqL9>5Wuhy#R zqs4rUzMwx_y>LEYI3Mqpi+XnPLSQIxA(bgq^{3XQAfm{X%u*L62!@7&qp}Rox+{a3 z?@gioiU2ti@Ph)D(TbFLm(U-iez*+kXDh3DvEu)GkR3?h)%^cGh)Z5V=QjUYl!BDV z8E{$9mV6)bui#bW1#a`FzEtJ!M*a)StZc88f5|hcQ+J#HB;x*0BQ>-Be-`*=?V9ZX ze()vE{Ov6P5#&#Nl4rZk|F;;|$bYl&P65{e5I!d}# z!$>qPM!W*#q$*mXiuz}fKka;+6(ukO3gZ`tR5XffOw5mrSH+Fp>D#&W{l5ff@$KU(lWpXTo`I(ddAw1Z@K?CkExZfGf>bd^K%43f~7uLxs`G@lf zxA{MaxDZ=~OMvHd1gv7!FxMEJZ7GEj(cz}npL0BMo4=X=Q^&>mJy*X_{-gDg)?Hdx zMFQ&1EpbCni#GVFF6Gq#ql&YygDI%P0 zO<9-!%R-a37gyN>7VyUU&Baxk0XF}UhE(D;Jt$e{>%&QrvXd?^Lon)Ob`>mq+2{(K1F zmj2(1xa8M#?eae+T9j*1*_vvG!Z&hg!_#O>O~d+=fgtXR2QbY}j`LO3|J&t%TyUWx z=t8bLBp$2|{lA{K+xq_!5+M(!Q+S}??fZ;dcVy&zQ8Dyg9NF}#e6~`mmgZ~zWBKZG zrZ7`m&gDyfcB|w0Vy<*{Xz-X`spd3szFezh3PXd_%X5W% z_ECLxwzQ}h$L9j!`QiE4d@z_B4rIcaT^#hv9kcQuDAx4Kd?u?`*CW^Mtm#;iotnsG7ZEX)*9*D5 zV|Y`rq65Y03{XyTnOy54?TQVZQ$>K`BQYtR##ai{w zvDr*zL9b00GPU_qWyzY)&{U~fJECV1x3CH&dyc7#>fDD0)z2NCKbWc3CJQ=K8+VR8 zwp3Y8l$Mq<#oVlZu68hAty!}IdbYhoyLMn;;KrHNYE57A&(tcw$>S&EozXsduBI2O z`MG={Ut9H0p3}1eHL6-9nH`4kwUaX7_P+=5u0356#XDCrg=PKJDQyRHQ4-!xs%CFC z#7*sH{^R2twq4IrKnOxtss9K{9_@@$6D0$Us|7R}$(R+ql2mc6YBy~s5qL8%6k~3< zj>^X#-GJg-J-(mQ=QChir)o>(WGoT(*JwR5`k$L5$$#rbxLwXbtTwj+&Edh1B>%3z zPeFv@b0uGj$_QfUIwlFkPs8fP@1MiutVWF3mg#RPyO8h%#Q&m-sHWLPsIB9AO7*! zgXfkCgDb{xvM1;d>>1RH*-{QHV|>qYZQeJs=fVAB*-~*nzpz}%kW=m-Ga70CSTVDt z?@z(brk^cU7GWk_0T-YIzr zM||_SU^Frp%Ie{f*nsxqf#kjbe&FKMs6 z^2&dFefEh+(AB;Ww zxu<{nH_!dcpWpY&+qb3v=EwVv{M~)O|CzrZee;k0%Nh2T7GBq?ZDXuv_rncXf3>EO zx+pUy8sTz%))x+k{_<&5=NZ5!0iObFRQt~@D4Uf!`~TODfeuPn(d*lD0LSHUq41Eg z7HxwmfcyI2hW@uN|84E{pMCvrw_4}E{ryTuU!`WC5XSJui{z06?Ix&*~r6$_P zJeo)dZKg`weBX{g^T2BXKhAxUu)0jZTJtb=h|XdsXB^ZrDPEveAqXoAPh)t%@P**x zPRW3=GW60VuH}%mUc$ZBF#98%Hh)@a!osIxrN534>9|sn_MnYOo2oS%ZDF0K znA{JZM?UvygLux>v)rA%BH}0;***jB4^JFCz{LS}>)}Xoe11p$IagV6=ZQS)FAZ9d z)XQ^FxI;v(NtK*Nz0V~GW-V*;({Vht!)LGdK7UK8;wUlC%gdvb+%dy7hK({LCl4NA zEzh7FlGd7WVLs<*5UXO(i8BCx1)5`?f+*XKE5msX!Js8?g{LXxoka<_TD*jJYIwWV zj+sWOoNS!wCYxp&YYnX_ayKgX262~C87bvN4`%OMfR7mF?iscT9c$d+m7Af)OTb+g z^{Aj0Y)LmYBsbYSZORjcxUYui`>-`xSKU=TxtD#j)>G}>ZS3OZiu+o9-&YYhk#>Fd z+RjwHncKX9i_Z0YViUJ{=i22raqSKX`t{><430bQcyUA0*$lk6nNytrzv7A(Z?~$d zC0Dr@ajHnC`ckei14mr$ftGxla$)0CLyl|Q&BHxijK}i|WIXe(iT3a8wSC8Fr$zg; zxL>R_f2Xu41)Fzmv`^c=rnD0{2ZwS}JM6{QAqUk98+%UL=lRfO$+Pv$nf9gNq^|dN zlelfId21=`^$VTa<-}DkU2mn%ZqQQ8cCyaMoauwSNX^K+IoBa~?KCeU2Gkq~Ug6xl zXP$$b)8M?mQ=V$1Q17|P&rKZ8+vQ5v05~E~#SB9WgHsrg5j8L&tb$bw#d&__i0R*G z(=*13iZ>eZo8KQsYQsoBf*hEOjAu??g{gZCnj@al8OM7uaHR-*lL#9{SO9)%KqgTp zhQ|>i_t~WoBOr86qv9$5N5z{7#7zNWxK1EW7``Ze3}?9#NSQyL&P9z?2%$WmFNQFA zDqj*M;fWPIMU?0H$#BNw`F$)8%g%EwSUaBf$7c!TH;Oz0xUwcGgzzj@rW{FYF=xf;Y4zR-Q-3$5RQcS`{Zg$J1l1ajksK zERtJa4a_~zM`ilIgmM5sIG*iP-rQ$y_2x3;cx z+RjfdcS~}PAzZc|2yXv6N?f6e>p`u5*uJ=EIu8TK@o2JP`oBzazmJR7cW|Lxm<`}SX2X4wbr z?9*$tcstEL+F7{0G!tl7&#fj0x5LF|ZgVBWD+#z=J)eM#Ep`1$V=vEt+L-HAnrAKE zwiF%$53E5p?c0B?D~>j^Rljfl?c0ByE%p!9xv|+|?-pb3XDZJ2J!(D=UZGMr&5PQX zu5bTstR`@8Q+L93-~MY|>*~g4YNrEr^PZEYvv2=ZHW+31RrkLAw{QR5OfwWG{X*aV z3!y@MJ;Vt^il^GydhNn4w^eX6YXCUfn^*li+g26U**eNO$95XO`u5)|w`ZqW2hz~> zD4(Iyx7VsDx>eNK%6(J}JIZs8?L<|r zyh^37N}%#_PTTp()@WV5!?w0tp7NQz5gNXh~gJ6f4pBbi`I9fR%1Ao5vf9ChY2&u$rdnH16)sfgd*<+<}Y&`=dR zG@f7WhVwkLWpG8=tQV>F(_02Zv!EODXesB&^W`Z6R$Nh1*<*Mj=anD*anp~yB;z$! z;Ym(R{cq6~4Sd`~G>{aM%7Pe=IV+?r$FW%U4t{@tnozSgzug@1$t{4H#@934^q5a= z0gR+THJnE_f6u=0RgKQF%;wfKHR~3fdX&_f@OvBl`iL9a@zPw<2`jX9NL$OS!E4-o zJK}{c(64Cup=Rp1km;n1(!dheJCS3nS-2aD+6w%67UMW28h3r{sVzZAaunBLSu6>? z9=VVkdO7bY><|lQ(QEi!sowSf=RAcI&Y`*XLF(|1fI2wO<_yvug?Op|JPfX(zBonA zT|+xXd6@b<@>*##amQU&JVYz)u+v$>dwPptqSrM6UXt|=Xorm%B=wuz7fgv)>UsUz zN8u~u+;%xs#kOU z&a*o&={*`aA&s0BQrBXAHdhhjZ8x~_lGLSeL%B=p-#gQWmw0HS{=Kcw@*)pC0$%zt zF{03p=}yA%A|7~xo?LIwy(p`$ByKOQ#8Q2O)=BQVB=>Yj4NrMcvN(?V&*3W!oPBXG zQ$?)BvhLJyGb{6w?n}{##Ez9x5|Bmt4Ij6ARlGQ|*kh*iDC;Foa#(!fOzvnh?>Oj; z1uyMx0TE1(#i&V985w6=NRjTdwOX_d?#!i&<>jRbD7sYbnZD`TH)FW zPt=4gz{bMaonH65p(Zbl#ZFl2?KA}MW2RTzrI)nJq#5dmxT{#Mf%XfXk&4(mV0S;n-yQ3YwsofytVedu1oaRoS=Di^CN=4k}lk?1Mrf*$x0zybtdyv%}5s@T)u zPW$IAF5B8q%-HB7Rz?qxg<8`iL#?dr%c|6_24PLy@RpbeM?p6hQX>Y?Z zp-bW}^x3+uzzs!siE}918l^L}ezx0{kzShFD14m2S8KV0P_C44yBEw$yrO}LC2-1K zu;C?*S~E7J-lVZ&ggQt!oWo0Vmj*^Cebq3Naf1Ob=@jiS&^_NsP98j927V!!Uo4hq z0r|m~IX9H2kI@EM6!xJ7@g?E+)Z>}I;M@M4y|(XE#Tm78NS|w+Xoq4>X|!p({O{{3 zEq?8Q^B1OF?wGcJO=%~zy&ZFitwRpflXCq*2IrJ=4MHc3J#<;}48ejJ5_ZH8zM38G zSc-#Js1)+cAKZt+bHhA+RQTAtn~EzYc2yIPSy z4WL%!P2Txx_%6{-@{4iJ6k6PnEtp0>n$ympr5fLjY5j^i&ljHnHyFX4z}-4W!EZx& zi{muEr>u!@(F>2oufo)wt?mS*hW^*p*XQf%A>erm<9t?(C*+v(Xsh-9mOERLPTlFh zGC9ACSs6~z6aOl|4}QOP2zG&4d`+2WjPhG9@?5wf%h!O$p&yPQ_OLc2zPwCa$(?KC zmj4_RN3T!~uM8fq2cBf@1HeES<9-+;{-_oQA_GDSh=@D=0bpsw^ludZWw^RV@t?9o z;}p5gK%6jqQT!OrawYHvf0TMA1=kDXI*C}oh{!jIk|Yr? zffz{X+*gLQ>T^OMWn(odlD zo3*7Idn3*GSJXmA``ebIV#9SKdvb&#`{rnIA`23#Z`C_hgc1Ew&^2LSf zo_*&pUUXX&*3j<#ayq+LATCp?WYVEPXgClGhSO%W3P0bsYnQczb(1FJTHRJ^f9jZN zOhr6IzP;Lng|Z8kV(1sRv|mNeN?IHJk6l?*Am7xAt%3&~Gi(Qs)WPNRx44YG_KD|FPT&?8on z(^nT++xx8VAwBV?{aZ>9ZalSnpJ~`SKlFS&M|>G}?hDZO6|u{HP)mRx9ED^#5A7uF zO8j2j1ZF!qq%p2-6Dd7_*qU}8x-)7isXrWsE^$=z2_0h`S~VX)>T7+7OC4_lVT?r` zWei%yINqc-GJxwvYIzrM||_SU^Frp%Ie{f*f#A?U3TkUL;-sS)nWW4@0ddC7X;S0+f=R);r>cFCY(Wx zMw>@EVkCl==B{V9Ic*fg7pWs&@SlD%`1LQ}we!u7{NL1z zXFl<_|Ne#V{qVCd{LH^&`HO$~CmfcwOBTm4tLwJ4o%^6WZqu$Wc3YOUaU0na)|30W z=?Rh}tzWLj6bEyOrBcCmhGP=8O!CQ>*Oieu%O{uvbzQcfss(I$s6T6k@u8C}9y@bCD#DC{9 zRjyqVtfjo|CckDu_KJ;oE++N%B=1%vcUO~k_-?ClurC}$QC-$bNq1VeCHmj#h>b90qAl;n& zou;@VOUv`Coc&Nn55+Rkxqwd(N1$sAjg0t4qq%wCu%4L@k4AJo93Axs0)bd~gzNU3 z-21d^pvMq0pb^f+=rqvKCHvgPRx#U-uDcgvc1m(1AZZzJ>yX0;9k zD#=k^IrqQK2uSv24tvug^RfA0FgF~?gfrV&jB$tDIn3H;?VnjLrSb(m znW<%%!tOD~RR%3S*}r(|)C9^216L}q7jgrv=5^O=C*C6G(1hB#7yRD^Z5Q{OFB*HR zc!I+q)-+QIOI-`EbggUodHO|A+m2^{1RYtg?Z0;GO=lg_jMzW6BoyWi-M-W#X&Nn< iZ*K4!IBCIT|9gD{mcG%aX~tMGw06?Q^V&L=_x}S&Am$+e literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.backup.json b/20250213/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.backup.json new file mode 100644 index 0000000..fd397f8 --- /dev/null +++ b/20250213/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.backup.json @@ -0,0 +1,71 @@ +{ + "Version": 1, + "WorkspaceRootPath": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20250213\\ConsoleApp1\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{95CFD2CC-8295-4B50-A48C-6DFF5C92816C}|ConsoleApp1\\ConsoleApp1.csproj|c:\\users\\szabomarton\\desktop\\c#\\progaora\\20250213\\consoleapp1\\consoleapp1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{95CFD2CC-8295-4B50-A48C-6DFF5C92816C}|ConsoleApp1\\ConsoleApp1.csproj|solutionrelative:consoleapp1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{95CFD2CC-8295-4B50-A48C-6DFF5C92816C}|ConsoleApp1\\ConsoleApp1.csproj|c:\\users\\szabomarton\\desktop\\c#\\progaora\\20250213\\consoleapp1\\consoleapp1\\szamol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{95CFD2CC-8295-4B50-A48C-6DFF5C92816C}|ConsoleApp1\\ConsoleApp1.csproj|solutionrelative:consoleapp1\\szamol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{5526D589-8AA4-4E79-AB0C-58EA73A21201}|ConsoleApp1Tests\\ConsoleApp1Tests.csproj|c:\\users\\szabomarton\\desktop\\c#\\progaora\\20250213\\consoleapp1\\consoleapp1tests\\szamoltests.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{5526D589-8AA4-4E79-AB0C-58EA73A21201}|ConsoleApp1Tests\\ConsoleApp1Tests.csproj|solutionrelative:consoleapp1tests\\szamoltests.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 200, + "SelectedChildIndex": 2, + "Children": [ + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "SzamolTests.cs", + "DocumentMoniker": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20250213\\ConsoleApp1\\ConsoleApp1Tests\\SzamolTests.cs", + "RelativeDocumentMoniker": "ConsoleApp1Tests\\SzamolTests.cs", + "ToolTip": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20250213\\ConsoleApp1\\ConsoleApp1Tests\\SzamolTests.cs", + "RelativeToolTip": "ConsoleApp1Tests\\SzamolTests.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABYAAABBAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-13T08:08:26.492Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "Szamol.cs", + "DocumentMoniker": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20250213\\ConsoleApp1\\ConsoleApp1\\Szamol.cs", + "RelativeDocumentMoniker": "ConsoleApp1\\Szamol.cs", + "ToolTip": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20250213\\ConsoleApp1\\ConsoleApp1\\Szamol.cs", + "RelativeToolTip": "ConsoleApp1\\Szamol.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAVAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-13T08:02:58.692Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "Program.cs", + "DocumentMoniker": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20250213\\ConsoleApp1\\ConsoleApp1\\Program.cs", + "RelativeDocumentMoniker": "ConsoleApp1\\Program.cs", + "ToolTip": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20250213\\ConsoleApp1\\ConsoleApp1\\Program.cs", + "RelativeToolTip": "ConsoleApp1\\Program.cs", + "ViewState": "AgIAAAMAAAAAAAAAAAAIwAwAAAATAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-13T08:00:24.169Z", + "EditorCaption": "" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/20250213/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.json b/20250213/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.json new file mode 100644 index 0000000..d482412 --- /dev/null +++ b/20250213/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.json @@ -0,0 +1,71 @@ +{ + "Version": 1, + "WorkspaceRootPath": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20250213\\ConsoleApp1\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{95CFD2CC-8295-4B50-A48C-6DFF5C92816C}|ConsoleApp1\\ConsoleApp1.csproj|c:\\users\\szabomarton\\desktop\\c#\\progaora\\20250213\\consoleapp1\\consoleapp1\\szamol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{95CFD2CC-8295-4B50-A48C-6DFF5C92816C}|ConsoleApp1\\ConsoleApp1.csproj|solutionrelative:consoleapp1\\szamol.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{5526D589-8AA4-4E79-AB0C-58EA73A21201}|ConsoleApp1Tests\\ConsoleApp1Tests.csproj|c:\\users\\szabomarton\\desktop\\c#\\progaora\\20250213\\consoleapp1\\consoleapp1tests\\szamoltests.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{5526D589-8AA4-4E79-AB0C-58EA73A21201}|ConsoleApp1Tests\\ConsoleApp1Tests.csproj|solutionrelative:consoleapp1tests\\szamoltests.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{95CFD2CC-8295-4B50-A48C-6DFF5C92816C}|ConsoleApp1\\ConsoleApp1.csproj|c:\\users\\szabomarton\\desktop\\c#\\progaora\\20250213\\consoleapp1\\consoleapp1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{95CFD2CC-8295-4B50-A48C-6DFF5C92816C}|ConsoleApp1\\ConsoleApp1.csproj|solutionrelative:consoleapp1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 200, + "SelectedChildIndex": 1, + "Children": [ + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "SzamolTests.cs", + "DocumentMoniker": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20250213\\ConsoleApp1\\ConsoleApp1Tests\\SzamolTests.cs", + "RelativeDocumentMoniker": "ConsoleApp1Tests\\SzamolTests.cs", + "ToolTip": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20250213\\ConsoleApp1\\ConsoleApp1Tests\\SzamolTests.cs", + "RelativeToolTip": "ConsoleApp1Tests\\SzamolTests.cs", + "ViewState": "AgIAAAYAAAAAAAAAAAAAABcAAAAJAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-13T08:08:26.492Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "Szamol.cs", + "DocumentMoniker": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20250213\\ConsoleApp1\\ConsoleApp1\\Szamol.cs", + "RelativeDocumentMoniker": "ConsoleApp1\\Szamol.cs", + "ToolTip": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20250213\\ConsoleApp1\\ConsoleApp1\\Szamol.cs", + "RelativeToolTip": "ConsoleApp1\\Szamol.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAVAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-13T08:02:58.692Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "Program.cs", + "DocumentMoniker": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20250213\\ConsoleApp1\\ConsoleApp1\\Program.cs", + "RelativeDocumentMoniker": "ConsoleApp1\\Program.cs", + "ToolTip": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20250213\\ConsoleApp1\\ConsoleApp1\\Program.cs", + "RelativeToolTip": "ConsoleApp1\\Program.cs", + "ViewState": "AgIAAAMAAAAAAAAAAAAIwAwAAAATAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-02-13T08:00:24.169Z", + "EditorCaption": "" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/20250213/ConsoleApp1/.vs/ConsoleApp1/v17/TestStore/0/000.testlog b/20250213/ConsoleApp1/.vs/ConsoleApp1/v17/TestStore/0/000.testlog new file mode 100644 index 0000000000000000000000000000000000000000..edcd3998c70afdd43c217b76dd5e1706dc9aae35 GIT binary patch literal 3758 zcmeH}U2GIZ9Ki2dYlH{CFww+BO0L8hI@kT)Jq#h`Xs}XjrIm=iqn(|d#VvQcb$0i( z=nM8iqr@~S8WWB6!73J!`Vl2WB~?=&^o+-YuA&bxN~%rj}Oo}H{O2`W}Qs&z0)v; zyoa5kQOC7BD~E?{KdWQn4iW76#2!KpAsBf>uAdDytw8vN=(mwb`SVV*ugHn}-< zpG(!J+=EbevXFR=o!XAw1D-RQO2$%s#Muvf2}}u`AaepQrmD7I{T}WKibvL2DV!+a&nkp67P09-7yWEcTKM}Onr&CS{OD&m!u6qy6VwM0)OC2rC*XBg@?V31$T$R?16&<9n zaE(>d0=cvA$721CPY^B_j}eRIN6z2-+f2j0rmNO2zU%yMbKi|2%+CFC=lTbtHEfM8 zkFBpZ2W=wcH9<2~028_d6crmlhoS%kS(TAy>Waea0lH!yx;%j5l*iLm&L}*-apNpA zt~umIz~&ctO@YTi(d&DozDL)1(4wVY_ANy?|Jj*qe(JeyYx>bcm9#iS!_ea(nCY@} z7IEw>w!K*Fn+3u5_P7i}r9JHSZK^X|oSIUfKi^#A-4&f&5`v;GY4p6J{sak5(SRZe z)XAoy@(D>XWnN^_!Um5Z4@8lJfRiNyh`Nb@$cglLGZjr#_0SdhHC=1}43j5JfVx8? z+;Mnt6kdArYpL*KbJypgFDJ$uY0640-?r1DizN`rZXFE2jdfqFpvR_%@5tXw=J)0w+IHLN3Q;e8zwgvZS_M_N z)fEucKoHBO27#gpB0z!(K>}hOC>U|FDw+zCxw`T!qwcD_^vd-g6#3O_Kk;(K=tcO& z1PgEa-<=DkcfK}p!=_qbQOqw~r|WLnVRvEfY-IhKppEBrK7kRvWkXp4JjNoB3_Sq^ z(-aidfT|#JD*#q#X@y$M(ra1M#F}WuzRAgnFaX7dMeYn0V9#1c^Q+GfA4bKO!>=D% zo;~?>cklakd7`u9Gu;gNyRl1eWp2{(Z7;loHjEbD`gGUU%C~%3Ypwj`cx8PfKP}(VCip{JKB( d{$6KJKKIm|`Jc0+SoGymkA!J>(}np9e*>fSCDZ@_ literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/.vs/ConsoleApp1/v17/TestStore/0/testlog.manifest b/20250213/ConsoleApp1/.vs/ConsoleApp1/v17/TestStore/0/testlog.manifest new file mode 100644 index 0000000000000000000000000000000000000000..e92ede29d76aefe079835aeae278da5341f6e15c GIT binary patch literal 24 WcmXR;&-W=QP7PsZKmZO+yIuf90t7Vx literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/ConsoleApp1.sln b/20250213/ConsoleApp1/ConsoleApp1.sln new file mode 100644 index 0000000..3f9e291 --- /dev/null +++ b/20250213/ConsoleApp1/ConsoleApp1.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35222.181 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleApp1", "ConsoleApp1\ConsoleApp1.csproj", "{95CFD2CC-8295-4B50-A48C-6DFF5C92816C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleApp1Tests", "ConsoleApp1Tests\ConsoleApp1Tests.csproj", "{5526D589-8AA4-4E79-AB0C-58EA73A21201}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {95CFD2CC-8295-4B50-A48C-6DFF5C92816C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {95CFD2CC-8295-4B50-A48C-6DFF5C92816C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {95CFD2CC-8295-4B50-A48C-6DFF5C92816C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {95CFD2CC-8295-4B50-A48C-6DFF5C92816C}.Release|Any CPU.Build.0 = Release|Any CPU + {5526D589-8AA4-4E79-AB0C-58EA73A21201}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5526D589-8AA4-4E79-AB0C-58EA73A21201}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5526D589-8AA4-4E79-AB0C-58EA73A21201}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5526D589-8AA4-4E79-AB0C-58EA73A21201}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {420E35A4-3C56-4E8F-BA16-695578D53A4C} + EndGlobalSection +EndGlobal diff --git a/20250213/ConsoleApp1/ConsoleApp1/App.config b/20250213/ConsoleApp1/ConsoleApp1/App.config new file mode 100644 index 0000000..56efbc7 --- /dev/null +++ b/20250213/ConsoleApp1/ConsoleApp1/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/20250213/ConsoleApp1/ConsoleApp1/ConsoleApp1.csproj b/20250213/ConsoleApp1/ConsoleApp1/ConsoleApp1.csproj new file mode 100644 index 0000000..cb5dd59 --- /dev/null +++ b/20250213/ConsoleApp1/ConsoleApp1/ConsoleApp1.csproj @@ -0,0 +1,54 @@ + + + + + Debug + AnyCPU + {95CFD2CC-8295-4B50-A48C-6DFF5C92816C} + Exe + ConsoleApp1 + ConsoleApp1 + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/20250213/ConsoleApp1/ConsoleApp1/Program.cs b/20250213/ConsoleApp1/ConsoleApp1/Program.cs new file mode 100644 index 0000000..36de823 --- /dev/null +++ b/20250213/ConsoleApp1/ConsoleApp1/Program.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ConsoleApp1 +{ + internal class Program + { + static void Main(string[] args) + { + var szamol = new Szamol(); + + Console.WriteLine(szamol.Add(1,2)); + } + } +} diff --git a/20250213/ConsoleApp1/ConsoleApp1/Properties/AssemblyInfo.cs b/20250213/ConsoleApp1/ConsoleApp1/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..a8403db --- /dev/null +++ b/20250213/ConsoleApp1/ConsoleApp1/Properties/AssemblyInfo.cs @@ -0,0 +1,33 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("ConsoleApp1")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ConsoleApp1")] +[assembly: AssemblyCopyright("Copyright © 2025")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("95cfd2cc-8295-4b50-a48c-6dff5c92816c")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/20250213/ConsoleApp1/ConsoleApp1/Szamol.cs b/20250213/ConsoleApp1/ConsoleApp1/Szamol.cs new file mode 100644 index 0000000..6fcd052 --- /dev/null +++ b/20250213/ConsoleApp1/ConsoleApp1/Szamol.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ConsoleApp1 +{ + public class Szamol + { + public int Add(int szam1, int szam2) + { + return szam1 + szam2; + } + } +} diff --git a/20250213/ConsoleApp1/ConsoleApp1/bin/Debug/ConsoleApp1.exe b/20250213/ConsoleApp1/ConsoleApp1/bin/Debug/ConsoleApp1.exe new file mode 100644 index 0000000000000000000000000000000000000000..8615142b48fc5526b6207f36dc61562b1956db50 GIT binary patch literal 4608 zcmeHKU2Ggz6+W|TuU)5c?YK=HTH4!nfRx1R-L>7=sh!yIPipWVS=*&xsh*v^yPjlr z?sV>~v3#o9`b_3S>H4F{GWU7uNS`ZG9`(q1?}UHiEiMlU_#^nj;=u5`RGqO=|}gx^Vkhz z{+-8GHf_l~UsQav$}H1$MZk)j`8Ai>E}LE|u&OBW%)x^lMW7NJ_p3mCeRdO_$0!-(W8_?3a+4muOLYqSBbjx-_AE8Lltu1cS-dp zh~8?AnDNgB(Y>H=e3ob=&i|x7Yo@L>+d)4Sv&jT}I{^LbHXz9KIHSBlX<$Sf8DIJq zD4p8`I%=RDXfc>T_8Ff$0*WeE+CWpjF!VS~5S@+Fs{dV8SAfbbL9O&{M)WXZBtaRm zvMQZBfu3xV4nq;P-6XN9QXQ!Wdj*zQ>eziM^UtRf$B-8~)RRrnJsE> z#l&>B@P)I6@&r)h+8WAaGlSW|+^FKTk^|fhgM*YYsK z?;GJaMGqOni4?Wq^7&qLQ@Cl-4Ws7b6FWuc;S$KZKtIJs(nZ zoKAvzB_>mKGpM9Wf}a{|59aDajIkRyMMr=;=yBjK%4s~R@ubFc8h=USXEZi}A0S)z zpVPRm@r#K3D18I{6lLfDjRW`4Ebv3bf&0h>K2Bc;9@O|rji)sKi*yzIg64cxV~f56 z&PDnSu%tiGr|2lPTnXn1!-zm_IyJ%u9K(qdfxK*1b2KGfDI7lOc{x&?JdG`gQqAF~ zsVXhuJ9d#KOQnV$J?+~8pSN93=W2FoGQc7%)&fq`yjZJL%pzPhc~hdgW=ne)Z&FHL zEjslTJBX_`*}hrgRnxz?<7LJ4D?FIRLCY_RxS(M(Ydd_6`_dNfj#Wd5@s;gL%{PO6 z#nW6`zU}Q6B5%)jw8eSunA^H1_xfJ;Q7J3fE0_{q-M1^7`--Zb>DG5_&ez<)u5uL< zaf-HM2Qg`EdNO>QQ=u*cUd=>CnP}KJ2dIF_6AmFKbtgrNv|!q9(}sxX+;7UmRe*G`hMF z1?SV9tt`a@SGusx|6S}hLi%ZggUYkBex(qrHt0xXt&3@3J zL(K_eZ(nCDpUn>wJ#Ns^(P67x%3D_dNPcv9|dN{KbM_;>y&L^%yi=#vS0#4K zI(B46zB_yE`bM>&5Vj>V?B)e0Tc| z?*hDo_VAV7ZA@@N{mnfhy~5}%T&6Ei5S>t$Y6K^eL+GvHOn(-5hR&lmhZou+=sDoo z@U=!iZ@KkRc&dlK8Yldj$d5YR8 z1<(_qLil0JH?i0Z52EVe8r%kPsrN(cFis%#WB2|wm_^aZ_VI3e!2w%G{r zx}dKr6lh%+`8ctx_K%Z+?lziwQyzl-Jo*)Fsq{Un>x?V339s09dw7hlV`DJNBbPkk z#KB8Z)osU5I721)t-`O5+rCjn6;tKB6va?8q;hV|wxU$!!?=5Ew3GXYuJtnf2r5wx zbq-=9|4;TrL%PPh?QXC1?R6f}Hj@~I)MF|l<2owvNp`=RB6>fz$Z!4Zmt$wPs}9== zul?~fj^8xnt|dyie8$tOE3^G0X(j{HEt!sR`FOg{W%|tNgB=Gu#?0sq!r;P{ + + + + + \ No newline at end of file diff --git a/20250213/ConsoleApp1/ConsoleApp1/bin/Debug/ConsoleApp1.pdb b/20250213/ConsoleApp1/ConsoleApp1/bin/Debug/ConsoleApp1.pdb new file mode 100644 index 0000000000000000000000000000000000000000..9f0b3e451e036101f9ae1760cd7e6adc71e0c2fa GIT binary patch literal 24064 zcmeHPeQX@n5r5}gOze=4ixU$Jqz7@D#P;p&-r2FwGQ`fET`b~!)J_`cNo4PC&%W5c zHMbX>M5qF(C86OXR45U&Ahiey1QJ07k%Fo62c@LyA5~LTl|Tq6Bqa)U! z>^0a<;P$A`_r{r+Jcw=l?}=HDMiFY$6d@#jVph z^l2PVM)g7dQP39P{x4|v<*fYq*w*!LTyfHKsGA+%{A9^*UvIzV(T`63-E(NYaXkO= zdvEh3PkLUfVeI_8&esz2}#!)2|9=PM+O*{X;K&++X$i{2fnUc_R7mbJdT8 z^P)T#nzIG4&%ceecoq@8VoaKwZFDbZAN(r3((Ciq3z8&=zMv4O4>qn7>T4U6pe#vB zKxs^d8UhJ96ikK^!G>63T~H1rWvNMui|fRu*qAupn6Va^Z2!NEo&fF7e=}Bju2{|% zn9ToIasTIR*Fq8C)b~H%{}+nKC+g{x|M~uZqFoE+$SMEx{ePi&e4?HgMlXy~36Rwx z)gNw-Zqt;E7S;C2F?CSRWYu&uqG5@c#hatMzaceYN{z3K4neAFml`*u%8+VrgVU7ioT}aXmCQ|Ay zWhH1=(m@HW7N1bN1;_fhYitd~7DOZj5dYn{<^rO~OD-f@#>(mV2I4Q*V|E_(1d77@Popu>k%A04@=%$LMv8X6i8OA-c0=f7yVhb!Tb@!fUn0Y<!`x8j7j)$K_J=W;9Z}pGXFU*U3@7S0eS(UKPcYy1Z^`Z^HO6P z0Pm&1I}O9-oIlO!eCT_!0L468PFVdtU5{TTKNeWRR_SXe*0U03e8E?;wYEMgxy73He5*mqpq`(uVeW!*U4pD~c))`_U`-GfRxtJMSo!C-wbmhj0< z4Iy8>BnN#VF)sQ-33}&7l#-GhYPg9tc5H~W1tNG3_q`&Vv+Qj>x7aU&G4xx{`xY;F zO6YHa-r*vD8Z-F;^{cRYbxy|c@~3l|-<%dTEA!`(@UDOjny8BLc@7P;P6FkMq{7u)rgNvG&9NmcuQ2mOA~Eoax8% z#{4~9VL9HXFn^j#Pa5-UnYh1?5;96AHlW7)jgBNOhnhd0kCLB$L8s-9SL*U2KBsC~ zUNoAfriIN8Zurbe?eFP z_dn17+Vh!qx6S_iuYI=Pw!P!qp1}EMoCUn}ypHGb$-vqhAg{ygf0J3L@cZ&r|AA$; z5k5mGQf??O^$X{O=A+Ou^9xnv8(#k*BNQ>9{`1tXs}CSS|LZ*!;^zOZRpQ9oKsXs`d= yK*y;6Tu+F4B5H}K9bwODum7y1W8@lE6aJ8p*MG +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] diff --git a/20250213/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.AssemblyReference.cache b/20250213/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..126ed02bfe4bf614074ea1b6835abc2e30d9aaa2 GIT binary patch literal 4079 zcmcInO>fjN5X}gvwp#?^Lr9f4>;(xfR-qMzUMiGs#Q|2RsenVI%Jn+CRugAydzWr6 zd*;j^;l?lN5s9CI9g;#wE>R{qL~$IAXWpBcH(7&q&+~x#d*KI_P83ZBha%>B@bu!< z%V*&ckGSHJ@xdFdd2$*HuEY0&sZ^(t2@mb}{7b6NLNXd2|6MJ1$S!#iCYq%x7N=w! z#{l*mZ}s!jlW$i&FI&JZ`{uSxRU*cc5*g1n+(Jg|pXafA&OVaSS+-FuvK{E#v$n|g z*7oz)9-MR%MzGX|CpAIbaL@ttia6n>i?QZ{RsJ%I+k>86{L$2n0)b7@4vNx+q$vAArW0%hs|Hm;LO@fI#tb70YB4jfQJiMs{d3@;3q z+LnT@$p}|(Xcz>+l#rm%YTgFNnIMWv?939N3!*8lDGZfGk0z%4OcTIG`F(15R5lNvFu;9fI1ykM%<9M z#?-Yt)Y%ZDh>+S{6=Bw8i*n;&wL_umJ_fk=^JLB@m*6~ZH*(|u3{+X`R9M{9QbQZ+ a0FOZ%maw4eKw&K4Y_5b^wrJNC+J6J1z2vO` literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.CoreCompileInputs.cache b/20250213/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..6fa67e5 --- /dev/null +++ b/20250213/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +fca3017bf9f14354de8a80f107d23d099addd30a5790debe7ea17b761a51666c diff --git a/20250213/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.FileListAbsolute.txt b/20250213/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..bb22386 --- /dev/null +++ b/20250213/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.FileListAbsolute.txt @@ -0,0 +1,7 @@ +C:\Users\szabomarton\Desktop\C#\ProgaOra\20250213\ConsoleApp1\ConsoleApp1\bin\Debug\ConsoleApp1.exe.config +C:\Users\szabomarton\Desktop\C#\ProgaOra\20250213\ConsoleApp1\ConsoleApp1\bin\Debug\ConsoleApp1.exe +C:\Users\szabomarton\Desktop\C#\ProgaOra\20250213\ConsoleApp1\ConsoleApp1\bin\Debug\ConsoleApp1.pdb +C:\Users\szabomarton\Desktop\C#\ProgaOra\20250213\ConsoleApp1\ConsoleApp1\obj\Debug\ConsoleApp1.csproj.AssemblyReference.cache +C:\Users\szabomarton\Desktop\C#\ProgaOra\20250213\ConsoleApp1\ConsoleApp1\obj\Debug\ConsoleApp1.csproj.CoreCompileInputs.cache +C:\Users\szabomarton\Desktop\C#\ProgaOra\20250213\ConsoleApp1\ConsoleApp1\obj\Debug\ConsoleApp1.exe +C:\Users\szabomarton\Desktop\C#\ProgaOra\20250213\ConsoleApp1\ConsoleApp1\obj\Debug\ConsoleApp1.pdb diff --git a/20250213/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.exe b/20250213/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.exe new file mode 100644 index 0000000000000000000000000000000000000000..8615142b48fc5526b6207f36dc61562b1956db50 GIT binary patch literal 4608 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/ConsoleApp1Tests/ConsoleApp1Tests.csproj b/20250213/ConsoleApp1/ConsoleApp1Tests/ConsoleApp1Tests.csproj new file mode 100644 index 0000000..43f8952 --- /dev/null +++ b/20250213/ConsoleApp1/ConsoleApp1Tests/ConsoleApp1Tests.csproj @@ -0,0 +1,105 @@ + + + + + Debug + AnyCPU + {5526D589-8AA4-4E79-AB0C-58EA73A21201} + Library + Properties + ConsoleApp1Tests + ConsoleApp1Tests + v4.7.2 + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 10.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages + False + UnitTest + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\MSTest.TestFramework.2.2.10\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll + + + ..\packages\MSTest.TestFramework.2.2.10\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll + + + + + + + + + + + + + + + + + + + + + {95CFD2CC-8295-4B50-A48C-6DFF5C92816C} + ConsoleApp1 + + + + + + + False + + + False + + + False + + + False + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + + \ No newline at end of file diff --git a/20250213/ConsoleApp1/ConsoleApp1Tests/Properties/AssemblyInfo.cs b/20250213/ConsoleApp1/ConsoleApp1Tests/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..9a48443 --- /dev/null +++ b/20250213/ConsoleApp1/ConsoleApp1Tests/Properties/AssemblyInfo.cs @@ -0,0 +1,33 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("ConsoleApp1Tests")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ConsoleApp1Tests")] +[assembly: AssemblyCopyright("Copyright © 2025")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("5526d589-8aa4-4e79-ab0c-58ea73a21201")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/20250213/ConsoleApp1/ConsoleApp1Tests/SzamolTests.cs b/20250213/ConsoleApp1/ConsoleApp1Tests/SzamolTests.cs new file mode 100644 index 0000000..d881d5e --- /dev/null +++ b/20250213/ConsoleApp1/ConsoleApp1Tests/SzamolTests.cs @@ -0,0 +1,31 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using ConsoleApp1; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ConsoleApp1.Tests +{ + [TestClass()] + public class SzamolTests + { + /* + [TestMethod()] + public void AddTest() + { + Assert.Fail(); + } + */ + + [TestMethod()] + public void Add_two_positive_numbers_return_correct_sum() + { + var szamol = new Szamol(); + int result = szamol.Add(2,3); + + Assert.AreEqual(5, result); + } + } +} \ No newline at end of file diff --git a/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/ConsoleApp1.exe b/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/ConsoleApp1.exe new file mode 100644 index 0000000000000000000000000000000000000000..8615142b48fc5526b6207f36dc61562b1956db50 GIT binary patch literal 4608 zcmeHKU2Ggz6+W|TuU)5c?YK=HTH4!nfRx1R-L>7=sh!yIPipWVS=*&xsh*v^yPjlr z?sV>~v3#o9`b_3S>H4F{GWU7uNS`ZG9`(q1?}UHiEiMlU_#^nj;=u5`RGqO=|}gx^Vkhz z{+-8GHf_l~UsQav$}H1$MZk)j`8Ai>E}LE|u&OBW%)x^lMW7NJ_p3mCeRdO_$0!-(W8_?3a+4muOLYqSBbjx-_AE8Lltu1cS-dp zh~8?AnDNgB(Y>H=e3ob=&i|x7Yo@L>+d)4Sv&jT}I{^LbHXz9KIHSBlX<$Sf8DIJq zD4p8`I%=RDXfc>T_8Ff$0*WeE+CWpjF!VS~5S@+Fs{dV8SAfbbL9O&{M)WXZBtaRm zvMQZBfu3xV4nq;P-6XN9QXQ!Wdj*zQ>eziM^UtRf$B-8~)RRrnJsE> z#l&>B@P)I6@&r)h+8WAaGlSW|+^FKTk^|fhgM*YYsK z?;GJaMGqOni4?Wq^7&qLQ@Cl-4Ws7b6FWuc;S$KZKtIJs(nZ zoKAvzB_>mKGpM9Wf}a{|59aDajIkRyMMr=;=yBjK%4s~R@ubFc8h=USXEZi}A0S)z zpVPRm@r#K3D18I{6lLfDjRW`4Ebv3bf&0h>K2Bc;9@O|rji)sKi*yzIg64cxV~f56 z&PDnSu%tiGr|2lPTnXn1!-zm_IyJ%u9K(qdfxK*1b2KGfDI7lOc{x&?JdG`gQqAF~ zsVXhuJ9d#KOQnV$J?+~8pSN93=W2FoGQc7%)&fq`yjZJL%pzPhc~hdgW=ne)Z&FHL zEjslTJBX_`*}hrgRnxz?<7LJ4D?FIRLCY_RxS(M(Ydd_6`_dNfj#Wd5@s;gL%{PO6 z#nW6`zU}Q6B5%)jw8eSunA^H1_xfJ;Q7J3fE0_{q-M1^7`--Zb>DG5_&ez<)u5uL< zaf-HM2Qg`EdNO>QQ=u*cUd=>CnP}KJ2dIF_6AmFKbtgrNv|!q9(}sxX+;7UmRe*G`hMF z1?SV9tt`a@SGusx|6S}hLi%ZggUYkBex(qrHt0xXt&3@3J zL(K_eZ(nCDpUn>wJ#Ns^(P67x%3D_dNPcv9|dN{KbM_;>y&L^%yi=#vS0#4K zI(B46zB_yE`bM>&5Vj>V?B)e0Tc| z?*hDo_VAV7ZA@@N{mnfhy~5}%T&6Ei5S>t$Y6K^eL+GvHOn(-5hR&lmhZou+=sDoo z@U=!iZ@KkRc&dlK8Yldj$d5YR8 z1<(_qLil0JH?i0Z52EVe8r%kPsrN(cFis%#WB2|wm_^aZ_VI3e!2w%G{r zx}dKr6lh%+`8ctx_K%Z+?lziwQyzl-Jo*)Fsq{Un>x?V339s09dw7hlV`DJNBbPkk z#KB8Z)osU5I721)t-`O5+rCjn6;tKB6va?8q;hV|wxU$!!?=5Ew3GXYuJtnf2r5wx zbq-=9|4;TrL%PPh?QXC1?R6f}Hj@~I)MF|l<2owvNp`=RB6>fz$Z!4Zmt$wPs}9== zul?~fj^8xnt|dyie8$tOE3^G0X(j{HEt!sR`FOg{W%|tNgB=Gu#?0sq!r;P{ + + + + + \ No newline at end of file diff --git a/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/ConsoleApp1.pdb b/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/ConsoleApp1.pdb new file mode 100644 index 0000000000000000000000000000000000000000..9f0b3e451e036101f9ae1760cd7e6adc71e0c2fa GIT binary patch literal 24064 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 NGp+wu^k0&JPXW%G#qj_D literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/ConsoleApp1Tests.pdb b/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/ConsoleApp1Tests.pdb new file mode 100644 index 0000000000000000000000000000000000000000..d0e0f7883a55e4dbfd8be68d8c721e2a2e531980 GIT binary patch literal 15872 zcmeGiYitx{@Viol0;N436&bf{BkbhJcv(!o)OCe;6J$2+9w^7l{TELZT#S5EY^oqlCnSIZl){-3b^O15J6gFqW#g(i5dMv>s|e;*+7 zn2??pn4X@)GDkH+3*bJ#jZ|23fDX)sOtL9+A-VdxcZsdU=Avkta+EkJ#^o$4rCh~s z-pSH5&+ug-kDCdy9%slCbh-nJ{H2er^VaQoxpU5o`+M?i zn(q5HGZ#Pl<(;k_9k~S!tB?0uZp7Xo-3Jd|KICh0iD%5YFpfSRuIps^KVUu3^jz1! zdF)loxi|OI+?QL9_FjAP zFRya_yz%_8YrVI7;%A;IT2(oIBQ$#+i3JvEOgbG&8T8M@H-Ql9jD2A$%Bt9C5?5L7uF&s#MHmFOIM~b=x zRb67d9J;GZ$6#GpO&4~ME=jfv%z-#B%3)se>tnBrg@hE08m5EZlRmPr*3&HQ#cKwN zv$sXdZ-C6FTKXcS*W#=O7`WM}dGo1Tpx`HmkQeKWyy#t>x3F*R3FJj@BQMq& zd7;RJ5m*54|9=DG=Rf0{GlHfjOBz@J{lAqIS#c=c_>uw`&wx;*gnyN)s$j5L?i8Bi zf)tj+9ei^v5e>i|)GYFHLX0(Yf++Hw+$<%cC?}6hv!eVUG}dLJ9EL2lHr4BYJfgOS zr34#kloP?QK;db@CkPRVYKnzr%!OmE&}J^SF`PD_h|I*Y#vPK(N6F%WH02c{5l{nm zX^DE2kMUxdQ`@V&)TVIkDQvIE)XIGP(=wLj8|3)fM4k;o|CEoF+9jy7DRzP}C=~hC zLkPCBS#fN}I+2$W5s;bzCR{@@Gry|5e)h-{7wb+g%gXrV@X;1*Ur(yR9)x7VT8Fm6 z_Yl`qTun2<^0OgjnQy5;8Gk|AhgAR;_~|yq82x&sl#qpl>_R=DZWpe{`9M+TgFvAU z|GTv-3oMsS9sw)@EF_r6HDCrHwne}+g8p4V&6&@1vjG0rBR|W26X(cmn1icyQcQXMvSunX;GR-eV!7+u-xaazk7AM}8xmbsMGc;ue^zQGUrraR#hJXz+$Sq_Bcm*)Y(ZDf9Nt3M0 zFpGd^UGaLEQ)4 z9mmi8v-{Y)P-utCayz~<#O|y2vRoTa>@kRiOT;dToV^V$$h;Vc2wb~b5Q0}svU4eo z^ea85q@ytf+Eb_2Fp+S)+%IvT!u=EHDNa#5b7leJe8hQ&b2J+eFB5q7K%M3TE&zN05YHSYq{ade7c{}N LfN6m#YJvX%>gNeg literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.TestPlatform.AdapterUtilities.dll b/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.TestPlatform.AdapterUtilities.dll new file mode 100644 index 0000000000000000000000000000000000000000..e7c234401d816a6537d539c0148bd83d8967925e GIT binary patch literal 29584 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll b/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll new file mode 100644 index 0000000000000000000000000000000000000000..1b74172f9f63045155bca00563190a076df3eb51 GIT binary patch literal 159144 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 XD`=1MT;o$Hr`aOrc5sjjz{C3oBad9- literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll b/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll new file mode 100644 index 0000000000000000000000000000000000000000..58bee839ea5bb99853cb20ae9e362038fe157f8d GIT binary patch literal 19360 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 ZxN%xepC5AdvgFxA4@*tqu|j-*{6C+i>_`9r literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll new file mode 100644 index 0000000000000000000000000000000000000000..4155e1c81a603ff7b2dcb94d8275d055e3bb9c8b GIT binary patch literal 114576 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]%OoxXfg>+yVZH zMw}4IC|z>3*PMr-u4h*yn_Qrx$;F94`o?v{l`@jOnw7C{S0rbo;Q&f97&&utQpoR> zGbY3!CS>R`6G1#DhPSy76_+R z*aGFqt%v2f)EdhW_zUOf_pNN0w{})@`*vYaJJ197LLTWa0mAKe%!j~ftO$i;fc=_NRva=G1N`D`3 zY946go)j*7FT;TUgeK(kkrwpfl?^<7E*$Z4LzC0q4Of@cb{U$Px#yyb1)?C`v8@%Y zt+G$Z5B>yX#a49>m*Kduo2NB6QKogRSBTZD8& zOWqAH5*u%mb=0xr-+8}`lMi_%>Np5>jMzqEA+LH^)=M#&1>*_ji@F6Wn&Va862CX& zEb;1oULxe0ruEY{7VU%|`nLg8aUUX=B2sGw z+ua=JIcgs1VH`kuD|vK!7$?I4NHnP90z6X3B&rE}B$4L_h%ib!=TRZXjT1d+Ux(_5 zaf?L_7D*YuO8PC~e`oif(;dC8u9f$oXezS_rHvN7e%y;59;Y`YV&icd=?=Zi#t|S+ z&mcGg1e#1za0KPk9%Ue&L(s0qO3bP{E=AzZfbR4JQ;XcrR;ha#S}hUQom$3GC~=rW z7fDJNiyS5uO5*7J*kK7t`@T$Gvw(F2gOhlw#52*bF`0%{L#4436#fl z#p_n&pz%TT+9t?76mrXpw9OGawGjPi@XYIQKl(|i7Rq9{SAmb+UZ0ct2NP|q#y*{i zt^kqWxe}o{Q|besP(^t;#+($FgD$-h6u3)GjBIxkf?D13`plV5Jve)%A^RUrCT&9T7mY4T2`inow|j@Bgxt;f)W==t?b@8FZ(jb zlB_8(Ai-armHI?srHE``okF}`R7e>N@iJ(JLk9Wk3~rB6MK&V{G~A3NFWt>U4I8mH z5kB`C05!>++I-L90<7w#Ay3?PuLUvI&CNm5+lR{ zNJG*~gUGUR&yPnGNnG1LEU0qNsL39mJ|3T)t&5En&B@%XIk_-|sZrY#snd|lNFC_N zOA`Qg+pmF^Npy=lm_}@-K0z^Tk{Cu~q{GKY=P^8?o}HO4IWk^%1|cC8s)cA6&^Fv| z5>wcLIqygs=T7PXrlz?T>$w<(_R^D<9JxAI1SaBLpbNx{E$41TV2UoBY6v z)#>!^Qu-c{tgh2>RIcJ@W>$vQb0D%#@8H|5=aTd&kM`43@ElF$wh-2E?*&1!uiirB zhBFeC*^h}y-50^cfcKUqC0fjx0NA|`IWoELN1XP{Cizjs7~-o~9l^!Jd9gr)%S3Q- zCL_qmgf)U~!kl9Qk4i5&!VVsUfo}?ek9Yqoa9;pT>8QwwG0LsE|>n0*9 z5v~K2Na~F=54UtP-Y}H@s4$*mNoIr24aly-ZX|lxz-oqd#o)c%IHac^KsBMW58@Gs z&+xjt5W!o@oGZtl80O!UXw>}<<{Ha=2x(z6o{s_lFhxB&Ug2=YAqg0oyOMv#UCQjU zPKmv{>vSgV+l49ET}#1t|#4lfMK% zzxy~syv#J3`UGz-ZaeEm84k)s% zv3JA^j87qv3a1w)sI#db1MzBAqAyX1%@!FfJ~|h-($65-eHMX|;jJz*I6>_2`K~ru zwaE!m4r)`35iyC&G>uJMo>VSs+*+^iR_t9$b94*q=<{HX$8J12+p(kd-mtp9C`~4k zd{KHDVp$eqGe8WP+4S%@Gbj=E-!hsK$U@`@5U}Vaf+IkrG6;@fj9YYzF;-8ay<@QV(3wt+b|>3H&kd`&0`XaHq^Lol^%#kjoW}QSmQS0kyAtaFuWFm z9XOs|_Y8zG?#qh%v*OSrB0?Y1o&k0r`;_@I4`kYd=3-Mbfty1L&g|0)oL?a|RhgNj z`Gmrj-!_;AKA0P6-uu|LmH<3$P^i!0|R0Ym$}#`hS@1Hq)z6S{kj_i>_OUjs%e9ETy;Eq-}tgkFGzmBPDE z+C*B(O5K@-XUOlo03m4KYGGpxKOGJZPoxAGmXJRjXqXCS`2jwDf@?3x^OsKEeA^ib z3U?F*w3>4Y-8YvTk)|+7;h{YWbw(%%0~6j&E1VnmD>mU=KM&zhu6&a-*OQ5L3w2|a z2zP7m8_tuf3;cXms9Pw{{SC^-gRPC>h=+0eA;gtC@Dud2HP;gm{Mx z-SYFvPi=*}h4M4!9HD&ah3h5}3lwp;sy1*V_oEsHC>;E}(N?GcabMEHy@wADuQmx9eD_o3YnPnYQTsl5J=xg z(}8cv#_seou|8+~pRj4^8wCRP1Nq52{GTzvr{F)m+nEbI{SXyb;(rX0pX0wxNc`wt z&foCF*bAlKLH%sY(|RxFom>xG!k8-#NZOpf^WQ2{AHEd(f0pQ(`5 zg)*=!nPu8pQ|#qeGj{Sl$Dqf@t8z4_z1}jFxGaK|UUMroN zvr_j1letN6NT+6Q#=fXht9`0p?@l7Q>`O|u*#ACzv1i7qmB^79f4TSs7Al8!M*(M} z7I<@l4H-kFU_GXV(K!JD_C3x*Jn_$G17R(*zskJoo3!n z1lk2TUF0}`U$RLw(KsNP-i1uFAd}ug4TyWT;K7R?*?lm^($xL(;G0g5BY{Xz8WrjS z1ywE}E98|HJU2*tj~qGYq+W|OYjKXGqOkf;cVT*oHECC{hvplDiprOkm)rwzvBLgoaGW#*gV0= zlGkJk)fb`UlHk4#JYN&wH46SC^_~NpW0%JV5dIUQ@_ox! z!RI*A1&yhS-4F1T-+9t`wct0ebQZml468^W6-|m|5sP2FhUS{c(D@!!kd>;Y^M&m! z({L4P$VOI4iTI1bARPp|qwwCq04LJGjjyjN}j5@UcB;b;b$D*{I6{wP7F`dQDf~@WJ9ggM#u*)=7#?f4$J8dM*hg9-M6p&oX4j3ZN*dhJQ;l6&><9Sry&OX8F zU8Kvr2C`*Mba5?$LnoiQiB^HhU=$T|6{rmM5l5pDGZJw>rqXm6CLTl-?i0e1J!#My zK>K=}$I{s5cf9yAT;cqFC3-fd5nRapdugKm;1gSsu!L2jm)<#1kk{LP}JBApKyqLK|YoL&3vQh5F zJ|kK}lsli35IDOorf&f;kfCH6VYzcV!X8<#_DR6A*VvwEZiovH0t1v z{r@U7izE;C@08BsfhTQCOHQGYVCo)FsA*Ci;oGTqfa4bqJ7>%sA5Wn^f2OXwvks-m zxsYED4V%7W&WKWwGwPMxhR5xLjNGeXkC#7T8OH56I0JA8MS23T|HtZpuf56_EpeGm zc?7aIo&8_K3Jx_xXW>2aEZ3+n(NmWBS*A=M&$<$M(EugLJ0UNB<3q=7nwD}cNcyT{ zrhUD)ys<*#WCd_1QQN~7vePv9GMe`<#NGF(AKphGU&SX4<*vZ1z})+mFT&qtlV2Hf z;T*BuuMi}wy>dEa%w@=yMIp0zW1BiIuyp9EIY>r6#s@+q&!nMP5zouD8B z(#Urg-QloJ6H`-F168kLKj3jL2Qgedyf#VyGd^c#v2OM*ABvSz1j5&*|j5>P+)%g_gmcq+3aNGnQ4T_`>$3(Q1#=$h# zOr{pnyHavXDP2ri#&)6~?V8||ppPlgCnh!`+Fllv685G|uDqj?<59;)o$nDgi{Qzk zOxpAEJ<^4cOP&Y7uEF(oVrIGDLL$t(a9JEijK1gAljI>mf%^`RBz;2;A1NKyF-=Gt zRmT@LsvD%Mgyx8=;UB>~*Ky|X5OHq62k>z$`!Mmwbuh_Y?gVjUP zT(g}HVf=CzkgEvjj);}?9I(N;eH9KYF)`VxbI?_pX(41v8^8So*gr?7dQ|Gr%tga4 zc`=>53~Add!ro)#^{Q07%EP1V2ezkSUq;}y)S}ly%CJ9vdcI%!2H|4-UmP%hlPOR* zpI7{FKsxYoHISDB+#3u9i&=fbxb{mrMW3pm;es-*M{&t((R2Q6huMKQp`hX1V^l0x zR!piE)W-6`Sw~w(xEP0kB@cjbH&3V=>&AhN#3=6=jPj0VlyO03F~V#bVn*%b!}-VH zl7BRpd?`+T78k5)VaWwLR)HEfZDG$}m(%r8??6=iO7S0iIevcyw1W0~cy!>YMucB- z1pXd{r@a`W9rQ0K{2Jh)ilQ8;%kkWVXD*(Z-(L`U9RGg`{3JXxk+kl+JEo_>0p} zKO^E8kc0dU_*AaRmF4RjRx*MQ-eFDm07q|GxE4jyUW5UDt2bE5w>>9T8wbR5fMh!n7D*@G--(wSsXie;ijYEk6{}Jb>#}$RfBu2Wz&(H1YO2yO z7;=GhyCLwpc?jXdH3VJnIGx(x4FT17Ily#2Vm0deO&D=*YkU>}(Lj7M7LEeM=xf+f zJXuDQZr4~zT#@NOxrInHIdpNTgRl4boNGaZb7`2qZZS~cRDwtHKDh*q>{x;2icYt_AKa-$-p;0Svz5 zNs|XWIh6!?aGq3!2#d@a!gG&Dvn&3qU_{zxcRKED0X=Z)(=w4 ztwA=omI7+Sc$r@bB*C06AnHaOn~G>V(DiiR=k_8V_)as<%1IsE-U!fw*N|*D60yTM z@%~tH;uOvG=I6?rQly?Pxl$}(5|oyykaVXY2Up@(C@<^!db_{2-IBXGYvp#d13GgQ zHmjKK#AWzD2LE5ef7%1mkMRBQ|8xAWLjSVytnkf%$@jH63lEU<+yorF2IQv_v@guY z(;Q9s%-)g8AbL0}7=IJ!$uGDMc=)<7CQyQH^Dwvg@>#%4_QPJhL&-f#@3T;>KAtSS zU+QJO$9tWpVaQnE$aBg5n^781EplRX@}cD`35gNX5AQppX_LLltw~vUa*&pNc^90I z_u_G1E)GmcALMyN(=@(^)@e?wGk>pm{5iS2q%h(30eu3sd>1O>9;ATg0C?G-j(0b> z2HE2m7dGTY9G*P!{dqZ4Cf}qZ0ocbnf6wGBwA-3B7U%4z5w_*hCT z_cMUxT(eTIW7%M1hw1RWjCOBf8)bcG4P}HKS_a1WTyo#R!k~#*N4&mCem}V`^$BIi zK*FV?R8B)CKG%UDw%d<_{sAe7r`Bfr{5if5N^G!uaK+rINIZcI{qe$&SPZ>%1IAK4qM$YkaA)B zV<#OW-GG#UH|jRx>5aHecwqBB1dr?^BIS?PMU^NVoY_Me^lmr4;1B)Bhvtz3{ifqh zK%DUn1LO`T6b|r5;E6w;09x9|HsW~>*FAMnrp~sNx*Bn20v{UQ;?x=|}$AAhizrMRE5Gum6Kg*lHZf>1dh$4}8WSEzz;~kZ%4!8@UsXX46rx zXl2)WE&cwsmMWCp)VNHaktdrE-L3pzd}Q}Y(T@D9Ng1Bq<5ITsb$*egl{#GKzd+PV z%AhQ1%A=;vN)-;x783h1lfMYf^1)=!RH~!kt3lr> z-{xabyxN6gOD9D~L-rb$T_&6Y@&mwJ<~9G5{<<#oFpe@Zc3k{z-3BB({b_wV4f=E* z>m{La`4w&fGeC=eVO=lWOf6t?J=%(?(~RRA6D<^J{V@W3nu_uib`WtAy*27%YDwyC z83dyKd!uwUkFw#V2Yzn+9VS+Mp`ox9rX0TYb0b0rnnIuXYJnML%7qjF3>q^%jT8aE zEtGOHW?Fh*q8FaH==T%gFi>d?!MrbAt`8wmpP%BP>Ql${Aw24{6OVX3zSxfy7o`)p zwRH!@3z;8Ri)lGcR*R@4t;~mw=~G-W%1F}DQ&y}yzC>Au!9(89e^adp@d`zn@M(a1 zL8o4~t4qI2W9&ZSfW2wuDRd2njzGld*^}WH#A1eD5dY5~P}jGvzHfcMM#6Zwt_x@4 zTSYK<_Tjl0&Wj$iSEQDlcUGDx2HYmZj$yzZH(R{%p8R`~JtiDC3AU^F0B{uw=`s3T z`WQCYdwzFx zE}pPs*e5YwrNODd_BHV=$A7Y;DIeb4!}$jNEOAol>kXEuEu-)`4g)0v8^Ypt)Y%d? zV_HiFCoJ*TQVL(;@UAk7kLU0L4u8WmOG+LApUaCWbeVD^haZ&OSc$)jQ%t3NH*R?^ zOB56hM7$DZSz>G{g?kwPZOM(ZY;jrtuW(2-y#JdumZ&rDwJh<(z@*0#cj@E7rw?Ox z^(Q{h)UTLqiR0>)_sSQ~6u&;e62B`ZZq)+@G+N^1z8A*xMWQITCSNp_T66QI&FV$;%lsNxfr*f}B7!?;5KGQQQZkik!6czKjQ8+vI zf}xi90;we;Y+l&U5G{wK^MJ>6s4~2PN3U8N z-YY5s7Rk`Y@nGzkp0?^K=(G9SZMBF0#6dse>r|yg!9Q0u&ncHzNFXlEOWui-nllc+VuKxRw)qnN^nt0=sqfX3HDJl4K5uNa;yS|_|& zlPiWGw8Sa3Nz`Q`#!jvnkxQ6&p^Y(de>L@Huz~t|9JJIDJ4TcIAELgfdjV1Q>rc9O z^{@+u=8Byo2{Q#4OB`n1ySYaa*M!ytiO-B?!k;&R`1}<$ii&=Hp6OX4>blWbxSwTy zW&ow`hW>z$MH>DMx5lN7dq3ul?&6$!(v$H+NKeL(A<931(h_THh^B2I zg|DG)yNgjp>pc0QeqwG-cQJ{%{iT3-zMDhzCb!Smy|Aj7MD zsWrwx5=&giGr$)ks9)Z%r?7SSg>g&V2zk(t+f)N>-G zmBQOj&{u<~gev}qZl3sXETuWLdqvs_;Mt6~uFn-a0FQN+H_$uSw94g)>2aC1oVlC> z%6{5loW>H*2?Ho?u=o)}Co|M2S{SMrLurkojiGNw6VxQuGnC6|P2zHf^0*F7_^VZ1 z2L)|osPAN%Z#zRZkmYV|thkdUJBuZoO5QNE()G!!J*#jN8P*528K5@YReXb?VGK2k z0}P$Y&@6EXvgL_O05#*5-^a}JrD+5mC;r9I;9BB2U;Kyj%>d;poaMscsfJAv-8~_s zFA&w5sLB(wd+nak3_BALc-}i;_k>f$nIfraNGlmiX=jOn8ujL5qbo)?!vlaV9w`4< z`0!AIhBDONETIt^Nj8(ymf|mR6Xji;md5w+h|B52h;jv=3gn5FSp=;T7cylXpxbZ; zdx^FKwU`A+0J@6PY^Gd|uUM=Fmme{g)%54JQNm<~E`nFkpwjC}KilB*Gph5%k1c{O z#%*x}`Cu{uxxYz8Q+uK#n5Ed>&x-IMxunFjkGJp&l!S4AJA3eF@{z%4ZWgaFw1=Tv#D0b(m!F8&xb8ojMt?izR`Gj=UQp26S`ekb?SWOQ-zwhG)&n|j zIF)d>g2s;}=x2aB>wYgm)tMH&Pqb@0QSu99>WT-%dkkr8>pmbpVhAs2a@t=tJ&(?* zi01>aNvp-jzH^~^U;CC}G~DT*W@zF||Jve^czfjf;z8oz^l8Q*@!1Rtr*jzPa59He z2NS-I!wL@9gbA~~fWkWh6utpWKj9W#R@_g#HEvsRwb&Y+W`x8$y>37$FGO!C)3ogu?_LfzO}`3+pf-^X3T9HKZU~cIDS@);^#I|_zl8AV!-S_7SC?0 z>^;qx-ImYc3l7CEF)6%*!^eSdZfovI zS`LRn22K1nM7dUt{1@VjyM2vtTICCzRBEF`IZ4GA@oi`r?TPc4;5;q10eXe;!ow=d{_G3GaD zz5V@({z8Nyv2#oV@He1kP&$Y4`cc6Ag-g+=k4Kz%T2`ayAX>6|;*^rPZD-|D=uV~3 zUpxggSNe&=r8b3ie#Xq2Su(q=8Fif9b~`xFZhMaTFJKzkR!c@5S2CyV3$*i`wm)>E za1qlyXj6~BY?BUrX`e~_XPt?f=1nG>J$*nv)|` zyF%zjbK6^phs2uh6yAU~Y;Ic~oMu#um+RMp{zK^GAo01mp(Kj^*_8+v8rw=N@pt61 zMBmUOh!;-zCBjPMX@qm2=av|4QvBPIyD8O6m&L%bVvkYVAJSAnTCe%C=W z+WZ}Aw6ciwCo<_^u_a=o{s_z+2F0I(oUm7|cR~LxbOu&a4uupyGS>$kx&D<)G}oae zEpZ=*k8!wkcq{nSHngHIR#?;v8_Ox|S4)(q@L2xb{1A0-7Jn_7Sw(Zj2H&CJY|IJs z6;wBF6iQwwp`wF>>on*wLwm)zQU5M6#IF?edd@=p_3LjGbY;~p_yNzZ7Wi#IzHdrQ z(Iz3^kRH2WgIvbYTHmxDd4RU4v=fF*gynLBN?S3c0MJf`_KHh`^YJ%_Z)a$mZ`??| z)F+;jkeEGwpvNbE#n2(G$$M^|PqZuOPs6;WesPE)k_GMp@i&IH6df8o5IZh>MM23K zDz(K%hW3gl>tDzVit80bH42LTl2Y8+k04(U%C}d9i;GKxBH97v!QSerpi}{Fc?*2h zKv7ndb`xV6+9P%q7Qp^`jG?vS(VE)Qu;|&7DA$UndV+q>kd!m5>adRM5Eh?t+O@v& z0SQo6)=<7{eGf)+^{}W_(38>rNUKxO9o??8B4Vt9em0As6BM+imY`({DsCodgM!Y= zBj_dt#fu4gNI?Ud2zo(5b-f5`SJ3B01bwNXHC%#SE9Lxb45d{m=&~Au1}W(Ja)PER z=tY)uk%Im)lhRfx$eBRUCIy`^m7v=c^lTr39#_!o`2_7((7`H#4k_q(A3@(J=oe!N z%4bVk>Ptj4Nyzt4??im0W;8=lajAlq z0_rQaD(I}CFO>EdZ!ok6JPYtOuk7|5NVmQ5+oKH~`g-Xg(V(Cw(bj{-NCn;9>kp+3 zVxod>1k?zxfXsJb>cP?`@hKg$i!H(pd{#OPJAH!Iide;0r6a_>3aaWU%0`J*xHL&= zzs(JljTHwJbVqeT*#zMmB-0+6T3$A(%j`By41j+OCGhMvO`O8eA#JeJyKI_RqM#Ap zL1i<$#LW{KsTkNUxbUCma-<%Pk+%I1n&8G28{C#{ zdwtomE~PIQU#fghO#MmOa$z;e8ddbTvn(z06hxY}LQGXq-`LN*E5!~4m0S0hoe!&5 z=EGm7vs%QL3QBbM>lcc?Lnv*FIGFp(vequ8UnDki+97R>wYTgd@geqgq-P`IZhI*`~(Ja5BOTH^b4X06C zhs&=N4Ght2Q&GN2Y?hF3h7&KpMqIDBjF_xppEhx%Ry#4cIajt?Mo=m&SuN3q&%DX{C#!$Ys zV&9-~04Xx^viBfId;s zJJWZGTf|oiYQr3Pi|~x4^7i_^<+OYS<#Sr4g6bGbC}`qf%Gao%7(=vMBrYWk%~sIr zFi|d4(6$1CmMUmxfS}b1+Rv1iGIYqldGb<7eT7UDS7GOPi}<;Mz8sJze$oMb0%(VL zQl*89^Tba@WE{%^n`mCyPO(ZsWCh(O_IE(@%5E0}#uMcsEm@E*zf+7>kT%7#?h-Q< zlulaK-C}`)=9jN7zelWAkUqOg+$(NUP<;5>^83YZ1?_9xCGHpd74%3W_KKpNp)JDa zxdN0QGPG8VD);LTh~Na01vc0)O*|+rV@S?*4~oKxQcjxdc8OYsQ z!x>uZYYFWV4~sbr?G+b{ySDscu~(In!zK?J+qQT~XSGld}hsk?5w%6}nF zVTgD>QT|J@MMA!J`v1E8NpXvU{*!na(9cx90i!hWqKP|?>MntFN)h# zKC01+qG|^5l=)s1r!#a3+U)P;`!be*|38Uuyf2FtlG68t_n`JNWx{W-hkB(GqF(8Q zs2^St2RYwfwl4OI4;i{vEbX^Z+b@in#N}EsY0^j9tD;Cj(H?J?zb5Wt=sGd6!Q**D zJjl>`><;|;@5HkV?bSXg{JQ+DE_3AD;xkT@tM=PMF2GcyC(7Rzt-KuX^-+xuh)Wn+ zk6zJz2gFqh`pGn3#Q||WL)*j$g}H#fWN42@ZFW#J&*HlKOQ!4+2gSJxicQG_v{FGA zAniS|SwWX0?LBc5Lu-8>_baP-U+h=VYYdq&yRnP@v zlNBF}i3;i+NLGBB>35BE@H4T8)8zR3OguP`xa<|w)1QgU<`cAD+#RZ~_*^`tphHuh zu)Yv~V`vLL)H1ZQLz!Q}JK1^+cIQ>)6-gd4}X1^0jzFrICJqE9lL`jMU$XCly5c zd02eF&|2Y)pIjld{U;M8t*LoJ)7m?rDxqs1bwJG(re-Z*O5Y!=cL}eS%MkjuIuB5x zO1pLDF5%NERoXK%^8h(2%@aML!mssJX_4qcKtmalJ^@>6RS@|E0@^kO(GEJG{f;53 zEj)nQpBN&k&#DM$U&=K6Ww-Mxf?D>zKUdpv3QLXsxL?oJdM+ert@w26on_s$yi+CA z%W0{|(^f5#Q2(A=D znDz}rYsJgeJGF#1^-RjQR%{y;u1so=DCq8SwUvFeqO&q-qbmDp2?Z?~JEO9{wnIVl z#xAO?*FI-R_SgU|u$b}@w6b!5<}kG0x3&4=%E4M+1>M$s8K6c5J==VBWrH?KL2ox- z2WYZ_PMdX8WurDrK|h+c6VOQvZ4j4EySuVUTd$xgL!YS}p;6g1d%M*yRF2gCrqU+N z_+#amjh9yL~PJG)36DED~UYyVX_S$ptYqFgTy*Ltg_ zX-_VdP-V^&)-3G}1-rdnJ%TRMG2#-PSg%6 z=!$M1RV>uLQII`-Ue#&Zlx0LI+w)9q0YiJW1>^F>nHv46P?~K@#`^WMw3}4gh{zMx zV(lvh6&Igcb+)!~xuk5hmQ*d(E=v)#S9^4NQ~7djYX@|GRa(P_0>2I7h4Lq?^R+n) z?bU7@k|$Paa(}y*{RJ0ja!0#YqkYF}?LkGkb;M;=E!r;?G=BQ)rLCIW3Gdb7fYxYx zIBl(H5Bc?rv_UJVylZ^}hi$HE)21tE{IG3+=1WMNpL287T5X4d-md&eTc_Q$lJkjK zc{f+B*EXInp`QkCuiBvDV32rIzNnybo#XvGcw{ zJH%;+w1oE$rB`ZyV`!Z?uJ=xDqt3~*NUZd@2Xs;k`y-r(vA#vF&NI$RF_As(pi&oZ=L931|B)lamBwUoA2yx;gu)y@trr~2K|0a5+#)bxvq za<_5nh`j2%v>b-k3EI)#qZM^PXO-QnUB8YfDJ@<0fOgV)g0_eUgQeBGw0k!Yv{vjK z(X;v?ZR@2Hig`y?|3cfPpxo*S)sJJ+95UjPh;sErNgWac!Z3 zzF_EF2?;y*p!T@7UO}JaYy|WOLtEg5{YZO4`+%W!;)`T+^^@Av%ZcZ1WA%iSs-M;F zWoV0tOgOFjIqjf=UWzZP-lI8J5akw;GycNryl?fMR=qI943 zK?hV^`dclrQBt0T-OGM$g@PV}uj^IqNrv_cTGd|F%&UlU9s7k})#fuKHRM(8e1@d9 zzS>2WSG9{(zOS__t6$ZwP|(@NHPx?mp?v)a=z2xD7ykGo(_T<%=jcbLeXG)9oUi95 zDfQrEP>xq=_ZvrZS*p^`G>=ZZS*3lBQ-mWWdq$<*a}259Q)x4fAxr3LDd%36WfViy zx*n7;lcD#tTVPAQq0LdyIg=*>+ASgfT@x1?Z)kE4`<^xc3&0!NODgT7iSq$vuhVa6 zzvr}d!h)PfrhTf?wrNyC*L?p`X{)q*tB*{xHp@Chv|Y#-W=PiIjV^U~Q|rlT?`c$r zH?^DoKla`QzOJgw8(#Zda!ziiNlGczq$HF=D{aWFxj-+ZxwL_%x1=BfhLdwn+G9_0 z!Z{~x12`n9sEi;of=<1RRB;pqwGKF2TF-jcb6d|^dvARuV|X-g43AoO*kv5Uqt+q0`X_k)|5fv- z^#!@oJoqE)tDdqS<(2(7Zwx=Sz9BXDtM%50tsh(eDp#6!AIqzWE4$_!)Mx7+b2QO6 ziVk6Cnq#G%{_4Wd*WtXTef5wa}kAL~3+J9kZ8-`jrhEY|$n%}hVMgzdO_4Y8EQgzG>b_SD(S zJ;)pUkChVsA>ig$r56z1j?wwl$1fyg*E~Y>D6SXWMpqNE2Yp%U$IYzylHBFZYfS!4 zXrjkLh{0zyC}#2+zMzxs96NQhI-;ePeE;0+De5S(w2`d35V{q|i4TUbY@ zgqzm>J2k!S%#B;VJZkywHq^ zKN~(Sy=$s+|I$*$kXD~MBpmL|W9ts3TBdZrTIVN)CpE;3f;4>Kbk@HfbknxLQhyC< z`_!<|U*o(H^faS5*U$X+fO{9~;{=lEC2e;&_I$hJq89v6z~yLuylZ9ox+MFVvY* zOGb?uLu=+<7ZXeHG;|>T#%>b-fZ$_BVcH~x-w%9D%U>xcWL)sPbQ|GXYuyOx@Tuh@ zBf8}W@O-$Lol|8*cfF2S-8YYYT_F^>37qCrmv*roo!^5I`E7`n>kFVW!Oz0U9G9l8 z)&S7DYt6m71)~}CeC=#x`+pD)sgf36FOY|TgSMf@msl*ij!zkBD{LupvZWe@H#8T~ zIvX4PpLj=tq3~>;acOSqxbvRR6|?7>JY(isbGvTsKY_Df=E%sJ#z*7%rY7D+sWI01 zWGwYdqFW|JIvSDsrGyVb<9SV#! zcSzbPX`iIqB)wG9sH90ruR;nuBtI?b4U*m>=>eoT3ySnL>ORRIk#v#ucv~$_iLu&<*Ars$gfm=zOUmf#-+Z;+d9<|*}>Z8<9hNG7492Q+k9LZZS#fuUXQnPvxTF6 z**6G2-gY^@>c`W;)p9!cp!9X7+S~g!btX>y-2#d*ze4h7s_&H_M4stEiG&;re6Hv7 z>ag6^8T{7Luc~K||E@YF?e_&Et&ihf5HD5_;K}`G7Qcj2p0nu-?(Fqjo79S$`ACV+ zCN*(Zz16LXYFYv54KYvnq_uC}YU|Qqe?yNoX?=9lW@|adJBajP?d8^>)H$jy+ptj` zRY!}M{#(T%bu94BUZz)X%UVa((@PJjXz;#;lgKwAmUC47 z?>BG`7(=^G3xpp0^6Ejs;%a-tRvUyylc=tXqZV2ZN^ow+~3^9jdPH zO8+B*!(D*v_TMA$M&I6Lf8{?4_+>ui7r({d==(6zFQN1@-!s7{YHsx(3%;<}Z{4Gw zt8TUK5{fnY-XS#~Li$WFu=rO0ox#~Reg3 z=DSPi|B#FV`;0QDclLbGI%>Uj+b{eN$y{JxXxR(?VqbFkAN{vrt^ET%T5n`Q>gKMX{XZnF&w&nOmMTL%|_qmO~pdhbl@KKYj7z?Z6W=q$Zp_vHTt?o zaQlGJ>L}vM#Q8j=9}w<67I<*Uhpk1vry}ske1Dq%;lOfVy7jYxMqk^q2a&D|eK#-} zpyWm|t{>uCzT5+h`fkQ~s6|D67e0mb^=(WqzwnnxcenjAP*?O|*RjCzqTbN&kv_Bd zkAb9*cO49VT=-$EEf^%HF@3Hf7;G#e#qLAQylmCUMN}w$hOl? zM;beADbi#g{3c+y0{N@^Rt5WTZwK=4TGoy9I+Px@-tf9Z>en)}&#C>r1K{CzE!!P@ zQO~unrs!?KqrS?fEB!}(UnQLdw*YwZGGCeXRAc~nz7`z&g74gh$ASlZU#R%E;H3dd z?omrEJfyav#|orxL^P;cIQa$NTh|>6PWy{`{}e2f`Lg^x2SSM`ExHtSPAOXCA4DuE zS`=JyMp3e8LC3P9tBO)*)k`Vlx9F4$Ru$FxS0gq%4fy#*HxxaI`Zp92Qs;j!@T~LS zgEKI7fiEpwkJdgnANzq)f03W3Hx{Av!lGM>s{6MVVGp=wqk2xXR)_z2Xpg&8$)#JK>fwUZBIT(DT3-fEups#}}b?QXXfue(D*AyMJiW(MBeiuFkNx!f2!_WZF zH9Tbr>D+l)G)vnLOw8c-zN|?gW*fvHhLp_Y~bB z97~M~Z6D|<`(n{mKAyd~%EwbSXIj*vXIj*mM}i;h`#S0~VjcDG!WhrAs8^%@vq?Sw zMvOG-r!-AUYm@%;g-;h92p+2xja2q*5&1u;ru|>-tPCA4qD{HM{~6qSEO2Mf!VqWn zIqMd=_kg4aCB0M9BSpVm+!<=Legtin^lz)JP)Yw8%fPq(>soq3clyIC`$LZueWhVA zbg1YZwQmR&%j_3hA6s&zzu4MU8U8{YR03n?Hbm#^D6i#g&@Lybdb!b|8nfCuG zG99u4*DifKq;OyBA$17tzdv-ye>2j!7+N9pUm;^zA+zvA(eL}84?W}m0ZxiN<3F|87kF0=E zD9Y8mJ#2+W7Ty%TOHK5>Tk718wDh!ZBK;BKtGxHe;X_4VTKFU&8%uu`e!=f=dcAta ze?_ZR{EQ6=uLR)(7neqgr~NlnLIa1WZ7KsVu4ySgTtv>S3#HCF52ch8=C29g;Q#vR zm*OoeeoY$z4^R&NwJTzdDOaa?e3CjfcomvfVL(}PS2DaweFa| zwju1I2Cz$7~nN2StPnpW0uR|r*3j8gC z|BZtGt&;zM35+0R(J*P>{?mMIc+LE5Zr@&GVl;iWF!MO2t z=^ZlmyQJlNkk(sYk`|5xOE!I^^d9T#O#|v4>&5C${{f3<3=ahV13PfX0@N)Jq5c_V z2ZAe>(*vPKdPs172rbm3lsMBHS?v2JYF_3$5d30eAL@S|>9Igv>9?$?SgUQJTOt>i z-5LD*&HKu}FEx(@f3@)KWyugF_l4j)`|mBo?pfqe$+1A94|fTbqM<3Af`1`+>$=Bq z?-^_V0iMRcE&HBzOJHfkFUuyaO#{cu4g}u1?LU#W*Z9gieYc!bTYeze0c<;ct6{S` zegC|!sl3tmSFdYF=~>WJjlMrNbOCZ|V^{etz^y_t)q3)bvPSD0Yj>A7TAb5cp(pF% z)!g25Q~6_z3r!wNq7j$!H3ax zPXiKN_nXLbpcT%Q`Zk>U#|U{lFmKZOF1Yk6YkvJ>!K=WlRr3yr?*To(u6o{c7CnvU zEZUc&)&`u1e^FX^QQ$8MCIR^El#6HE2GH7{FjC6bhpp#?D+1!@-xrFmyA-9VQ$IDY zOzhMtSP`7!uaCr&RrblrvF`2YpYWwND zL!qZ4PtQA3+F2p(bOtJFRK=0tZN0ClcqZ`iij5fQTS12-p^tVqRvZaET+vqXNQhEK zKN-3L9wYQa@NG4lE9$_#FW~byge(^ib9wOFwQsCg9^BuWsHhC`8J@;q>a2Z8BRJ1h z8GOx#>yTei`nHP0q0cUPx`_57sEV!6^xRcZ?7Ot#^A(GNsp?ulc9nj)qS)HGU>6kG zXB)p>af|iu(B~~aO3IDU*!9pqDe;}&voIKZ2K3=GI#cTQ$_UPZ{0ZspYGYLdCsyx9 z`f>HINbkaX1S2>bT95P|wFT*yR0in->KddEskb2gy1E(ZH`R}jephvz5>ek*>yfrt zQKaqG6$|iWzjfKE5xoEVTBNVHetc>evVPveu$r>gA$^P0jr8qS-@*vqleZb^?N$Qm z9oCzW-eX;b^z+sf(l1%JA^ooPVWdx6#Ol`;vHGp`4-2c*3urR}-oYtAb%$^1X&8mC z73p2Rp3~~o`&HfYdVI5K-NJf2{r&zk>hWy%9Y~j`2a%qmzA5R}GnxO!(t3PNu4RrHiIcRiTmB@zSiWxIlTzmyfh&vc)Jl4Rq*qEhWqlIx zCwwfm{7ma4?UeKhNgoVw?6D%2?w9lNv9;;FX`=) zenip-Bz;iQ$0dDIQWa*Keo1R3T_S0hq%jRCW}Plcuaq=aoK>mivEn7xdzMcLWIrGu zTE1T(A3^@e@{dUVLF9k8e5!;ks8Z75j?($ytEVJAvyAy@8B3=nJt%2sIU!brX`Q4O zM4nU)%Q__=KZSQaBFfMUVQgTXYoHKgRD*@b@$PJ%PU` zQC6g))*DaD;Vl6_R6oWE$Z9KPz18}d^#|)L-|hap{15n#`4!v7LJ7G6-iq`0$qs5nu4UGeqBpD4bkctgosN^UN>tK{<~50-qpq`maQ z(w(JWEd4?0PfMRFZ7$nX_QtZ0mEB$TrLwP;Jyljxes=lV@=MCEET1U9xBNThKQI4X z`Mk(!k+w)S^2x}udE@hnD$c1`Q?a8WQ}M2f0~Oz{_-Vz@v2TJ1IsOkIQW!$yD~xwG z7ppVyeA*JckNiwT#FpZ_m95YaZHNhVp!9r%;MSnD8zmdma(pZC9K7#n1-`S@fcGS< zRRh!!2>v}-{#c#DZut{PuUo>C68p~oCDKPO_zlv!mfs=$&r=y0|HQmMA^r4rrnjBN zv}POA-4#sFUBtBgJf=-&GyUCZOa~$VWwZ~W;zciV3qpHX-pTM$Mn1B`w`<_yt*9e`1<)sW6P?MZdz~#()X`i zhBR8X-lDCwp)!s{hnEa_j(C**w#nErh!)9(x9u?x>b zYoDqlq`LV6cdcBjcZoVA(KlBeHt-px(-X!U78g~Km14&Ok zgYXBpGHpCH1^6!ox9{T8m#FBB=8KKLaV> z1zL&pOf?_rQanrPQ)huAed=sPTYY%r$ZL@<$D6Ty>UDT)3EyE@hjaz*^WpiwrAX^h z*Qd@!EgyLE9HfmX!3hq)_>J5~q%HXMsa5#j2QF_z+6FH7sdn(W5APXS1ANX$%I}M= zLw*fXoJ~-j$ge|+Qx)KM!~u}{APYUnZ$j$B^O_rwegJPx!M+emuv3AziulwgASph) z+hH5hyC5w-bvNY2hbL4nLHcQYAI1ki<1(a&@Qx6l`YgVH;8XvgqDb$7o%N}E@$O~p zy{nx_{}B;y>~`YKA3pURyz3BW6Y#zjpZbBi3h7T(7U|E_1kzvO5Ty^1oJpjAfOYoa z?D?CKzNoH4`X`+Dvy`%?k+-b<$or6DSH`*?X~23L(laf-XJsi;%!Tz1%A!5g4CzBS_hEdh7|jU*87nkKVwEn zAoamF`Vi8;wGJXZV0{GX`>c;5{hIYLq(`hfkv4G-!$oueA z=34dF{_~OE=wE~Mo&I%5-{tQ_`ZxYA%-G+fv`c*)rCsV1DD6^rp|neV3Z>^^9%G=* z0nE(3>KBLr#jS^}ZN6)Kp8{DH`FYfH~8oi2T6>3d3F zTh>{2UD<*1yUXh%zmIgzyKvsU^S(UqYx90H@Avb*UlEvc-+_-=Qh%)An{}{#x1UF z5ZdJ;Xpc?!>&M?_{PDkldOMH>?+e7vZDT3HrTnXzzoYi1OBGZkJtW%h>irHl5mo5drn*(`qS((ZI3%cgqvC9^pj zHjs#BV!JxW;v7I{Hk%k7P6^$Czg?COESyoQZNr7`CQO;Lgyp~ z;KxPME%PARsCp;HVple*%^-JlIF&%QuV-vxG?B5dwoN1^2<^;Hj>R^mW6>0=bfr_N zM2uv^RnHz!c4Krbo=RkN;pliYqw_siO@R4wlU->KOt+s)OYMO~4mWL#W_Rga-zHET zklf^WqEU4XoVj{!`_NE|J!czLT$tTVC95{79pH!Nra8#hG(@N-H*$I8o~!;Usb4q= z?Sv-Rt{UR+oMZ?5xMW8e_|qmShP*Z|?W`Rc8tNQNk4=uIC$fVWYQvRHdM=t&--b+j zVjP?c&_#*Ki=(Lth(R)g%f9ZUP(7NN#1%=@R6wGpIY@Loyqk58&FbQ07SlA4n}{dV z+tcaX_QXzf+}zZg&U7dCG~!wRIV-fbI2F3Gd%DtNW11%h6Qj^PxkPJ=!qgz$18oCd zX<5bTz!9r-d?J-tt2T70-o8yegMIxyYB0THuvhI&J&hU4J4M6-d`aHkTgl%;7b(!_agBi{@Q*C!?-9GOZLq^7%h&YRT^<$+38PZ+82{ zSS~r5V8?L|$uqqAEvZEJuo}23r8B*_1Nux0#@6_-8qLPinN)I^!jykweAofF!k?|* zkQhs3k}(xe$2eDgW7%AE3^pe&bD=IwC&vbNLDR-nLNq+Mz`ovzsqUJ9o*v8Dkj~+B z#^hlKMZJ<42GdlysxP}eF=A_-En_J$BWlN3ie;T~mK&XndI_`}OT^W9ERo9fCUW49 zxNuir_ToflIGs)OjFE8+@RDd|3=)?Q>>C?N=Re-h|jKvdi%-znhbT*fa zWleG7_(dGMCOS2lxgk3z6vG-H?@o_KlVf7CKtXs58u#Q0%Gk$_!OkH;nf&3(XKxgi zEv~ZiM&wH}Nw6^;5D+D<;wG~vE0dW@(XRGT+91)SGOwv5aN*3UOdSBJSdvw?OytHV za^1-c^g%j94F>S)f%HTsmROq{8tP3ZQUFklvYzW%Bw4$AXlQ*jwi`2J-?Al>+zFO~ z;+tL8ok%4hSdN8o`tKaU2-z7#qYusjv=b`MZa^a_9>=VXoyLw+EWNT1-3YKCUyQ|) ziR|o-`o?0ZiFjgQV%Ri0XEkk9PFMvaI&nEBY7UCbMrnHj>Mgk^Q80D0E7B|4kxSC3 z&n|SkqNjD-YDQ3xR{UHf(f=dQ7$5o!BWP8&SXo$D=Wyy6rVTJ*qAoWMbqB|3D z=+s?l4WUGJ#-Q)BHjuhD570+$unTi;c2u|VDi|7ZgGXQ}F)H!&A$j!Uwq!2Z1(_b8 z4MmZ-%#Kl2u#fIV&sDiWtOgRW)5%;CVtRFAQ*tCh`(fKNo3KW)+n0_RbKrgO-X_MK z%bq<+a(_a>Vj?9CwO~k=#Ir9&>A9CeG*9scy%M0%75ed>2D)f-;K0%$9Zc^|jM-&z zkbN+1Ur5t-9>_XcwKoG6*qhGmhGC$WvOWquxMj?hW$lEFjU=IjQVF;`o+3`H-6knb z1;^@iXS>qz1gTA@1Rf7)oZXs9lVc#XG&X%>TVe31$?am>9GmTrY605|p8fnYY{DoY*^HLxjbF7)u8rdHr@CBk9=}ON^7Q29}@+G#BvH zE6TrsWY@#*`i+KR((Q_4ZYsMXmMWrb%l5vw`!q0C1a>qo*g;I8OlU^uzdp2+< zs=C7ypFn#7gK4d_q#I6SA`8!0u0}X=GzA5sDbSfprT6xuI0*x)^`dz4ItvFyJNAab z>??LnjU)4~Gcx;GslUPY`EBLvG)R2|sdTQPb7&DV0!Shv1&JQZ();($@lY}x(>6_Ey`9@R5-P2H_hJ^+c zht>=ErCTS4Q^}a!0f?AiihJ_`jM|J9!ZPXcL?)+uBay)p;LGmyMJ*0X@dNL`#I zF~GU-Dzd`(au0NVVi0p@)|j>euNRjlJ?^Zf^Ov-+O*#0du{3Vn0f&W6n`@$GmXjWE z+ODqMzfBM)B?}(O@g7(~$-_?^W@%R{jg%!Gaf22db-XRgpH!f+l?&SlI|cM0 zlIxF-Gos^E=}v&X_(2*6;;w8&QF<<2y-oYzDbOt8w9pUENo3?wd&9;Xqsv01H)xy3 z-=0*0meskpGqV#xKN|p|VfiLyIo@YS5D-<>1Mh+fm_VK?)8r9v71d|1NkK<4yg+-B z@<1RYX(m*~Oo3;`$O(*{6vAXK5CEp@;6@{)x=Sp3ap5$)C4*>iG}VW7dM44u?nK_1 z$$?`8(wFT;m@%R37=anN$JeO0SIYEswnj6k3u+3XQ$z=z7*-?6ICHY>Wk%12>fE_A zlR&T;fVrY&GWvlW%exc96I2!JGl=KV&}eW^JPC)b00;wZhuw4~pwkIK&T%$11X5D~ zS-rM#XeeuU#kH{X{R-F5GX1ag9{;h@7s5Q8;1(5dgIfUYDNDKhmN0aL zG?RI)8`CqG%y~Q2)+C(~_OZPXxA{Cp=z^WLGSN6xL;;eR8TZEtCm4} zYa%n6ls%)_E#x`ivx~bE*;pni%PP0fD7CCTP4LVe*3*0|7%@<@PjXqe+zbmoNqi!f za|@^qoK~m^oC|XcMF+0ME>98kT6DBClZj5wRUI2SW1a%rbQ42hH7tQ4_cnW9PpzMX z^mWsBpGc^lG5t$rASO~&iOvy5%M*7mv6$8uP`Mb7&SNY(1Bm{#8^$i4inne)Y&@^V z9&R9DQ9hW#&p>ofLiGqcz@$T0<#epVDTv17 zL-~PgI)1VWv12nTlNiN1{pD)q`$7mTNqGNdn$9nFcCQq%G8|BVMj?3i019i&iGN|G z?J`JhAX7^huAUBMF?@^Hbl2$Jb?&eBzD9C^C`h4 zDpJ&jG(z_K#&*Gk(J465JPu--vh`*iz{&_;%nF&4YM4Q&3uzBk@}(M)UJ3X0%RA) zXP;y>_3Q@4CJBtx%MUiKU|^(otfaNQSIf^hXI2QA7~6>~D6>iDumC0iZc-+frTeLNWRfa9 z{3b{cqZQe~bl0v#Y`3z{PV7DrJDYvvdag>G2#s=7ws8;GKUf%n0XV@naj>*^iVN6# zQ*=0yI;nnNW?S2F`|3S<^Q0Q~)_0bY=KM%DuQ{i96o+>(K2gq!6tN@Dn-Y6oo#Dh& zDQqbr>0Zx06Pe(A(iPZy9sXUPklL67EeGo-ut$~1Y{>|Cb2=x#_An3^!2XLINs!+@ ztkg0DlACN*ljSw|mfA`3GQFPT3F4GMv*_QX{Y#QirFyjbRVf5s6O7@|!N8gy&Wu7# z02{EtH4z<^Zs|FTjgSlx$sctAA;bo+j}|CRYTAO^u&++VR{+)Zgjcx}x@DxG9D_9) z=VXp<&4ru^W3wsfLyWtik9eM9>XUM%K>l#98Ux4%GmSf4_UUa8Y?gglm zcftFJ5>+o^R&JSl6vTy*GPe7qpq)(?x*H{qzBOP@uF0cYuZc5Y?*SnL%cV_@-7$=r z$QVdmA38FZV~M>ci%LQ%93rt#Au2n{C~4vPD>hdYj8_OPmp2o^?*UM+itFk+AeefnA4CqVpD$>DNKQlx~sX| zZBz)PeM*Y%>I4PUTx*NL<8&UN901@+N*?9%z=4nxSmYwY7%Wc}*QvMT$pvNG(|bJ- z=rqrjJ!ZR$f@O*7m%poRir{Rw63GH!`dr(71yeNM(C^)2;B0@NE=0!%!AuU=ih13B&UNKhK430`0pm9@_(p|VVp z0N&l59TV=?#{dU*P2_NjbIf~YO~Tgj>ju-hJ2^o_#Vi{a`iPNSf^+ox8AWW`-ei$7 zEMMhU5SE=Hxg2$~U{@$>gb&jhDZ(&ilTOoBK$|DH#pD67HD{Yg-(}WNa+S4-D;Fjj zCl^WLujRz7{;-+7V{C6GI$i*$yXBS*>`tNrovDd&A%Gm0R*shg20?-2>gda?0J)yq zoJhnGblQhHwi3nu-&M}(#5WBM4I=(&4kwyR6B_{<>^h@5Q|?CT0KM)g$i`2Licu@-)P<25}&IJva;8r)S@(HX?%VTtaU;d0|0){?1+}<(=7cU{LIo zCOG2;Wb|hqFqU6u12%&*P^Ow7=1wi*jMwDD3$%AZp}O zgNpXP6>UA{LXMy5sfJ2NTq2zzI0t8EHgtGm1V@-<{us{Tu`<0Koq;a!gwG7HFVBcO zQ2PLcE))kw^_hjVzLXs@_gE#i)vw}l5)Xvu`1F}eJOiQ+C(zhjf&+8F&<-|v9|199 z#Z51)EvP7E&kbv$IQRTBYCYV-F`dmv94q~OIej2GZ$K)?LyE>np;i{WHzj%OA(h>j zNI}pX^vtDM>|6qk!t%T(4Ny;@R>`PCmemNTLQb;5Ic*mm2D8C>>g|gJ&&b(%AZzDf z2e5%)U$`R$3z$KJL>SR44XV`J)2xMy#>oJ*7~yCt`A_t8dH=!y+&?>*lDO5A75d8~Hbf zdL%YtOnz2BZicCG4-aQ$GRU<$44x&OIP>PxS^Q|t_-c%)o@_@on{{&a83V$`CC_7E z4a9h4R-6w!F=3wgur;cnIR~^L2BrrmJnW9iaTp;nB9GdaJWd5pt?O(GPn#&12In=$ z+H`yd(}l;uNLQ>N?Pq0di6jPla8STKBTon$u_e>2UI@ z=YsOFQRpbyS}=D*c)TF$-~tdQzW|iUzX@dVwqa{~uX=R4q-vfRhGKLeC-VS;Cvsn} zk5du-lezQ68f4DKI9?M!h0~C+pE6;O+DN+?kcD8eT!3xDT);kWsk1b2%P%(DU=s9k z;k1L!ZeiAivq!KP+=v_zavzuQ05KiV=5|0MAMUvtcUxhj5=YIdo_#n~5ufACyJ!`z z&?N&2vrlJd#dGvtqkDbgI;$=k!wOP7UUcl7yUptDODA#*MWzq(an0x$6$~F?uf(jQ zm{8-oo_owts|C9e!OzLZbjt#CBswd>3+Hf1R*hg>o=ZFri|t%Q@I0`ILO>Rw-c%fe z#c6a;y|}~n+}Q9Ga8__s!}I867EenQ0N9*a9)S{hR}dW>67>`dquNJFJYd{~>36rb zdE`Y?NWyT?s*J{EWjz2>!gC8*&q;!;IZ9wt)!`(~{8`xrLkIL0ZFb_m4qDPTpnF-r zae**r+)nj*I9oxLICo%iYi{02JtT`q2PCc`my-@8Pq-auR6h{wTxU(2h38#lv4G%A zRw4Fo*cuP{noVL_K(ET2`W~}&@~Ws>Pivf9 z@M1Eq9Vt&qfrNNU;N0PXXgKkl9S_`zmU&>th4+ALSIxxO>bE+F=AcCN3d;%m0YXLR zy>{c<9;n@>8%s6@LeA$iYL7scO3FE3Pvq2|DTHW*Q*4)7f}h;hDuB~t(l8EQKN`n# zEuu}cau!rSlAxP4Yg17k6XQJWluMYW>)b-lKt5v`HnP!Sm+)Y)A%vwh9vnEq>pK*K zPI$nDb+y80fLxYzP_zh{dEXrX^^wlM=5B=(hq5VxBf;2_M1aTM8pL>cjz`#9KVW7c z9LObjJZq>N)en~16-}+51iNZF@Jt9!v|^uaw+(=%5aN13 z#N1SuXH~sh1NIJ)*&%?Tz$QGGM2VbPV0i?Z4TfFL1$U;T5(! zk!nViV+NdEu~1vEbFLx1$qZ0)E{Ul2G`OV=%dW;fZiN&61&i%qpv48)l1jYm8AnUu zd6pa)8@m^9cJw};l2OUp%RsyvX$D4wZ5c5Z28PL$#=M5t0Ogi!&**q=(ttb;7Ke=% zy3;Y?F!(}wK0zLb78cSGa@hBzG<=@Poa3Dlj`yPDgszTI(3qsZ2f_uloQ|PTkf5^_ zqIoZamoHY^)u7Rvo7UFbB0ks6CaytdIzcu2-47?|gEMe~2E6@vtFB(#G&B^`3P(7# z3tLlQUr7_jI&#;46IclzPXz2Y=CI(X7b|4b6o_xXnclJZthodic;Xmz&f2mtqeM zOC(J;Zi5&w-zSyD&BLjtk>ozX)O&pu1J!mJ7y!@PiVMZSwDyZlnIl`;VB260RGJ$= ztlitZeJ#z~c~|)QoK^eetTNErnM}J-wx-rkDs3;s)=;tFlAE)5E>Mn)3V(sw^e+*^ z0Tv#==klQ7iNQ^Hf+#j=rqK1PaAX-^Sf|wFR-I=%C)k-3`ogj~j;x)x*AC7|2xe1u zI0jvda}J)SNpheYcs2){eO!Y$K)b3P*`2@)e|NAd!~|mc1OemCRN9$oVU9; zhbUB5o+IYFU<5;tvq(^~;C(Szw1cg-jC77+%+WDDr?Lb^INHAA!w}w=EJ?dMq%_IR zHqpf3QgF6SCsT-huj3aMhNmV;3UlX(M6AdO9yY_0MN4_7GZDPUTp$L~H#fgeRjMf&5+xwUkM`PU>0)}1ae>1sTC z*62|b0PVY=UXD{%SOD6{J%#Yh+yECH;_TAhg`>f_z^u-f-^^8(JwX|oJKk+^M?bl} zvm4uRx|-B@zbIV&hd?G9v(ZA9S&2Ngw?xER!+Y$HEHB z%yF?oI0xsV$JMz!x;IC!Zmql^x4f~SuvJY)mkx1f$oBp^I}vlw&EednN{<9+QY?@6dc;#UdobR++yQWyrbMG^LK6n+sxJe9-Lp?_8Hn4S zfw*lMNS{%^20#=GVVt)@SkzX*=04kBG&V-aLRTR@Hsn1Fy(J?qwiLVgalEpImbYf; zW7DRlc}H?~3*V~Z-0kG44V(+UwsYMzcoS|d z-ol&4J94qfi8t%=?bfw`HsI~JE07xm3@c0gnUY47)Z*{WN|k3&8dZ4d74BAbrtWsM zHimbKCIQ96zqmV%+@w-xcjJ0orEoooxAi7aD>qlYy6q^-qLq~NJV#6C=J)lo^_RQ# zU#8`Grl#&yEpe}phr3#6>TJTu@VJpZCe_v}V@P4N+mMT5JV`ZzzXWJz?&$(FihHtn zyJ}RZq89ceH-^8RcFjppEuqwF^Wpt~<`1)b0h0b!$;C zjWh-**)Rc!w;y$>MJWjn=D+ zWl);h9Qp(XiziS}Vkoo~2t`pc0%!&lugAM>2b|JQ)Q^G)Bmj1)@mBZz+5-aLBR!J< z^-6P}D?@X^R81FJ9kWT@i@V3r4}VDbq)Pq{Y z4)WAFmpt{L4k>~&C1@oMUYyOheKNXHr7oGP)NP>`EocnMuW7t9IEMc@>Mg(sF%L=S zkk76^w_Swk3{AGZvNlM;aZu$F+)t_4qV@pO4A_N?#@SQ@udGFHZJnpailZeQO+}le zgBtSIGCJ+}6x1SV#@H+KG*=7G46U21)NNn4hoBa4!t-~SFOHPFVvo6IuKS(Vx16Yy z6s3kH58yl|-UvMgnrbbEx66UXQP4IDT4-4THRhzS>FvZkb3C4(n@3Ns&3^DFRSji` zQmQ36DV(7$I?>p-VqD~+<6%`GiF5M1!O`W&6Ut0;K7FZY5U8+cHmhC_xlcj*sV@wl zsWxgr+73PcbB##DyqpWovF*>h&y0k+4$&fDLd!)iac!Ws{*DzI*a6Ma37yt06piM2 z8=AvLfc;LiNM7Q2*&atvzS39u*sAkQo30#~)^&?xd3SrYm|A`b`e6?{MXQdAdCNds zjNorry~(~4yu7p%SPX#T{otQX_%gwEK0WUbvI4xu<%tUH0U_`p)Jx*7D~8 z>UxUQ1~mG#s>Tt}Tv>}YNps!DDBeoX`{+lisqe9Q?SaY&T+VnroKO&WUbAQ|}eGu)*t=^?)** zTPhwpH)JBMoVz`k8IN`ZT!CjuQ35(HEaVJBpL&dntg4FZQIqZCEHLO_=u!@%gl44B z6|4sa#09V35=v>KYaD~QTKaRGQ?FX;M}MRvaPIU{hn#}_e3WXZhmKD@_+s{)8KVRR zclyhfkAd1JP>}Pz7}Vn9GPTND?uF&M(p*gL5^B*cRZ};3tIjom^MtW!F-U&eIO=UZ z@vcyt#S15m_K3cSX3WAnT|p zyjz!1CNyzeJw#Qkk%t8MR{-sA{N>OlWmaNRUAr+itqn@vVQ9KibYe1lW+1L&H)_mS zje2EmI}y=I+#YZWnU{i~y$V`<8U%OdYw;Z=O`_!>&z-Lhc?#!{j+Yk^>Wf;)Z#r+d zL|LO!D`A%r+(XU8AOHuU%XR2QO?~XuLDgj-!(3cdGSX0pPJT@qN?i|M@-AT6d_=$Y zN)Xj5fYArafRPeoOEsHNu)R!1tHwpOkst~`<&NA>ZD=gNQ4+?YkI4*B579PJ{Apjf zwB^#;RW!EvPbdHT1KA98*z^c!=c229D}y%0H$U2-of2}e&QZ6ywdve&xV(=}jb58` z@N+pngi%#!BJKs*W(RkuTG+>5lH9~@0=OD%4YNy7XJtKnReGnrBDrM#y%<>r>UITU zJCtW*3Gn%(sasyj#OTHHb~I9`H_dV{>+qePE^66)4&&63+(d~>W9`(|LQ1t|R!Of} zo7-!lt4wvI{USqhGfcxAg$*Ez0f?gE7`MoSEMl9vn3 zqndhYD+cH;mNM8Kn9HqYT#&9d*T!6@u1CI6H6d-l_s7iIJb$NQjm;(J!>u+_t#uhE zj*h;L+mY=#sU+1J;Z*I|pD!w#x=_dDxRBG>k|ijdnnl*&i;AqZ59#@E!n(m8Yp_n{ zD*Sx3*AK>611O#9B*d7LOu@v*9H;*4jYU>+6zD;*7 zxtp9t1!78!V@A#*yNpUnlWY+Ug0HlW#EJtOB_=E~1oC%bIv8G23%qcKP8iVrJ0Hq3KD_mcg)>SE2S~MN#wfJHQr(B{`C<|$2Xr~X7(JKLye%xb%IbNJP zfvwR3DYR`uwzxYK$B3@Nvcc`I;LZi>(JDhnc{tTwEVvFxFsu(XHUNt)0_y`U27uQf zaHbF#k(n!;rRuJA$_usPq`FpJj-d2hLi+M+Pija;0=R);Fc<*DES2gJgzSfi|K-}( z8cCfqAoD~)* z^DYSgcTBftabJ%Kqo5nOm$f@Z3%N{3t4f`d?^1Hb!Bvj&y!7T7_n;WApvy|5q5UuI z#Zj1et^K<_7&cL)52U>~cl#}W^R89`Tv`D1a#PJCGcj;9ivGdI3mFY$EVCbMID|i2 z>?#MaTgiB)(dBBMhA=L<38JJHWn~)htQ&f17CmnVQv6tKF3ndFdfPCA9?W8fMpjK7 z%&(>?&s|1t`VIj>T7Axc)N`v>!)RG%3`bipvtS$&V$mkkFW};l9Ifp(Nk?)TRP?6y zaZtRD-T~JL?nHB1O@GYMMA4RWLdmU^UDnwNQfueQXg_bCu9hU`dMA{7plpG6+xm9* zpWi>D1YAFw=q0h6jftnPv-4*|W8kH>9kBIy4_X&^>5;#r^85< z*(*1$IF%8tGOfAUb<2TAy$+nV@Eit7HG%y z>W<8+_lx^P@V}n}0ej)NZP^wpAR9<>5Hd|%8G6L0>$hRYUox!1!=sbF$RkLP4-7}9JoM?(V zfoZ-5P*d+NB+*}vNwtG(R^o=fqcj zE2{3qy@MlqH0|@pVm4(8<97LBOG6>FGW9(}Y#lhK`i{$Rj0kgzcpS!Dn}`4z+6~Z< zIcQupjIo2Wk*B_*>URAUPTL6n*Zvblgi=WFXQ%X_*^Hi>-fyJ`O`n4v9MuPx)r9dr z9fLJdFUBvl_OxnrtgUcOqm8_pnm$pqi^HP5Vz7?GVe_;?B+KkgFnx%P^GU=_5GLP! zF)olM2HRI%FNcAb8;l>rJGnKc+q2&Ma&7DYPG-{P#(gdsGT0t(ESy^KO{K1P8L%Pb z3UJc?9?T64NhYHt!+&;azdk)6-9uPG-dJ zJ9GU`cP@>5&c$pl89j4&sf(;uoCypI{8(mxA*)fo*eKx(R*bS+04$Mq_ zl8z;ZZY)hFkmi1h_A5v-uZ&Ys8(T_yqW%oG}+h zn)7%}T}?029*B1uOw5M!pbdywXP%f1@?Chc0;e_~>YaR|LES|kfp*7O?EKRRTnV}R zRulpEq#1{5f~JM_NG2LtO;VScwXvtJ(M<_FNv$@zL@#vg-tpzsv=aY}Th8Yg%)HC@A zP0n%r#?1D~4~ELaD3U@%3J1aXSq|vZUv*I@LsNRWN~bkqj_wWvJKEzo8#P=WIf>z? z3rDJzz8evt=iVzELgVX3Qwr-HKXRf+!u=BZmAC!nJ3OB9b9shBR)*^bHLY+csRoBdo*YOOi*9_Cmr|1|{tWSHqg1*n5#Qpq#CH4*a< ze2RLRH@6V?z$da6753mb{pIAY^AIJHP3w7let=e+-Z+lh zE-9SLLTidAD(VW`?gQqU&nd&GQA}5dysv8b+?1J(ivXDf4apI#ujcXW14AhsFKVBj z?^=`Byb`SzkniFJKB`*4G3+gbPVLX1Snv67?R=7*wWu*S*TJBC*S2ujhNSe{i7Ly@ zky^T?2%}tgGB^y#z548r5z)fFTwL{fl4{K;w8Ai>u1gHmj+5zsE|ETd|Fjm2nQZ?RgeB7qXC zYE+{$?GIrTAz!txNcpVl3SZfRs!4SEW*=_)IuOzsw2c-6%Cf3ULV;=@%2+HIRLr+3 zLm`3j9{mr<0onOP3cq2+kyp;#$;?awc~WNTS=Pcm{EguE0ERO4QLCz~DCDmKD5!jZ z12JEu0#sI&Gxr8VK3~-+5MimRnmJsea9uU?FtV5oUu1qLU^lX$a_UaBRaF)#u2phD zT4^BAiq!bgeuVA&Ba!NAoYC`ffDt4Sb`2m>b`(MdUs(A8s+{==x?wr+KTxa!KzkZ@ zhm;>RYpP!t3W7L~R!!Y1Q_R_mAomlJ^GNqrhzu!&}c%7!F$zuxpsvk6MuuFb#4Kqg`^uGnhrv zdwP-Z?98*cb>^5=HC-=_=EBiQffaH0I}DZ>QHgj)MFGJc2_m^II3dwRZ~v^#nK9B7HML!qP#*TQ1NNs zYeM0wsb5!32hCl-t(vZ^ntBemaG=w{NVo|cO^hO71$3+3?xfdH2WLm0@58n#Gox`N`lzlI?E zglm!3RZW*es4S^AbvG1^j}jUVL#b6xCoO8h>8mWCzl2#0!5F6ll=w&l^CIO{(-V{e zr08^d6siI#1dvx`7&H+<6A{p-8bkoY00Pljtd@s36{P63n3c-u>#O!*;5R@K3SB88 zP{JVR-5mYYeKN-@SqL4pe`Tn_vTAG@oW7|DT!5P~0;?LT07Qk@0~yZO-Ga<5B*gwz zY-N8323<9Mi>QhHoxIrJ6A39|cz=YXn!dhFfnP}m%tx>?L_Q&^({(ao)u>c6U$L>N z`@{N1o9=g)gve^B9EpIwkqDKgM!F2Rlmf#ARac1>5Yq3bX`-GZG*Vp&#**5iWvDwa zGu6c*@XGyR{D%>SVd8udzrQ9Fs+vA*5L;d~{czRP&+SW1wEb6z_KZZ%2m$TsBURJi zs+xYJYWh+1hg++ru7~{tg?^3;;2H+Oq@Ex)eMBgh#0AMoDotJQ*FTXG71T7Y7VC&6 z<({bn_z9!6(vZJ$`ZWE|ZuKXS*sAF#A`uLs8dS#IREI-8yAI2K4r1~58T`U_8Eqae z4Fw>!BL6UkR@JrOA{xGHMWmkRj8#qFE9o&b?hm6`|)2mB4i7PMN+R1 z!&HHZi)(!~_^I4KQB>;-*Z9MsP|%MXSQqJ;hDRecz%z_LA=}*`8@Me(YEAu|B$+-e zSnQt+6jkkivk-1t>&gAsLr*Ra6;otT%`;s$IMW47%@%4PHb4h`Ls)MJhXP^T@e*kf zCN03A08CBGKwp{%mY6}uFUd?!A0~80OY`)-G8xk^m4`S>W|Av-2aOeY6LO_**?)^h zKfEwhgwlKr$xwpKZ4@DtN}Y(*`)JinIrtfOSMEO`@;-IrsptW^TY7-vUm(&~LlqC+ zxf>i#P%)+$3Lk(oK^0U!il%GuPvk8e)<4vWGj)|SOUo7I0rmuSL_0%mBTqdbH;U>; zIcjS)g%)VBaLtSqz@LDZBXsN67UX`k@7}r8)LdE}Dg`Plp-Y0G5a`ty;Whrj4rwJ5 zl%JWEltjO@8RW>8!-|9g_QGlWPTLL_sTnE;mAK-~hvSB8S7325G` znN^VmqQ3+qPe(wv8s=(|U1-}dPX&0Uz{G~rk)w?x@UQ`vL$yI;14Ok}Tw>s_5uZ>x zG$RBP$o-H;s4AKh_;``l5d9c%uZX|RI#VP=4MdTif?cdt1?~XxMYBR%*lx@IkAmpp zx7}C{Zk|39wIG;cnc&n#e7+(-w5{Cfqv(OX?}poIyAS9)1k8G&cZ&g>fk$Qj-w&M@K7Bixevw(Y+VB}1#e;QX6^+ll)T2zf|)iOPM(#AXzoUW)1qeh*2 zw%qpTKz;lZDpt;1fij&|?LVSz&D1oMr=ESy%_1V;DXci;R`QqR&kvmi2``g?xhMwc{& zN?G_(3xnejp^Ik{(unA|`{u}s(wgqCn(oJ})l~anFgQW?%Tg5$LC;j~f5fXQr)@=d zA3P_Sj{T1c=})uey;@U16mQi`QhQw>6E&;QW~PS9YyZ&-I6@o=Dq#lDC;5IRxh6D^ z2*^0huXfp>v+)nGs_CUwGovt-)pAYO##Dlz~iRAsCa3V6qs46mzQD}NK2qRGf@V$<7geYqT(J;w}_3Vb*tL{ zj9A7Ss%CDIf49^?#lvFle^$63@Y}TX9MfRL4Ny8N(g?>B)VPU?f#DBAX|}7CiXtN5$*&q1~_}8KmI>)ih0E=d5-t26CcVjG36D7`w!mThfNr7-Wvp7 zZp-70m*4RS*CRm4jUr?iAx)@~dIV?niy$`g4L*F=&L!AU;X8OP$Nop*PQ>Mk&jfLM zkvjKTWx3l^r)XXiY zsXyrB;O=8ab3g9+f8+CxQ!k#}*#GZ*)V22I9x41YbsM*}xLI-hCkpiwe}A#&^+QT9 z5HKAU6WWac0s-n&qdN7Lg5Gk=sz4w1;EJ|DU~?*xf71OFeUu^ppnI8Dq$&!J(=`-o zte4v{z2LvQ$yrhO^j;+Y;l0z2_w3&E!g_1!Ed?*Qt;eSpM)@gcd_Jb$y!FGx>tq?KOOa|A`#RdqpE;wG2eQv6}A>wh#C9*MOC%sSPQ#5 z6uzQr1VpB8V{*WbA6J#}>UJjgF!?x>TcwbpWU~M&Mnmw9;d7#VdV#Mf%-;@H{t|PG z(AzR*K1k3bxN4DG;fnK@v9v%@<@DVsIE~c~F}at?4gR8g~u)eZE2p;dR0hll3W~pFuLy$J|5gh#ou|j1X`=lW&#)s<#dzH9G6~aRniF^cLhT zcQg4el4X` z!}4=&=y;c3r|Ua)n~uuB_2h~io`0Dg*Jqagd2Q7wAa+@#3@u>RFlU%CX@E;#fNnjt z)^C>WSZiovVZ)%Z)^9Hy7`ylurU>gs8#g%3h=&{jvTPqShA z7*Cxz^wW#NLIXsbfd@ir9r&k9Rv{|Lh`L^HP51lYx?|yml^E7uK$VLyu8Gh)B6#Hp z5bn@7mSfHCLj(x{SP*IY3a$?@3Li?z(j~P)#6Tkz;fe^BCq68kBq|<>)M}cci#JzI zPnX%3X!rVX1@5VuzNsQ2{}UouKMa0HuoOeX-6SUfIt5Z3{Rct%vf6;jR<#7NoNfnvbK zVC$+v5BM|?7jvpFAee{*>inss`fM;*0z4oQ8R)Y4LVnRMj_kZPPo$&;9iV_*L6k9s zib$1Awh7Z=eU5EKOrNRDScTg%qC&EZ_Zk;uDw^MNNE=rEjM||ov~I3U1y6^j$WaQP zp;F*V_T!|Jxwu_l+%6@b(HEatP#bjg0($yZ)l3J~Kc)OuUXtvlOZ;MfaU(0vujSV9 z!)_^JW))6to6eQBK}Pd#l&J?ZR`{SeAbL02<(N3T2r%sNV5&RpR)Lp|kLey5QJ3)U z3eue&g4+;TVjEEWRB{?eHZRdbQ8|p&QO7={RpdiZ1`w#aNU8EevKg2|{1+;ArVr8r zv7rqCo?t1%Q-x%}P!>sFoM?usu=&{YzU{tVb z>{tfCa5UtxA5zH@{41#qFla%wg0iZa8zS7FWDElVkpmbC10Hg5Q$#^C5qy)W4niJT zL#3^36;;zKDs+^-L8`1^$I~k!fn_*H!Nl?}QxW|6 z0%6#?Ad;!uBt75{t4Q%OW61<|Ygn$qFu`S1cu1+nn7>!j8zj9?(mN$RD(O!oeMHhD zXxJyYW0F3P-u=i?FQ6rGJ=5DI{fu<`P&jPQD5{3>R~@!+!h-)TW*}zJcPhUnznNc0 zj3wmbgZQo?J|PD;O3?vVYI?>})7QT2C&041bLsJVd;wKHWs>!{j%ykknpzt8UrW3E zbm*&whSr8A0odiMnpQQpG&VP~rofrwUt7F!B)Y0C))Gy`J4PC!%}t5+mT0tLB$^nB zH^dViiT06rYcvsSA8BtJ8E$B9Yi*6SH@Cz(Iy#yf6T?l-!-=+zXuKo7Djth9#^cC0 zHMcf4H#Igibu=^#w>34#MmpLXI##uf#99)KZEcMW?IW?)hPJl0mXRj3-`v!Y=x9nr z8&)M^iIzlrQ)8?lx(c87X&-59ZCMp-i8aJJnq!U8VRYHPD&E@E6pKb%S2dx#k!ZZN zIo{R+=txsMv1+8TEwL&Q9ce&c9VlsPZH%=?8=G31TURxV(szarY3M$(+GGu+6-A4X&%N;Yb@5$-qG0FuqxirG#rg$ zHP+BF(h?hqHMBKDDw;cnJDP__+S*q&jkLu(np#_1(eSF~Sgfg|EzuTlO2kJJ4a3n` zV=NA)A8BiBYiem+wW=Y}5N#W7>}YK4STzg*Y8xJI8EI`9jt#dbni`uLo7)>k;*F4@ zmR4{j8b;E%3TS{=JDOTzF>rKSORS~6wJ|X=(%KXq9%%(CO&yJiI7GIkA<@_fIc#i9 zv_{+F&A5O-wX_5Awgw1LtPR_MmOAZtOpceLF)E;5W2ptsH@s`{rS0)_Mm~eBRI{b( zzj|lwoTc@(_~LSHCb@H0E?bN5DkU;|5^)?vTyCi|harfGmbR9ajTr69mX?m_N+2Cw z8Et8X6gI^gAihdfTB@v(E9JJvrq=q#M!bR8Qm?7s+%xEW5Nw56Q15A}Z-sJ=oZ=MO zUrgio)2et+ty5Bqx;aaw9klB&PG<2fpMl&&JejVSPr=~xMI-6VX#LA*;Q@RE2%l8M z_g?XtM6UfO_#w~q*g2~=-~(s)xM>2UN@v!_hlZMz8n@K$SE1AG`1oFW^kh0Lu~e|T zXZ?;1INTv~iRtXLRI?pF!1uD`Lz>z8!E`!>AO^nOJGL`5Dc`F!h5VjiJdp`EuF^3J zJ%j688e3YMyP8+Fx3{*gY-wJl<3zT6^1iTbg>LQ{62my%qetzN@!) zWlLjs^U9X>O+72ynXK<^?`&;vZ0KrlY1fUnG_|)hw>5UG>|Wo}wX&tPt7&C>Pg~c@ z)|TGJ_Quwp-tJZFbxqif-iEH0&XtW_Y_q$kZDnV3Q`gG2#_sj&*LU=GHn(<@htqByz}?3l*!)OaUHN05-t*`)@B7s$zx?NGc0a%7E#>|<-utQY zFOR+9byqBTsNw!^eRcIU?>f6{&5y6V{OMgEd*hpa@yW!WZvNNAop-&o^Lx+x{_5T6 zs}9|~9Zu?&fKrF?cMo81#qS#c4bl48xh^s!Vlw+LzFSDYvyuY2@#h_8PZH;sE{(HqQQ_1 z6>o(~q=?E;ls65U^xx-R7me@xeb4tj@9+8j{->woo_)?2l{NKQe zLW!&f#{6G~aseN!&Oe3mccZz8fQ=1Yk}^{R{%5!F)jxx7Q-U+fq#MwG6(4AR2SQ@ASOIf8vdoqV!2Xnd{~p-ig?niS zpx6G62n_cFzrxKLw4^aOzeD#)g9YQnPkRFcQ%0zi-xIn?Z1MFO1VH7|IiX4HO12Dg< zPJ!%le>V~g8jSgnFbKFD=!Fd?QLx@17%#X560x$;aEz=HwA|j8h@A~Rj}7yk{nV3) z4GsrWL=qWGM1pQBK}8TU_rikspV+xLg;=n}5>C{{8hUtrlL`U`YSRnR#*%2kAhEMC z96>rRMiv_uLL~TkgW#uF3P8dSX71%&{j-pVdFa^xEkN{UK&nmz zv37$ANK1iPH7_VAhEBN~p->c0gQ#IK~0jaEYh9ALzGb@ccR5RYIikxT|z zNCaA-R4*)Oe!$BBBoe3?8|FbF27;KMMC?rPO9sZ@79lX7dl9aq^##axCLsOyZLLj1 zm%*%Fptn$b=~HnA z3+a$bkkxOq&msB)AX+^corMw4RS7crEj(IvgTg_R&(sO)LBR$RJwO5oTR&GXB}nO~ zbj8a31P{>tsCT;-(1O+@11BtZ0KZAcT7%RfCAm%C3 z=wWo`R>Im6gFr-d&{kkDU}ONA7?whg#Cjm{)|DXJ-|!YP4l+WfBJCPP@(O1Rlh_Ck z`T*k%5cEQd@(3dZ)0y7nKLZou06gjrdOEG68zC{&v2^WkhSlbnfQAItFPO%b6r?YL zhVl0E38$<5vxI??(MYAjfd!J@Wj(w+LI8QO-m?QB$cO~KMurGv&_N=$GfD*{0I6gm z7}goDl&~PuIUo!f4A#Mj`c2cN0T%!olfpd%i9mXgXdRK>2uN2|0O%00687JHfYeXX zi0rqS7>q?sq*#QCVG>w5UkW8eTUptMq!i>wAd|vK-V`MQDM;BnBG4~5Kv~ZM+|9gn z)PaQtFV7%?rJa!#*22$|>_LuH!qS2ZgH8=BH5WzOV6 zUm@`e!dA?^Qkl-j>P>po1+&~fO{*QK)QeD7)5uK5hQYe3(h6XC5%jPF`#pT%dc!pE`UBRwxAb*u;DKM0h36G7Y$wo5o zD@7i@@d-f#s%)q$Bd3|5x$#$8G#1~Kt;R_GPFlTFF-t1AeR&^ zmpyHMjCdbn1fN3`H~Lk9Sq1<@0H-;hQ9nZZ2-F}5)SB^675E_lG(ZW1REXxuDv0Kz z08s~lPYT*)0gN_`cZh4XU~m?lF}+7V_;J@G-6s|q=t_wGi_H1yb9lt|A_QPD@In+6 z#G3=+d15Z`4g&N0{j7*CfOs26_E#c#=)ukAf^Z>uv{7Jp_$=&ieRd)58M`2rP#WMj z9;FVTARD%js|@&4hCnMK^+rkx23QBqtL2Y%{3jv}&v;n}_{IU;A>h242(%^yQ-+NM zp(NeWCKzWy=lT)vU$qV5u)zR8LY#)rK|y>3AiIdeXjDO5M0kOcQK;ph^!eq}InxWg z4+8ig(Rvu%gF;o&Xp89240oXj#ta@nC{6Q<@e^GCSsL5Yc$K~_6mhPKsFL&f{@>wI zT^f&m3-fzU{T-ibgX8xQXs7x9gb;r|zlK5g?T7IA|CuWfEUJLYmVf|J|Nr{GM}gh4 zpw4JC3Z}}&v#>2sGEI8F5Mo8=QDw;>DHshwxJB?n7Pd`ErVx<{gNB$5&L8v^;F?1XX>>cGhZM#e5)YSe-tzM*w(6$KJ8Dt?2 zfKn`u17>4kT90AjL$9~P@xeUE!va2bM~^UHptMm)!8mT13rS?ImW4X}6^hl7_bSqOGAXu)_K*r%YT zPY>w7Zm3E!GNNKQ_MOOqJ}CvI%!J{nL932b1d* zKX-DDJqfKVJZp(%N#im&Rk7N}GeaU;eWHKTP%VaJrChhO+PF9@@P)9*L(#5Jm-fD> zU)rg9Pr0ddEP<=r>e1ULuF5CYZoM&Kba2Y`&m&jr(;L~*kr^&Sy?ufA1U8C1h{EsK zEnt_(9*nwDTF`sFZj({C)XN2h_Sc^5D!;kS*Mz*rx2@}Dru=c0*Mlln-SG3E#=s|< z(GWqL&#p_rMt1>Ok2lr_T5+}JV%eHcTTdrF{FAa(KgrBsd2EkW;R8oYG+z+!?$kq@{qi!uCadz^R-c6A3-R99J{UoP8f zvLvztwn1L=V9ek(Cye3MIC)qWVIB^?dCTF}K=q^Puwh_dH<1kVU0Xi_3AY&LM?Pid zTZmTy`)%+mRMj=qv^3}#Ng^1<@tX#FJ+ooHLp`-bLqpu)oc#(@0oNFc4rz-J!GDe z&$b#`^US<#VgJNi$^I)kjt7nrNH>mIb$QvvWvg_kb`;$hS$WXRE=AM$q;-|=3+<0f za;SNtQS0(l_hgEk&%DI5^Fk#&v=Mu)v+@H+PuaG{&B{s^I~Fg`O%){J2*(@hrXE*! zx33lQ(XEPDmjTstUMiO#a9O;+!baN-Ov-#Z(Q%{~8{aPf$(NkD=+4Fkvo408l5t~J2baEeh`j4l#hWnp0 z*x_{Uq(KyySc~SSJ1a^baAm7(Jd=9o1z(2BNH|qBpf>L6Meku^xQJ#z`o=qXa(f<# zwJ%S2~1Ur(1VEzqNOHkUO4n%FJr|&1G}LCxUBIH9{qyT<9&Sss0it z^e}m!zsf~nuCB#g=+~@iiLrmU;Y-+^QM#5J&MiBiS^VbAgA`}JoP6m9DZI*_6*^-k zFN*o4-`ifodrWUu9zV8T`%yr1S5#xm3xaGe4}eIZV{!@ z?%-2YZcEimud6nQ=Nc|u9x&=;bLs+%rZC3r(zZsb-dcZ!5#A zJbZeA&F!;B)vn!5N=)IWeJ9(3CbeDi7r!yN^jOoYB-l%BOJN>ik>VZwy;D#6SQp-N zi7YUaA6{6O#}`qzPv_OACo7z|#Vj4=b-wb(r@L1wmZ@xLuGXE#-#N>qbEdLiFVui)P2b{SHvmO?t*evf5^&dN*~f%tA2aynLTA9l10VdV;*Au z19E0Z-FFO1yWSBu*R^dr@2DrmG|>^|tb9-MNr>yBbtVyKr%(emC1|R9?-hZwwM*}= zHy_r@UoWlo$Rs+wAuHiZ)Q&eFmB!?IVNFvxe&oa+E$!tan0crK4 zn4`(K5Hc{Q1A{9fi9o*vy%u!VSz+f6tGMIwG-2n)5N<%&*}^uk72_EQJHy`zJ7oex z()|WL1&+@}kjG-;55n>L;P}j0A}KM!@d>aVqc}9QSmk%cA;Q~>LE&|~{Z zVWm6W6d#Gh90zy?2z#;&55#mva_(**x+^K@PBoG{f)b|d^hVfQSJtm7K0fK!OQ@Gn zD>&#%Oxzu_%fx1VH|L(Mox1xk zY>ASb)5j89|KAFWBkOfu{*? zu4GJ_tmyl^vb|RARj_o~vvS$-_D7RkWVO9V>?%b9R7{yGnj^AitSmSXDq4X$y?z3d|@j~#rM?{c6U)s=5jyK(Yh z0h_rgcUGKOJ4(L!%;5q(#U@2_)z)B&%0i5#69<0S^gOw$5^EI_lE}&GIctRI#^lP$2m&mZ{fj< zN4+v&Kcn~Q`=kom-(W_vuTC$l`})lLNdw}*l=EUuq747=kdq! z{%DiS7mgGBRiB>U?SNv2p+YDu8MDprk?N@&~4V zxlq=aepu$^y1i1RVkJwLZD~yZ@Zprdoe{g~z7wiPk9{=Tm02dT?RH=OUHdCRad)9V z?iY2K98PJ)l?b%1e5@T=6F;%|fQ{!7w4si*rxR;sfzyqYj=i4=56Y!ppPkj;Y9^!WWlsU~_F~f3;^@4~A36 zpef`8x+wL9jDBcJ1zyj=SVBsY_<@Nnlsm}o)%z#XC&CV|PL|kxH|JLB#n+^krqH)h z32vm3TDY;@r+WQod1=cX@dI|X{ZI0#i@(6s#UEyg%ftlXsEbEI+OydfLTnR@yFgMW z8e;mgoBafRPo6p?~0+ zuP#gCVTmLHrn5h{PpXeL`=3zWzkb&t2860ROoEEHxQ$q|gDxk?U zXCD7owGWuU|9)cMa(91;gSq@9&xMM!vfGvnR#WmNU$)%6cE|dqV=d=P)NoDtULKS! zpOtU(HEj-o57|wZZ#!&Epz05HUMkVPt$(olUPIz`d-sVAigm1Y>8;l*O;+iuPJLiX zmcjEq7r*0WRFU|JBUth?+Q0Ox;X>tO-8T1 z5mIr+wrGHK_>D;0o>Q@AsqTr@c}Jo}yLTrRw%%3Bij|puRqC8wZLO%A6W-&~#uoUJ z`!sgf_A2J3wz@l|l6>yAbQ7)zpl-!fy&m1-x7|7P_!e%N8WH{6OFBwNi&~A|Hg>9> zz3+N8(xGuCS5#i^Ic?&Sa4+Y`giwLGwZP;>e0T1|fts}NHth7y z4|V1#%vR=Sa&zr^vXC{)<3a@Kqv&){X?06P`=jOn-MyK2& z0auipr)$ESXPv~NrFLpUqh#2fJ{#WvJHYmNws|&5R=<*Q%HJBD=({VV@$g)S1rMOh zf;*U+!*V!z+LSzyF{K4l@=dTCus6@x;J}pJ<}b@)%*y{>Y2TZo_>js;V>n@UMxjg# zz8l$SGi0fctoadr%Aen>-JzaXrJQ#N-WtOqldR=lvG?c=?F-bKL%Y&;@U*tECHW1@ zP8=02^G|E4s1*)!I$)+_d-1HGm4vE+E{9(K08i(enz1-tU+@00j%dXL#Ad>+gP*sv zEb{k>_R}Ps+>Vwtj14Prt={f0@7pKxq`O6md>i^)d$~T#)Jv(+4Sj}m-{=g7sLoc& z(#4&F>C9!;hl!rY_~dF^M%DBad4zYYyqD1ksLLPHpV3BLS+bApTlDJf`d3%CN%}WD zlWBNvBa;2-6Q<2}gUsXA&Mt1phJBl3b{d(ZAE9HTj(;S4WFL$0e1TfszD91#yYuCe zAG5ZO1X+7H9L9x=P)R-&XRYn(1a4xnux0USg=Z{7yGPjx%Jwfq^`95NC+4P>?p2W1 z{FJ~gc1Kdmp+s=wKCgjG-S5iTI6oZOdiS`=dG~_UvpnmTM|ouD1d=#aC(Q$;Ocz(* zYz)z65#PW+B;EPARXRoJd1c1NizKE^N5-@@)UKx3sl?QbZ(f@ouDW&Nvc42yUD}JT zG}cJB6($!)c#Hf}W!Q{wibx%8625F>Rw4KGUS9WLg2c*eaye$%8-%-~U2WKubzXcD zYLNBeF?8Cyw)hCYG3(Q7MyaMdCw8jUnDk&a{@ES#tnnZ{_Sk3+g`GO(Z$br}5p6z+d4O9N84(Z<}CL zU6^hXz{)?_y!maC&BF$x>!B{|a2k2+n!#z~_ZM}`*lpGFKu0y5`a6_PQ6Y| z#_PeMm6wF0RZ8QWV^g_Bj@nLFjd)5w^j~z__04p;-R-Wi?GBc&9@V6sc#@e>sim;) z$Y_Y)!d7*~kaXO2HM!a+=aQuwAK%D`J#U}!@FVm3LqWbPvrTHpPn1Q;Ym~ITNH88Y z32w#TyOIRESSt*AR^Gfgn6~5Tff8u#<+{+~CC)yZ`lj||E)&)Hg1sFUV~}kUezVD4 z^$~AM*OvlpOzh{L9OM2fvT|>Xd)%eoQ?cq}>K5--1fS$xH&V~cbi5<1&{Bi4Pehfv zXoCB7^%}wPqLHkvdKSIqZdWJob%*J!wrWt(vPehQ82T!4KTlj|GT2e;FX-d}g|+$| zbGt9M89k^XNWNc$ow)jum;FA0#Cb#AYnO9gVS>1;J50&kx3Bx6%?FMYk4beFHNnI+ zy$_dme5t%E(j4&4#de)5Z?E*FavSETz-As%@~gBDwoTiY?7gx|pjTMq+5!PVy)CDW ztKKe4c6*SKvzYAHQWjlZt?NIiRLYQMkAO7mfq7>QD!@#|OnV3B$g`#^G_qW?yvTOi zt0}vVnz_nEP5w6bS7pr0d1COVQqBbt1lXDN56&4&m_J4yW$u{<)a++=ahN*J_Q|mNP7S59;7l&THMj8mg}Mz$DEQyoxD70h)hBYuxBvAvA$_b1iKw*`0WnTA6> zf_*_$&bL95_D{Fig-bbJe3UzxuG2E<+fRIV!r|2W{Z(@7W!t4{_4De5s(5*MTymSf8dH+E^rLks7h5dHJv!6M0b_t~nPjL9hUyT*}e zb=yp{Z+N7?>Y9DfQ3AzO;f&Q9#Rh&%Xua15sk*SB)^xVovyh{iy;o1z{cX#fji7WV zq0E4VxhLcv`UuHMUD7nq4*n!=AK-7yv!?jZ>ay!2DQ?zBJKHTbpLeupJL3l##cs{_ z2n?HMzdUB(t>gElt--)7Hg<1a+tkXZ)dKbBZs``_)+N@|qZ_ElqL+vYq@;yR51((B z6HejCP=9dA;=|#u?4znvQffXc9xuEwl$zBwAn|-c)=)=!-w=i3?B9{2J06>d17f^w zG`e0h#HeHUpVv=o@6=x4xveLJU}u^3k{VRN%-s;m;?I3fbiK-kv-u(3uk)$sHlXaN z(#%p*`TzSg?PHScV0>X^VP3(-gcfEJKuszvn--5$xpv*od+!S=jk>T=$Gv&LY#bkV zBK98^)AJT>nL*?YX4DXGPzEd^xQJmIL6*H#)SPA$G-eWD3amY6hrvKN1$a5kJ_7(* zXJ7?4G@5_^%nu$L`dhyGMaWzAd3n*u7L8eB9%9u&=dr^Jko-)n`Ph8MZzw5m{&)iL zWr~kSITTA~m-yI?)R~TTYzV){M9REnZTP9Czh!$cIlD|n^3Al+@}zgu68kD9#(F;8 zxWjL^BQ3X)@^+J8sJy6mgkA{6rx)Hf6k_S*+#uS*6j~W?mf#*$to?OpI5&&e(E^)f zNb0-Z`WkrMSQF`Z_SPzP^MsJI-h3}i7d~|+=(gafn1#Tm!bW4~z5i@;(rm0hGwIB? zu~MP6u<)!U4j5S%eq(FvV$pZg@4WGw!QDoE+rP z1jirxAJ7kePB>sh_Gwn*Z-&)RC*}&q94pTWuN0`N%-B|T?kOp4eh7)7MXZ8GmWO?s8I!!;W=RTvMaAqFMYBf9A?_V!|AR`lf_}(vefo z&Jp!T6>4q?<0lN`-6Dr1t76NDo31B4e3K*RcJivu*H>Kvu6(P*iNi~8yZ<4T-4eTd zrQhhDW1%n4yPKv<)Pyec5janj-xwGFBG-cA>>9(lPa){Z>993r=S<$`Yk2Rq8EBNw zJ0feZWr|&?c~`tG>4pWt$7F@{6X7-4n-zApSg@Y@y3tTjEZ1Tfqgrr6wl?}`uA{vU zb#u=9)R@9jSxrfc2Yf38X|L_BfdtGW{V$TUki*C!NI zD@xKFr6m=PJ$k=<9oL7UcK7N7-GB5=T#(qErLNTX(fc_i^<$`(`Bf`w)`;?0sQ8zY zW5&(n-3}iP=IG;W|J?II`)hAu<7v?tsv);B*mtokxi!PyPC~mR_z<#Dz?~9?;s?D{RE-V|8~MXR-GwMe%xP zd&fHhhPk#KtDxxV{$^{U=wbDn*Is@p6n`s_mYCe%T+y_h=k&9|?Wjb{92E`sh1*uu RME5K=y=Q-YIvOaB{||KmO+^3z literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll b/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..b6187a69081f288dcc82daf84587e22de789e4d5 GIT binary patch literal 34728 zcmeIb2V7H0*DyZ!Cb=m}~D3 zuD$nl?Y)<^yY}AxXXYj$i0(em_kZ8-`F`K`#^u~OXU?2^=FFLMX6D{xDh2@MrO92E*m2Q)g>|5$lR|#x_9R;m_jJ453I1loV%SCE$Z~qY)4F2tz2L0YXAT ztpICuCev5YzE|o=%bgGs(VRjG28S+k2BZ*l;d*tbT*GClHRyqu(F?AGORC_aJx0Mg zsL4AKh!7=r0Wn0Do4y(pi$%~zXH~V@g{_7fuFm&|)nFv9F1Bj5-WAKXfm(faToOa6 zhyZ*)EsVd2MX`Jf6t}QIv3P=d#n45#rQ97_8gNIvLRbn%UIR$D9*e46k0}-PSXkwH zOsS~H_pV%zDaQI5v>g0}@p2_D7hf7$~Hhd{yummIGI*)}ZM%8hu={H*o zy%SkES$o%D_<}N7kOM*va(|#{6M&WF7dUsa7VyVu0?u4%z_RW4?nNCWOexN*)9keK3Flh|kl8 zKtXiP!&;yX#npWFI^c^dr$`DNb>KP3Aw-EpG$U_^I}7)uV3-hUfJD*A9^8i-@cqF6 ze?T|xDAi3Z@|_=72Kckie&wX z$RmUpEDvfcC=fVcI7|)5{lr``j1Q3wBT`+#pc8O~z#{opTVD7gTvIcshn>+(SeS#h zF?2x0ILMpe{!7G+j}6V?i5aegJPFh?*VL3Z#XW5Xz}e{5Mwd2v5~Gd465JRuqm6_T zYd)?6)=(P-1gmQeU{LVrRwCA^>Uhvi8IC_aa9cT^m0o-=*5~q2_%hb#a=+~$F{d25 z!+7bwTgStFWW4rNt(0MlaeJ^~fZWgkouPQzXwcj1$iLn|%+)r>O?p>tQZq;nG8wNQ z=nW=gyrx!dR#i2x9pB>uhvoJ#jSO!->owSPb$_4?==nosVt%L$9zIJueP0=fZ9h`R zi_Dsq_yz&S2@;19b~R=L`r9lia6hYav02a5v-GZbIe|`3eMVEDNUP zuvTCMT8M-qdyY04SGwri!^Ot3N~rAsB%wgt5iWJj-Cqgo0*2gIgzrnDIm9!N!qmYj zPc#-*fs}}G(sl-f>l4Bq=Nka3ID;yTQ<=OUF#0n3E>JnZEc7;GEdblf3!pL|xAzir zfrJC)05hpNtmzpDpjL2SqOOQlmt#+{ouDD2YP*79>#%)b7kgTs0*H;Xl(^^yd-{tLtcu`}M~xm;mJa_EUXgKu z;A~nTz{1pGZ4k^<#{Y3y&=+@{?`4b$?UDb`AFm4rapf>*-(MGCOT$?HU|nFD@9-V} zX+ri~!Mwd5J1dyJ=1U$JO z^MHrqoSX$$-uHaiC&uK!;JyF;>HwVeI|~D1c=N)5XlB%75?p_D;BO4q`Ny-p$$i)is32dqTXeTcySv%QyyEDQv zk{9^KD;xEJLFnAcMkoll?(79)N+Vcp;GivW646$Sb0-mB3sZ*dXd!xud>`Y%$9y=3 z+Y&wpyutUQ1!Y>8Kq7g67z-OA6DWq&5jcpbE}K<_jFJ(GfXj+(_&EW8@F5onP%Da@ zSxPv*R=NUMHL+0~lHOQ2&7rKFMBcUnhRc*`VNoHPk2PYTGT@QGj^>Q>r5(JSY@9@4 zBS0GtFp;zg`IDs0z&yzC9VC1{+jGd80yZm3p#ZU2#DyAs_4D-(mIweNJ5%4962S>4 zxH;LlvLtI#t%d0-@)3~*0#;%nA7G$}BZS;*1Gi_@IzBBegO+2VjG+V#Eh6P9|VF$j1MeMXdYSp_|&B< z#?OjZQMTp_0>MrA0)N^Cw&qSmJ{LK|xY>hzP!c~$K-tl=G0T*Qxq``fecm~M z5%XZxVgnP$#3tnmC0usQ8VSj0`vyt4Yym9J6*Gb|c_FqcEUucvvW1)_LwqM^@!kSB zeGqxm&a9J)Ve&LhfT3jgf%O>QTA&!**UuHycY?AQ+$@lG_5vDPbOGxyzQjyqj_d-l zu;_vHsL=>cUNozm4>W`GK$E>_triU7E8vi;PYR3sxEgVLTAK&;c8J4XDend*4z|W5 z-^I(s>FvVu(q{9U+S1xSc)Y|M_R2VmoUOcJG7;w%acFY2f*#}G;X^tDXM#S^2A^YB zgQ3EwpM|6lK{$zBHBmM5SxX&fh8%s(uj6t8 zbCE#69xCb$z&U_fgvnl!Nv$F&ygY=DHT?Ar@>BQ)Dgu?^n8G9b5d#>ib`e51;JOW* zp>~o%r^(HP8zMBz7a{t;V1>gR`3TofW+<@aCHYF=t-V)z(FJ70UHn(uLalo@CO|rble_txVg;s zX0eF9GKdx&5Hn~7fj5~Fu`PN7cW020f7XgYe-OBuz+wTW)FQAUfignxAg~4cYi0?^ z*-BtGp^qZ4A%CinLHTx==P-le?}Wdc!S_7^bP*Cuf&m6fF|1{c;U+;aa6SSFBE%t- zaw|;fYm0RVC30G!`ji-ARDFs;ZZ?>nO(e&W@+xagsb`Z5FojUo64-}1Yc&EzlRh>f z6nA^fDdZSHPo@1sTYI!q!lCR@du!Up30d*p0(~qGYkpsd;dBnx`Lk^>l#v)y-q<{} z6`@%+!B$S_sSW1W+hF=I0;j-ToDk0z(=S_N`a1&KlD3pRrg++6YYYR)3-k^RCEyo;Dvv%p-<+&6}BT-F<=egj-BC5n+J6WeX@Hi?1n@H zvqSf+-U|CbewUyU;7kFmGhpt7a~5FvDnQ zue`sY9LIUVWos$ah{2Tc6wM2y2EqA#f(+C|!(BRy?Vt<2&6pLBM#U^9@PZJ^MI(*a z278Q6AlO8gRI!A|Mcq9Re1;2-aBy9o5j)MXgE?7b#MTHoG!IQMV*7=5FfMb9*jH%B zpfyHJ!nK3hxWkCepgA-joiJjnXgkD5*9bO5zz1Cf=q|zb31qg8JOO&bazc+7hz_qS zVKfdEpyy|iD{$JGF&R&YY8WxbsxD82!dMLDP`*5C6luiT!>YvwbunXhu&zuuaoRB8 zPgw-phiXd#dA3Mr#BA-u0ApqDLmH|H&khYX)@i8T;FD7cHdQdhDw-!nKd^-c119gS{t!tFg5F-B!ZO) zf;q!@br60+iO>P$!QnyOAS1TeRsz^&wjI)Ort<2di)L&#PmUg#u_Zij^x2GU;Q1qA zU7`!L+rbM!E@tc~F9g*$V`q5bsG%9V!E20S&DdjJ1WGYuA9*pTWj$7A4~Y#Ehcb*< zp2UG^gG$VGZcID0&RkcANk)Gfv8R+j(+MHi#DWi^cT^D58Mzs;r&I%`D~dGNMKIlv z&WH_^`ZGPySR*!08pNp3GIL!6CLJ9&*F`XD^wo&XlTPLJLL!_R;ePX^vw6Ldvk_Y< zjb(CBZ8O%6$wL8V&Z9g7YG%gH@cN-GX3i95AUb5mdNPAiHmsi!nusn5^~_N8j9?|` zyv+^XFcjyF>q<~Pt0FWC8I0Ipy#CBj=&=#^D%qYPM&Va_z$iOd8v64ntQllc4; zG?`#HN?GxypetsqKQj$|U@<{E@T}>G_QUOlqiAX>Z#uF!W3zc>sFoR9!kdjk%-9Cr zJQQihcJLOWWHWY@w-l+(*csjm)X$9F;H^f(%-CbzdNkdPedPUydcYwa)+Gr1Wd|B$ z#9D#B>_Rilb#BaFbi`a&hdF>g8?ip%FGr9IteUWtV(^!vD9DKQ0e?A$x|r)CnB!=S z5sL+XIfa%Ou{7|P(`c``t^sovJuufrFy~QqC3^>3@Rv)do)Pl^54nPZ&Db*LI%;9& zJj%O`Qq0&H-d%Ls%$dSGM0d7;=sS zm21Ri5p19lOC;DxBbG_9DMoAv!R8yWU@?}m+KAO8*ft|(OR&R6>~}8aJZHo*co@5F z#701FbfBIYvB!k-vk|M#Q&#kWSH{>ObB_QE<-;omY;So1kd5%(7k>@_7Rq-qW7{By zyPC1zZR}8WGqx8nHwuN}b|nyBn(*C?mLE!TP7UCsP@u>JX>+%1BGj(H)1d+%fps&t*I53 z2|GO^8P}ThXX#iUQ(Lxd+4frs7nKp+Dq3-nhRCeSX-OYqp%2T+QY?F6NymNRR+9WJ zKkr|tWh!YqSB(44-UW{!2U${B`Bf>HlWW0gDZy06Z7s_jN}&8zaTdRo$1$yF&oviXlBuyovtXY{dL3m>Ssi)p-AzuHWE{uKv%7uyT$ zIb4MKdB~MW`1{%l|HrHT3QJn{sH%M`DF5TDCLhBiXewj-TbBRpd==lt6mu+R86FW+ zq^j`$%ABkh{fP5l_snnQn|u-{Y#Q|jNFmlUJxM%tCf3M@$Uq}Z;h+?vE$g3bE1VuU z2ya@rL;?@xL774DU>bIEm|tL=7dWBQB%PS}bAa+=emG4B{*C}SMy=S9@`YJLp=~fn zOp&=Nr8eXR3hl9g4D10rizy@l$iNQ2vseVDN_bzaBru%72m)gXY)4>c0#yJVk%quN zgi=6Y34x;soB_}kEd$7)lZ0}Sz-knx%p>#}lu#-|@6mEjZL}LG-UNogNdo3M4Exb0 zXfyf@ug+~oj8!Xun7)=81iOx#Q0@ruq+NFcGXO5NqX6PPCWd_grU?53Y$q(j6xg%w zrjA&RL=RXw>|LmPqA6$w^~P=%Qc@Aj0w`~^TLxO$FzW&K6z@YG)CK!<=mAxmzJZ>D z{&qmoaqgh^)FJDKh@vmi&(K=nN7P!fuX~R!*bAYIcXjX430g);Ktdp;q&k572NVTz zVyQIi#z0rm5mYQlYefm^`ohit1B9v2YMwNk3WruD0P71!0}K$BL9L_Bd};=jB;rvI zsDqLla4`BvvKAMhDGwT-Ram3CLO$(4YOTSx)u22_ z;sJ27ghx3bN1Je3Nn;B;pa`*!c0(g2!{}IQxZO_x+u2Q^J5yI+-|-#=+BF9FQG($e z=&2i84CQco5(A?~y|AB6tEdcWAwU~u1swr0?ZA=-XzM{w0~kx)vHyd9kM6GtpmyVp1Lj zWn19_v;f@^EQ4~O@G!t+;SdVzHj0{w1`6-cE1>Mb!IXs@T)xA_kjuw#p^%hC7-kT7 zhd@soOu0kgJ~1xuv&9hEVL37aJ*Aiu?MOJCN!bO%g#>z5!{v1p&jdMCY~zCgdA-_Z=mmP142;X=&f z!D%)F_UFU+3E(722(iZsKY>DiqUL<~ZihXF6c5A0LJS?b7_Or+tVU`*ZDXMve z7J(xO3>V|O*CtR(;0dBtFQVsYqT4era(O?T3DBHk48f;<<5TDu7U>7MsDRP8bn3+&^hf`S^PNAv+tOdSHgU`Zw zF7g3LBVTx1hlY32JpgtBpQh1ZR0m)&ss}u9A_3)6i10Lwn>WCr(1J$8kUzlT5c6p? z0=%C_BT+EGQ79DPPbeJVXw(qk7}OZxSkx5YI1~YJJj@UpO+d}jBg&2*M7wZy!6OS- z#4RSzpJ7~a&OykRvyx;S)Wnyz-p~fV+S5a6K>#FOiSktNWuOS1PF0Xxkf&Cn93UB~ zZFL!Hof5_78Uh1Qv?kr4(dMdj1w8^#dcZgB0#FW+j8xJt05w;H$0#GiLqmg_hek## zLt?vr5n+)LficYkVxpqM0t14AgCZkC6wO0}lz~cRRCrWmWI#+%AWBV5 zGN=ribfR5suEu~hOwtTcHx5CK;S7lJg=Hz9obJV%Gg*G=@ZBS{l z^-WMRN-EGB)H#09DuW8;=+m{jY)u-9(d1^tYxRbtJaxLJrzYLR6{XG2R+EnE{aUDV z)jFt(&F!nrQnRWUk(TQ0Jhje9iqonxP^3z)j>yPBEz|~<9HUWZXP~6YXrm}qZn`=< zo9LJfQgf5E`MPvpgPtu9`jlcv_S(Hdg3`MDYBI~-BkT)jb;kMCh-`_^LdYC|u0UoKvi zr8XMMNWt=A^;K!{s$5m3I>Uks4+*Q3k*J5JRftJyJR(L8=%BF_rBmZk2Su?-NiTk2 zT!h8`s15|SROx#~!Q?;DB$f~4&lq$U!uEsrP%h0S6M~qIJ!`86gf?}gJ`aG>( zm6okWiTSw(O^%ujNJ~|2Mg<8ww2=Z5F@^;hDd0|tYJGk-3@Nn8gif?k<)}$-NFhp_ z1Cv+H+9OGm8IhYo=&YWkh#O&pCSyI!tt(S{f^<@4fZLP8w?hzNfCs*5`G$&GBCj$T zx2#M7FUn=-68pfoa&08c(10Yi-h5YfHs~$M*m63;fIAbDpPgOME?<=mlUALPtkxT% zvQ>J$xgJvp0z`20>;i)1V!O4+0R*aH4y9`W$Ks;$bvg(cmgJ5)jX@1jQ(YxS;Nc;y z64gD`&@3GkFp-STZN_mpAc%49k#YxBc0Nlb zLR>SDRDcYo&f!X(MwM%b0%y$ERWhB4ly0nIy%Bexm?nrEAu2!dx!c=x%s1dO< z!afZCrz1+ke9kaC32KqAvB1pq_IQe#F%+#%%g@Zj?p;9xp&c}OO(j}{(I1jE21`~m zS*OZS=csg96;hH_Ixu|UIF-HFN>1LBJ$S69$X(lNU#x1gfJ7!wKIph?qY zYYY~(mHKaT%8JI{1}HMI5T=>~9ZUK)1XVB^BMnPP))l~R}e= zXbhUZYLe#@)j3*YF%~9f|F%7iY>@>J8ca)xZ(>AebIRscnt*8A^no&YN!?Egd)^VItHTlh8aZ&2sr8K(Ek$j(Mlz0~Ph z=2!@8mNt+l*g=6QN(_kSs?qQ$Ru6uu$;`!J11DSvL&gOU!HmOG$q5l&k4WJwU5@uITTDjoPD0NjTxSeoILHj0G=43i9u z+gAg5oWujTR2mp|0ii?YTf+VZuW@v!IRp>9211c)SQM~DRy?~4F)c4~E;mwQNm$iE z8#XSOQEW!+c5&KFJ?tWgZ(_V6rB$K=M+;ah8=HqLmWI=%O)YDB0EfEPSostCXI}% zQq!bmtyh8J>BFYg2m@lL3t|^a$hd-To7NjP3nc%71F@b9#)Bf>-m!N=29}ZpOA|xY zpjdfKjiC^+8%fA;CIX0OxA0^wW1_;k;5$^{{g$f|u4dQSY!YBM8*CZ2-Ub9ayf_F} zC?1v*ZSW6{7*hiI@e$}6aq2{EKhnf9(HkROQUMH8e>{uS{UPK)$i-<#O*9~FAkpEI z9a3(sE+Dg+)d*vz#ThgutC)z~0=#cEo%4`ZSRYC@|L8Wuv`m<4=W0WH2I0q?gY;Ib5DF5}}oVJ?CrE2KuqBOPf`F8ou&>AL}* zJ7FvdN;)X#qD**|I|FzP@RtmKY4F~*8nrREHq}Ky>vX8m!@qdA8W615PzD?U=YX7a zkfwziE$Rt1eyA_d^ze;f6-a~m3Z)EkXFn)o83y>Lg@3pfwfOfW^fAiSfQ$l5InE|s zlR$DlXvFG^_*&={JduY#)Ys-}Yb>p`O&((i(beoL_IJg6~SLTI8O z8*C>?fW!*OMrC0cWR(MT2B7o;%O@NAnh4tDqG+&y4k&mOv`{KQs9rSSd0+)CV0g50 zq3%0;9*IO!K5#V;}o;6KtGIh%Ompl6w8jZtU} zxl=auwjGqPcWA(4G|;;Y@IKZvqJYYdi`n+h@j$^IjctxO*|9;@E7L3arNku9ECr^8 zXVaa}x(#?5HC8+1V3zOBqlhb`C;>+Xk4~TMe$XrvG3+apa9nk?7I=RZdf`X_(pDA zK4tI5MU#ew@e{GT8+<9jzEDgH`5ZU<;)(Xf zQzSAj6eI=q#n0XC3*9Bf^WZrNP3k7XF}@h?<>n4rfMTC*5zh^JLwKS23@%U$q5A?p zZc=Dp2rAKTAltrp6x2_#m+_z^t}1*Kkf9wdfG!q~g8PbPJU6!r!Q`f-({Anp9(1vI zwu6iT$jSmeEmfTj6<`@R(38&x)n~&MY)o)$*Akw9;d8(=V(1!1B_%f4gzg-MPh&l8 zWsDmu8AL$8?D<@G&`SV+j`qdFu#RFVl+YLw6cooCk^<<3SRkWmDYBDN0#h{~ZYzZs z0Y0Sg7N2-mwykwC$>HZ?I{CB@6|4dFi;SXY8s*+wftos~iva>NYK zmRz9@20@Boe840OhQ%w1!Pa6w5Q86p0~W6ZcOc_#O?tKxa|yt(w7|Ylz~_SGMFIgk z?u(!-<%}=kB=Gngfj}VQGc;}rWSRjNq-mNXqQo3N_#?QB8(jkl zHVsJWP%Y@jD8ZVhse>hFMGcC};mI)K79%tnrV>K~06Z}%LW!S7;jdZnPk!jQZ`H+T z3;c#Iw_Www=E42Xy&sPs@sZOvdq~`jNj26ryjOPd?3LYD%T9$zJ?IHmx<>DdrwrbA zv!C7g1N?q%>)#I$PkP9EeCNK$u0>DpKhH>sv;KMaiW%~5X+F!T)Mju5Cwz!c+o z4wD&XEnG!V#ZG-U90=X)Jz@5_*};^kq!SJWAV4VNzy-InmT`?GKv^=Lw3&V{BZYOXzK)4CKEFl0VMhIRGrcg5N)KRC(YopCIpU=Q4skWb<0zMpy5WG%- zB<90CKRD>lGT?8F^2jr9cr)42e6%Tx((3ZG>=8Laf$%$YdzQ(*Tk9u_$j+9LGi<#~ zr`E%5^b4XCW`7Y_&e8hEZv3E>qIa)OCuP{Pl%Xkg;S>R}&8CDWo< zeIo3DU_X{Y)rN1e!7)RnM{ii7B@YO(fy3j9Vgo=z-~I(;~L;;XKj4SK#s`a z6(o3z1GAY9UeNx;*^3em4Er#n&fCGyx9+)jxl8?VxgCa=H@khtcl@o$?K>X5H4IrZ zc=gg~uT48A9OAWo{@1W;XQo}RxBH#ky4|L>BmVffX>0cU4@$H?8$Yw=J=`3z^pbW({F{`-~TbR!=7uQy}AXg8G&8M^joFa zq2PUW6bIXrxb`^7MJFxI*>UX4yvVpM+UZMsO5!MN_2>pEs+3gxj3-5zqECSz^i09K zUi0vzRPo0YIOa})rzvVUwMa3$T-CGo?;m$t9$x2Vq+yl+FLaipp@woPD9gqQ8K?raA{LkmV#sV-YL68eV#g*leI0pOT zs&vfP68<_B!}nvj7-K)f$pWJToFSybH(i^W&0pt^hoXmB3 z-zNMyd@QxZ~?jb$}fP-b=(EzVyf10EIfa7xkIPeB3 zxp20^a%TZu3*7kEG4We)rapE6Zk?GME3QOA&`JS+p->J$Ay87nKm3^wZ=+Gf!uT#a zkdOD|6+7mtee#3RsW{ugR<1bPG3~e$jN^hwO$T=LGwbVf8T88}+Tqd3gA)L3txPy)!69cE1dOV>{>c7*z#T#4%Pgemfr`&(@Oh99 zPO$Jv17vyxzx-6`{;c<9Ks`R|(ZTNknLGrc<;0$CjZ*RX8n<Y)s4l@A=CAe!Id? zszSdKKv#T@mru^6Dn=fCXI!fKUK8Sbm1TVEfq&U%%i(WrC_Y_YT5mLvM$i3 z&@gdy;PQ77o^G(q9SAg z3Z+s}!`UW4sR&mDDB*SE;P5Vh1^}uwq6))*i+)D^IX}=}QA*XaG!%>-ryU&ir>*Hn2SaHPiHBkv^<7*8Jd3OC}WN@Lj zjsK3HHZ@SKd@ z#pqh}I(qKd#QF;YU)&08b3ySiXK(iHuz^&%hcxM&V?q;wuBm-dCgr_n+vZg*J`P$j z{K|8~pk~8kBfN?(wpo0sV>}IxN-Zd*iohZR6g6S2-Rp2&6i#MujuTLf0DPSX2cjH> zJ7y4bowyFcle$PEMqkKUv+371^j|dw#W)w7R3zYP2{%^JVqtSdl(N2}9(Eopsl}N= zTX^}AeLqf?kPq)cYGsLC)xSp`o=l<}5vuPft-K<6G9`#w%JYV#`~UHy<9=%V5ZB;P2nBUq8Pb^E+DU+8qD9 zER8l#@1L&A_6KJMF9sh5_r>0uih-{p)K?Ma2lWb-sm~O}ZLdgDv@_ufdU*4Hya9Ae z{|~n?D6FyKQi}S@rD1Jdc`|cKX$m>ThHm!Bh-;=gbGg~HHEG*Qe5lMGsa_4(#bV2lQ+m$z8hf)3$p6sjZ zx3cdkUf0%VI=#Dnd-m5Qb*(Ng-mx|9Q0}YOV^8+$>t46<+$(9lpNu<_-+M#E$Sxa} zMhpwZA7GpyD)V}@OGkD9#MwUH;=qs+6vp4rrVXXh;Vz=TWj;~R}B!ZK0medkshwR2R-}V z4@j(Q?|*NFAmRA>=uO=&?DON~ujuviXwJ(9Df66O#ca6|mhnq&MsWYd<>|J*riS}yf9E?B8v3pZ?6iMVlP>|M*K-=LUAKBtSkbB3#XhgwbeQN7 zTxV~1ZpPrGEwgM_R;xYq=&LQ9;bY&XK0A@PbIjxs+je;v>ZH2JfBn6lJgm<2@Kzzm z2d$m7%B}X2Wj!COYWBVZR0r#)IXN!+)wV^dGgvy%h5`k$?RJFlB^Ql3aS8-mjM-N72kIfK~+62#~p39D=065eR;L1|K;U zz`+}Sr3N1`;X?`bH4;CW`!@lVWZ%pe!xv4zkzC;Fclv@Mv(`+jsgj%NlV(ItEj(3V zJz=*x)z7ENyS=)TIYYkeXnJ3Cq~XpM%ND%UTu$FvD|pegZt9^E3P;Bzw7+0IY0xRx z)^0BwMUGB9vF3Bu?IwJ``ZMn~uD0~}b+j%W zGh$P-;{E%re0Z{V$*91HMw1;PrWnb)voa`W4y0@YItIM@YCEn ztNvVF@5za)FU6~8$fr$@7dN(gAsBV8=H398ThI3U{?T>LhS+e?0nwfVD_8xw?&4*~ zk?opy3Jd5{&vo$HSM}aq^JyT{OkdY|RIgm^l1+xa&3MdW%1hp)w5c?{r`4|Y@vm== zAMB=eENs4{@1M=Q)C=}@OH3QS*F8OC+VJa_UcP(bG_S1Q&0~wEo%pL;dc^In{8=NK zF#VX5%-Z~#4m(t;jnA$esLtJSJ>sBP{?|3N|Kn+I=A}%%fX>Z}+1~l(v_-)3W)l$ip-Hb`=%3%=%m~clY+3oZg2M^-`Mw3CEPB z)y61FtBr*1pQ2>Se>!pfa0h6yDJ?HqrGNlr+!G2pN^A2X9yY14&#Tz7S}Db_{;a?q z75)_sxyo8x+2tLI!yQvw*#2h!i}P(Odd{(@=_}v937PTw^YM~~?Z>`TL|Qb5Cw7W} za))C3s%MMyT#H?PG^Z`69c;|Fr4;-++^)!NmuyluXMGq**ICS*E2{CV=AqU04ct%O zEx5CfTKu3e`e@?3SF2mD1<(K{f}-=GY%jtwkp;LP8>M|J#g%lDnyq*Qx-de8jxcU*i2)ji&-x@Jvp!`ua9 zQx1=9IpWIa)_;8JarR)ng&)p8IveF~ztFnwSh;P`$d^91-#ocFW&P{>U8w83+SN%N z+IXy4d;%vzi-p>{JIUD!;g;>d)xA-HsOdprw{4(uI&A+d8N)yic)8LvvJ`kCzYkn zw4&7Mi+P0b*@V+mAU&cfPSvxCQmQj!W%2?$IG!k_T7qq(A*D3~Z#Ie^+F8V*zH>Mc zRAb=T>YYbj$>sOj-YFyB-ZOJ+`_4gY>W5~oEjZP{bqdX-Wzx4#Z*Y+YC}4vh6cC~e z3|1<`{S<-0T@>76ntD}Ua$#Y~Sw+dI|CVK`uLAxLQFv47S+OjQh5z**yc#aE*j&cp zZxg9Alyw!JEW3MhFIBc$FH25Jk~L3i(;zT1I>a!#Ji_#S+DsYDIyatB2z_fy5u3^i)Q&f$uoZmq||K{296Svod8ni=%pVhCf; zI8yiTYHU21QLqOyN<~1JGCTmj{*4c20%3<8VnqM194A=N|NTOLJJWIh#GYBp)n&KW zZM)R|rF3jVzRUa$F`ryss8y4Gp46t={1?B>cmFe`y}Rnqb!pKzz3=^TP_t&)l!Hfn z!!BR*h|tC!9NKfPWB07hGduqEY{!+41$o^L%^Z8sYeVZNk%xOtLeD8JZPS1x11ua>U^08a-+N)7}Gk5kcw_i7UWm-_yjQ8V0 zTMZUAd69K#(vr?)Nxu}_o^*C#{br|{d3T*LH9-)6_(aA%@!b)(!)@Mf37$29clG$w z=hw#ld4tz9zV?{kd&cc?bl;dlUp+Ik)}_ScPW8qdD-DY*`~#KseL4S^9!EpRy&gL$ zWK8{xaeI>ba_(Fod%Bre==3)G%Y%z6T901+;8te-yBjz9T&`K(p>yWNKOAzV9NT;& z?67Z=XV1%?i2@(t&k458wlwMP;qi0!g>_wPe6Eo;2OfMSRM+ zH>S=_HGP8L%zjkc0Z~JCJvA-#Lm(;!SS;(OX=|=;(WSqvxJK!X2EXVQu6#c*q0;Jn z?h?mtsC!zsA+P>CrCw4!DY)7Logx)4aBFfqDLN>U%M;5JhPU}q&im#Niv0#*od88e zr~w3~Ebq!?jk3 zOgH5SzKL*T#XN4qCQawaFmL`*zfG6C*6n`V<6*W{{c7o9XG6x_m{GK5P}>Ewf8Fxr zKz+2JEV{$Wn@^^ETK6Vu;p2^E2Ma#&1>L5F_X>R_UE=;_ar}Ya zk2~0_r+J*2aANH7LGSLV7uYWCA~)DCD+*Yd_!n`k7UDt+%r#bd!(h zsCZ=P^yTG|M`?Rim(reS4qUkVbPoSq@`}9C+(WmNw=eG9zM|-$&C}yex@~;OUDj^8 zq4(_HrY{>~^H#JZssHpA*$11**WO;yc*L+Zea?9%4xqiCE-!jjKXlaMIa%)-B`(`E z>1ga)kErEe5?qs9Y+`xIsktj(?3}BsFCVnx%~jQ-jgI{`Z8_U!S7CaClfC5&XExd9 zJ@H)M>v78>pEu^*|4`QX#D?Az?#{WrYDdDtPA6t{*m&u8{mg@t`=-uWdTCG7lWUGm zdLW*gb>_3EZ*XXny*(tG4o}hvo@cM(1>HTa9=GIitCA~Y0iJidr$0MQq%gG^{f#|+c`I{s7~CJ-YDcc)x&Mb}sjO6!uOW61{2hxR@-y!^{1BUk^{XvOD@vpOkjW z&~i~&?${^iZ7ai^kZw%})IC z>;1GkS9;qX@Am4;xTNFf9uMmf|Mcp%u?ufc9KSByr`@avc^aD|A-;Lzl!t=l+i!0e z;koz5;qgTqlgD5Az-vD}r&q(WnC(v%t{PB3^p~TLhBUtylY1oK?5^R8l(s&%($*c@ zd~58;J5zt5T5a9YXPI-?%pTX?O`2H4z42$+aeZM#Sxo-1eW^iL?MI#ayhv79^y%W9 z=GTAK`Cl$fE#7i@c~QvYkhnMAxl8Ta-QUUMEI6rO93N_!>=smN`^@gerWP(wmfW8) zsA=5g)!p~JJbOXkII7L=!0@lOqb&G;4Ram5mLz`3*jKir zbYi2J;QGhyzWQ_jvPgs9&2lL?5y*_sL#&M_V{t>)+w8-ecmic*FV`bpR@bi26gfzXBkv-@{et6DSTjiZS<3DDf zoHyB})?W{LW;RHQzdC)(uQmE#2=SY>th58-tl{k#bzgI1i}0_3*L!Ps)IXYgp=rx} z>Y~fFoKox8Ikl7T^iRt7?6~>r+?V4TA9&g8y86w+4$I$8`BmP&-U-j`&B}LH`_0`7P~Y_#();;j z4a{xoBkb?+VB)%EU9ZP3Fj#MUJhAvx+lZ&t{11i8vkY@_2!QQhR<)} zbXvO=`HKBPYX)3M_#*0bwOONs$vLyr4K01vwrSzJ+kx9>XU2Qa9r~OjmqGw~x=cBtLVvCA?-f{F@!#kTCcW(Hj$s%RDq1$%S zyG!Q}barW#C&iEbt2Ad3&u(`g zrnlV&_x6FE*3Zl9`C?uveFio=jqx!RoS)45zjy0BzqSba$Yh)TJk907kM!}-U3)JlMJ*Rw^O;FVfHEkc zif)9YEt!^0$lFn?cbl_B68)DIx#_w*JPx

hc<~yA+HJ3a<_2Co?Bh&aeZB*vgW*4e0qL| zk8ZP-rCb|0WD%0%*Ps8h!$}TbzjwxCdH7mNwNkj6kLcj^)uz%RT$KaX`P(~d>Seck z@>_$Np-pR3Q9XZuqWz`XG`jx`^^=7$ts5#zK3E8#{govT6(#o+C3h4h+qtry{aPrm zBy?<_ojYYjxbk7AxLMox#m?O1^628=#Eehln=4AD{~s_9zHc};)=GvPpaoNuFJ{Z)63HncIVf7cW19^`-2`$HtsnP8(y~IcRL&9AWzQ1iD8A0 z=l}6q6qf8MzPZDF#Gg+(B?moy8JFd+$VoZ&>w-*9@}w92GCS>A??2!9&exQC+Q%;% zymL7;Tob~%pYM3?(VgMHXbxK?l?|CXXK-4pql5SSHnrE~0dF#f)Cx{%Njtp>eBUUz z*@ij!Ewx8SpYJDmF?}Sp{8_C>HBzUxU!L{$;4Xic7o$F8Y#rwrkNHfwxbBYK%qi<@ z?P@Hl8(B2CQ>zh09R@vLcKCvR_l-XD?hd)%wzbBqE=SdL;wkOy4)2`~om_RH|A(TB z3hS*3*U_ngORrvd_9Uh0#`yzBT@AUv)IZ+#`Qkqp9C)3xsB`p_DfMq$8Mx(o&XNX( zmfRjo)0On4-<4?@`j7g$M@lE}_di!~VFXXp=Jmuk8%jDRBwsiZfWqb}X782mJaGG$ zWA)DpzS8Z^jtuws{AiCMtmmrWOt(J$)|Om3+5e|&{@K<37?xG-$PwPI!KLMo^Aqyp z3J08gJ9=A}SJ%6y&0jcf;QfFJ?HWceTyo*YGl#(RtDpUMY+K)L;&Qu@<^Ajw7uNNg PkviE>YYA`pbcFstqbtp) literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..2ca735f --- /dev/null +++ b/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1125 @@ + + + + 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' + + + + + Attribute 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 de-referencing string using . that points to the object to be retrieved 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 + Arguments 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 + Arguments to pass to the constructor + + + + Initializes a new instance of the class that wraps the + specified type. + + type of the object to create + Arguments 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 + Arguments 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 subscripts for each dimension + + Name of the member + the indices of array + An array of elements. + + + + Sets the array element using array of subscripts for each dimension + + Name of the member + Value to set + the indices of array + + + + Gets the array element using array of subscripts 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 array of elements. + + + + Sets the array element using array of subscripts 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 member + + 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 method info instance. + + + + This class represents a private class for the Private Accessors 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 + Arguments to the invocation + 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 + Arguments to the invocation + 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 + Arguments to the invocation + An array of types corresponding to the types of the generic arguments. + Result of invocation + + + + Invokes the static method + + Name of the member + Arguments 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 + Arguments to the invocation + Culture info + Result of invocation + + + + Invokes the static method + + Name of the member + Additional invocation attributes + Arguments 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 + Arguments to the invocation + Result of invocation + + + + Invokes the static method + + Name of the member + Additional invocation attributes + Arguments 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 + Arguments 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 + Arguments 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 member 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 static 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 specified location + + + + Sets the member 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 + Argument 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 + Argument 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 + Arguments 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 + Arguments 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 similar. + + + + Gets the hierarchy depth from the base type of the provided type. + + The type. + The depth. + + + + Finds most derived 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 + Parameter array type. + Method 2 + Parameter order for Method 2 + >Parameter 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 + Parameter array type. + Method 2 + Parameter order for Method 2 + >Parameter array type. + Types to search in. + Args. + An int representing the match. + + + + Finds the most specific type in the two provided. + + Type 1 + Type 2 + The defining type + An int representing the match. + + + + Used to store information that is provided to unit tests. + + + + + Gets test properties for a test. + + + + + Gets or sets the cancellation token source. This token source is canceled when test times out. Also when explicitly canceled the test will be aborted + + + + + Gets the current data row when test is used for data driven testing. + + + + + Gets current data connection row when test is used for data driven testing. + + + + + Gets base directory for the test run, under which deployed files and result files are stored. + + + + + Gets directory for files deployed for the test run. Typically a subdirectory of . + + + + + Gets base directory for results from the test run. Typically a subdirectory of . + + + + + Gets directory for test run result files. Typically a subdirectory of . + + + + + Gets directory for test result files. + + + + + Gets base directory for the test run, under which deployed files and result files are stored. + Same as . Use that property instead. + + + + + Gets directory for files deployed for the test run. Typically a subdirectory of . + Same as . Use that property instead. + + + + + Gets directory for test run result files. Typically a subdirectory of . + Same as . Use that property for test run result files, or + for test-specific result files instead. + + + + + Gets the Fully-qualified name of the class containing the test method currently being executed + + + + + Gets the fully specified type name metadata format. + + + + + Gets the fully specified method name metadata format. + + + + + 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 + + + + 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/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.dll new file mode 100644 index 0000000000000000000000000000000000000000..e0ab0d015150f2852335346562d66a9f4f0120bb GIT binary patch literal 74128 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..910f6f6 --- /dev/null +++ b/20250213/ConsoleApp1/ConsoleApp1Tests/bin/Debug/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,5318 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + The assembly cleanup attribute. + + + + + The assembly initialize attribute. + + + + + The class cleanup attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Specifies the ClassCleanup Inheritance Behavior + + + + + Initializes a new instance of the class. + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Initializes a new instance of the class. + + + Specifies the ClassCleanup Inheritance Behavior + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Initializes a new instance of the class. + + + Specifies the ClassCleanup Inheritance Behavior + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Gets the Inheritance Behavior + + + + + Gets when to run class cleanup methods. + + + + + When to run ClassCleanup during test execution + + + + + Run at end of assembly + + + + + Run at end of class + + + + + Specification for when to run class cleanup methods. + + + + + Default class cleanup execution + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Gets when to run class cleanup methods. + + + + + The class initialize attribute. + + + + + Initializes a new instance of the class. + ClassInitializeAttribute + + + + + Initializes a new instance of the class. + ClassInitializeAttribute + + + Specifies the ClassInitialize Inheritance Behavior + + + + + Gets the Inheritance Behavior + + + + + CSS Iteration URI + + + + + Initializes a new instance of the class for CSS Iteration URI. + + The CSS Iteration URI. + + + + Gets the CSS Iteration URI. + + + + + 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. + + + + + Attribute for data driven test where data can be specified in-line. + + + + + Description of the test + + + + + Initializes a new instance of the class to describe a test. + + The description. + + + + Gets the description of a test. + + + + + The presence of this attribute in a test assembly causes MSTest to discover test classes (i.e. classes having + the "TestClass" attribute) and test methods (i.e. methods having the "TestMethod" attribute) which are declared + internal in addition to test classes and test methods which are declared public. When this attribute is not + present in a test assembly the tests in such classes will not be discovered. + + + + + 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. + + + + + + + + + + + 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. + + + + + Enumeration for inheritance behavior, that can be used with both the class + and class. + Defines the behavior of the ClassInitialize and ClassCleanup methods of base classes. + The type of the enumeration must match + + + + + None. + + + + + Before each derived class. + + + + + Test Owner + + + + + Initializes a new instance of the class. + + + The owner. + + + + + Gets the owner. + + + + + 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. + + + + + Priority attribute; used to specify the priority of a unit test. + + + + + Initializes a new instance of the class. + + + The priority. + + + + + Gets the priority. + + + + + 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 cleanup attribute marks methods that are executed after every test marked with a . + + + + + Specifies how to discover ITestDataSource tests. + + + + + Initializes a new instance of the class. + + + Sets which to use when discovering ITestDataSource tests. + + + + + Gets specified discovery option. + + + + + Supported TestDataSource discovery modes + + + + + Discover tests during execution. + This was the default option on version 2.2.3 and before. + + + + + Discover and expand ITestDataSource based tests. + This is the default behavior after version 2.2.3. + + + + + The test initialize attribute. + + + + + The test method attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Display name for the test. + + + + + Gets display name for the test. + + + + + 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 property attribute. + + + + + Initializes a new instance of the class. + + + The name. + + + The value. + + + + + Gets the name. + + + + + Gets the value. + + + + + TestResult object to be returned to adapter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the display name of the result. Useful when returning multiple results. + If null then Method name is used as DisplayName. + + + + + Gets or sets the outcome of the test execution. + + + + + Gets or sets the exception thrown when test is failed. + + + + + Gets or sets the output of the message logged by test code. + + + + + Gets or sets the output of the message logged by test code. + + + + + Gets or sets the debug traces by test code. + + + + + Gets or sets the debug traces by test code. + + + + + Gets or sets the execution id of the result. + + + + + Gets or sets the parent execution id of the result. + + + + + Gets or sets the inner results count of the result. + + + + + Gets or sets the duration of test execution. + + + + + Gets or sets the data row index in data source. Set only for results of individual + run of data row of a data driven test. + + + + + Gets or sets the return value of the test method. (Currently null always). + + + + + Gets or sets the result files attached by the test. + + + + + Enumeration for timeouts, that can be used with the class. + The type of the enumeration must match + + + + + The infinite. + + + + + Timeout attribute; used to specify the timeout of a unit test. + + + + + Initializes a new instance of the class. + + + The timeout in milliseconds. + + + + + Initializes a new instance of the class with a preset timeout + + + The timeout + + + + + Gets the timeout in milliseconds. + + + + + 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 work item associated. + + + + + Test data source for data driven tests. + + + + + Gets the test data from custom test data source. + + + The method info of test method. + + + Test data for calling test method. + + + + + Gets the display name corresponding to test data row for displaying in TestResults. + + + The method info of test method. + + + The test data which is passed to test method. + + + The . + + + + + TestMethod for execution. + + + + + Gets the name of test method. + + + + + Gets the name of test class. + + + + + Gets the return type of test method. + + + + + Gets the arguments with which test method is invoked. + + + + + Gets the parameters of test method. + + + + + Gets the methodInfo for test method. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invokes the test method. + + + Arguments to pass to test method. (E.g. For data driven) + + + Result of test method invocation. + + + This call handles asynchronous test methods as well. + + + + + Get all attributes of the test method. + + + Whether attribute defined in parent class is valid. + + + All attributes. + + + + + Get attribute of specific type. + + System.Attribute type. + + Whether attribute defined in parent class is valid. + + + The attributes of the specified type. + + + + + The helper. + + + + + The check parameter not null. + + + The parameter. + + + The parameter name. + + + The message. + + Throws argument null exception when parameter is null. + + + + The check parameter not null or empty. + + + The parameter. + + + The parameter name. + + + The message. + + Throws ArgumentException when parameter is null. + + + + Enumeration for how we access data rows in data driven testing. + + + + + Rows are returned in sequential order. + + + + + Rows are returned in random order. + + + + + Attribute to define in-line data for a test method. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The data object. + + + + Initializes a new instance of the class which takes in an array of arguments. + + A data object. + More data. + + + + Gets data for calling test method. + + + + + Gets or sets display name in test results for customization. + + + + + + + + + + + The assert inconclusive exception. + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + InternalTestFailureException class. Used to indicate internal failure for a test case + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initializes a new instance of the class. + + The exception message. + The exception. + + + + Initializes a new instance of the class. + + The exception message. + + + + Initializes a new instance of the class. + + + + + Attribute that specifies to expect an exception of the specified type + + + + + Initializes a new instance of the class with the expected type + + Type of the expected exception + + + + Initializes a new instance of the class with + the expected type and the message to include when no exception is thrown by the test. + + Type of the expected exception + + Message to include in the test result if the test fails due to not throwing an exception + + + + + Gets a value indicating the Type of the expected exception + + + + + Gets or sets a value indicating whether to allow types derived from the type of the expected exception to + qualify as expected + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Verifies that the type of the exception thrown by the unit test is expected + + The exception thrown by the unit test + + + + Base class for attributes that specify to expect an exception from a unit test + + + + + Initializes a new instance of the class with a default no-exception message + + + + + Initializes a new instance of the class with a no-exception message + + + Message to include in the test result if the test fails due to not throwing an + exception + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Gets the default no-exception message + + The ExpectedException attribute type name + The default no-exception message + + + + Determines whether the exception is expected. If the method returns, then it is + understood that the exception was expected. If the method throws an exception, then it + is understood that the exception was not expected, and the thrown exception's message + is included in the test result. The class can be used for + convenience. If is used and the assertion fails, + then the test outcome is set to Inconclusive. + + The exception thrown by the unit test + + + + Rethrow the exception if it is an AssertFailedException or an AssertInconclusiveException + + The exception to rethrow if it is an assertion exception + + + + This class is designed to help user doing unit testing for types which uses generic types. + GenericParameterHelper satisfies some common generic type constraints + such as: + 1. public default constructor + 2. implements common interface: IComparable, IEnumerable + + + + + Initializes a new instance of the class that + satisfies the 'newable' constraint in C# generics. + + + This constructor initializes the Data property to a random value. + + + + + Initializes a new instance of the class that + initializes the Data property to a user-supplied value. + + Any integer value + + + + Gets or sets the Data + + + + + Do the value comparison for two GenericParameterHelper object + + object to do comparison with + true if obj has the same value as 'this' GenericParameterHelper object. + false otherwise. + + + + Returns a hashcode for this object. + + The hash code. + + + + Compares the data of the two objects. + + The object to compare with. + + A signed number indicating the relative values of this instance and value. + + + Thrown when the object passed in is not an instance of . + + + + + Returns an IEnumerator object whose length is derived from + the Data property. + + The IEnumerator object + + + + Returns a GenericParameterHelper object that is equal to + the current object. + + The cloned object. + + + + Enables users to log/write traces from unit tests for diagnostics. + + + + + Handler for LogMessage. + + Message to log. + + + + Event to listen. Raised when unit test writer writes some message. + Mainly to consume by adapter. + + + + + API for test writer to call to Log messages. + + String format with placeholders. + Parameters for placeholders. + + + + TestCategory attribute; used to specify the category of a unit test. + + + + + Initializes a new instance of the class and applies the category to the test. + + + The test Category. + + + + + Gets the test categories that has been applied to the test. + + + + + Base class for the "Category" attribute + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initializes a new instance of the class. + Applies the category to the test. The strings returned by TestCategories + are used with the /category command to filter tests + + + + + Gets the test category that has been applied to the test. + + + + + AssertFailedException class. Used to indicate failure for a test case + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + A collection of helper classes to test various conditions within + unit tests. If the condition being tested is not met, an exception + is thrown. + + + + + Gets the singleton instance of the Assert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + Thrown if is false. + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + 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. + + + 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 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. + + + 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. + + + 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 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 decimals are equal and throws an exception + if they are not equal. + + + The first decimal to compare. This is the decimal the tests expects. + + + The second decimal to compare. This is the decimal 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 decimals are equal and throws an exception + if they are not equal. + + + The first decimal to compare. This is the decimal the tests expects. + + + The second decimal to compare. This is the decimal 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 decimals are equal and throws an exception + if they are not equal. + + + The first decimal to compare. This is the decimal the tests expects. + + + The second decimal to compare. This is the decimal 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 decimals are unequal and throws an exception + if they are equal. + + + The first decimal to compare. This is the decimal the test expects not to + match . + + + The second decimal to compare. This is the decimal 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 decimals are unequal and throws an exception + if they are equal. + + + The first decimal to compare. This is the decimal the test expects not to + match . + + + The second decimal to compare. This is the decimal 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 decimals are unequal and throws an exception + if they are equal. + + + The first decimal to compare. This is the decimal the test expects not to + match . + + + The second decimal to compare. This is the decimal 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 longs are equal and throws an exception + if they are not equal. + + + The first long to compare. This is the long the tests expects. + + + The second long to compare. This is the long 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 longs are equal and throws an exception + if they are not equal. + + + The first long to compare. This is the long the tests expects. + + + The second long to compare. This is the long 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 longs are equal and throws an exception + if they are not equal. + + + The first long to compare. This is the long the tests expects. + + + The second long to compare. This is the long 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 longs are unequal and throws an exception + if they are equal. + + + The first long to compare. This is the long the test expects not to + match . + + + The second long to compare. This is the long 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 longs are unequal and throws an exception + if they are equal. + + + The first long to compare. This is the long the test expects not to + match . + + + The second long to compare. This is the long 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 longs are unequal and throws an exception + if they are equal. + + + The first long to compare. This is the long the test expects not to + match . + + + The second long to compare. This is the long produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + Thrown if is not equal to + . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Throws an AssertFailedException. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Static equals overloads are used for comparing instances of two types for reference + equality. This method should not be used for comparison of two instances for + equality. This object will always throw with Assert.Fail. Please use + Assert.AreEqual and associated overloads in your unit tests. + + Object A + Object B + False, always. + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + Delegate to code to be tested and which is expected to throw exception. + + The message to include in the exception when + does not throws exception of type . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + Delegate to code to be tested and which is expected to throw exception. + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Replaces null characters ('\0') with "\\0". + + + The string to search. + + + The converted string with null characters replaced by "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Helper function that creates and throws an AssertionFailedException + + + name of the assertion throwing an exception + + + message describing conditions for assertion failure + + + The parameters. + + + + + Checks the parameter for valid conditions + + + The parameter. + + + The assertion Name. + + + parameter name + + + message for the invalid parameter exception + + + The parameters. + + + + + Safely converts an object to a string, handling null values and null characters. + Null values are converted to "(null)". Null characters are converted to "\\0". + + + The object to convert to a string. + + + The converted string. + + + + + The string assert. + + + + + Gets the singleton instance of the CollectionAssert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert customAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + Thrown if is not found in + . + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + The comparison method to compare strings . + + + 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. + + + The comparison method to compare strings . + + + 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 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. + + + The comparison method to compare strings . + + + 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 comparison method to compare strings . + + + 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 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. + + + The comparison method to compare strings . + + + 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. + + + The comparison method to compare strings . + + + 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 comparison method to compare strings . + + + 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 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. + + + The comparison method to compare strings . + + + 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. + + + The comparison method to compare strings . + + + An array of parameters to use when formatting . + + + Thrown if does not end with + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if does not match + . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if matches . + + + + + A collection of helper classes to test various conditions associated + with collections within unit tests. If the condition being tested is not + met, an exception is thrown. + + + + + Gets the singleton instance of the CollectionAssert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert customAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if is found in + . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if every element in is also found in + . + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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} must derive from {1}!. + + + + + 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 UITestMethodAttribute.DispatcherQueue should not be null. To use UITestMethodAttribute within a WinUI Desktop App, remember to set the static UITestMethodAttribute.DispatcherQueue during the test initialization.. + + + + + Looks up a localized string similar to Both collections are empty. {0}. + + + + + Looks up a localized string similar to Both collection contain same elements.. + + + + + Looks up a localized string similar to Both collection references point to the same collection object. {0}. + + + + + Looks up a localized string similar to Both collections contain the same elements. {0}. + + + + + Looks up a localized string similar to {0}({1}). + + + + + Looks up a localized string similar to (null). + + + + + Looks up a localized string similar to (object). + + + + + Looks up a localized string similar to String '{0}' does not contain string '{1}'. {2}.. + + + + + Looks up a localized string similar to {0} ({1}). + + + + + Looks up a localized string similar to Assert.Equals should not be used for Assertions. Please use Assert.AreEqual & overloads instead.. + + + + + Looks up a localized string similar to Method {0} must match the expected signature: public static {1} {0}({2}).. + + + + + Looks up a localized string similar to Property or method {0} on {1} returns empty IEnumerable<object[]>.. + + + + + Looks up a localized string similar to Property or method {0} on {1} does not return IEnumerable<object[]>.. + + + + + Looks up a localized string similar to Value returned by property or method {0} shouldn't be null.. + + + + + Looks up a localized string similar to The number of elements in the collections do not match. Expected:<{1}>. Actual:<{2}>.{0}. + + + + + Looks up a localized string similar to Element at index {0} do not match.. + + + + + Looks up a localized string similar to Element at index {1} is not of expected type. Expected type:<{2}>. Actual type:<{3}>.{0}. + + + + + Looks up a localized string similar to Element at index {1} is (null). Expected type:<{2}>.{0}. + + + + + Looks up a localized string similar to String '{0}' does not end with string '{1}'. {2}.. + + + + + Looks up a localized string similar to Invalid argument- EqualsTester can't use nulls.. + + + + + Looks up a localized string similar to Cannot convert object of type {0} to {1}.. + + + + + Looks up a localized string similar to The internal object referenced is no longer valid.. + + + + + Looks up a localized string similar to The parameter '{0}' is invalid. {1}.. + + + + + Looks up a localized string similar to The property {0} has type {1}; expected type {2}.. + + + + + Looks up a localized string similar to {0} Expected type:<{1}>. Actual type:<{2}>.. + + + + + Looks up a localized string similar to String '{0}' does not match pattern '{1}'. {2}.. + + + + + Looks up a localized string similar to Wrong Type:<{1}>. Actual type:<{2}>. {0}. + + + + + Looks up a localized string similar to String '{0}' matches pattern '{1}'. {2}.. + + + + + Looks up a localized string similar to No test data source specified. Atleast one TestDataSource is required with DataTestMethodAttribute.. + + + + + Looks up a localized string similar to No exception thrown. {1} exception was expected. {0}. + + + + + Looks up a localized string similar to The parameter '{0}' is invalid. The value cannot be null. {1}.. + + + + + Looks up a localized string similar to Different number of elements.. + + + + + Looks up a localized string similar to + The constructor with the specified signature could not be found. You might need to regenerate your private accessor, + or the member may be private and defined on a base class. If the latter is true, you need to pass the type + that defines the member into PrivateObject's constructor. + . + + + + + Looks up a localized string similar to + The member specified ({0}) could not be found. You might need to regenerate your private accessor, + or the member may be private and defined on a base class. If the latter is true, you need to pass the type + that defines the member into PrivateObject's constructor. + . + + + + + Looks up a localized string similar to String '{0}' does not start with string '{1}'. {2}.. + + + + + Looks up a localized string similar to The expected exception type must be System.Exception or a type derived from System.Exception.. + + + + + Looks up a localized string similar to (Failed to get the message for an exception of type {0} due to an exception.). + + + + + Looks up a localized string similar to Test method did not throw expected exception {0}. {1}. + + + + + Looks up a localized string similar to Test method did not throw an exception. An exception was expected by attribute {0} defined on the test method.. + + + + + Looks up a localized string similar to Test method threw exception {0}, but exception {1} was expected. Exception message: {2}. + + + + + Looks up a localized string similar to Test method threw exception {0}, but exception {1} or a type derived from it was expected. Exception message: {2}. + + + + + Looks up a localized string similar to Threw exception {2}, but exception {1} was expected. {0} + Exception Message: {3} + Stack Trace: {4}. + + + + + unit test outcomes + + + + + Test was executed, but there were issues. + Issues may involve exceptions or failed assertions. + + + + + Test has completed, but we can't say if it passed or failed. + May be used for aborted tests. + + + + + Test was executed without any issues. + + + + + Test is currently executing. + + + + + There was a system error while we were trying to execute a test. + + + + + The test timed out. + + + + + Test was aborted by the user. + + + + + Test is in an unknown state + + + + + Test cannot be executed. + + + + + Provides helper functionality for the unit test framework + + + + + Gets the exception messages, including the messages for all inner exceptions + recursively + + Exception to get messages for + string with error message information + + + + 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. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + diff --git a/20250213/ConsoleApp1/ConsoleApp1Tests/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/20250213/ConsoleApp1/ConsoleApp1Tests/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs new file mode 100644 index 0000000..3871b18 --- /dev/null +++ b/20250213/ConsoleApp1/ConsoleApp1Tests/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] diff --git a/20250213/ConsoleApp1/ConsoleApp1Tests/obj/Debug/ConsoleA.EE220C3A.Up2Date b/20250213/ConsoleApp1/ConsoleApp1Tests/obj/Debug/ConsoleA.EE220C3A.Up2Date new file mode 100644 index 0000000..e69de29 diff --git a/20250213/ConsoleApp1/ConsoleApp1Tests/obj/Debug/ConsoleApp1Tests.csproj.AssemblyReference.cache b/20250213/ConsoleApp1/ConsoleApp1Tests/obj/Debug/ConsoleApp1Tests.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..f3dbdfd78a1d7e45c137c949823baee43ad62006 GIT binary patch literal 12558 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 NGp+wu^k0&JPXW%G#qj_D literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/ConsoleApp1Tests/obj/Debug/ConsoleApp1Tests.pdb b/20250213/ConsoleApp1/ConsoleApp1Tests/obj/Debug/ConsoleApp1Tests.pdb new file mode 100644 index 0000000000000000000000000000000000000000..d0e0f7883a55e4dbfd8be68d8c721e2a2e531980 GIT binary patch literal 15872 zcmeGiYitx{@Viol0;N436&bf{BkbhJcv(!o)OCe;6J$2+9w^7l{TELZT#S5EY^oqlCnSIZl){-3b^O15J6gFqW#g(i5dMv>s|e;*+7 zn2??pn4X@)GDkH+3*bJ#jZ|23fDX)sOtL9+A-VdxcZsdU=Avkta+EkJ#^o$4rCh~s z-pSH5&+ug-kDCdy9%slCbh-nJ{H2er^VaQoxpU5o`+M?i zn(q5HGZ#Pl<(;k_9k~S!tB?0uZp7Xo-3Jd|KICh0iD%5YFpfSRuIps^KVUu3^jz1! zdF)loxi|OI+?QL9_FjAP zFRya_yz%_8YrVI7;%A;IT2(oIBQ$#+i3JvEOgbG&8T8M@H-Ql9jD2A$%Bt9C5?5L7uF&s#MHmFOIM~b=x zRb67d9J;GZ$6#GpO&4~ME=jfv%z-#B%3)se>tnBrg@hE08m5EZlRmPr*3&HQ#cKwN zv$sXdZ-C6FTKXcS*W#=O7`WM}dGo1Tpx`HmkQeKWyy#t>x3F*R3FJj@BQMq& zd7;RJ5m*54|9=DG=Rf0{GlHfjOBz@J{lAqIS#c=c_>uw`&wx;*gnyN)s$j5L?i8Bi zf)tj+9ei^v5e>i|)GYFHLX0(Yf++Hw+$<%cC?}6hv!eVUG}dLJ9EL2lHr4BYJfgOS zr34#kloP?QK;db@CkPRVYKnzr%!OmE&}J^SF`PD_h|I*Y#vPK(N6F%WH02c{5l{nm zX^DE2kMUxdQ`@V&)TVIkDQvIE)XIGP(=wLj8|3)fM4k;o|CEoF+9jy7DRzP}C=~hC zLkPCBS#fN}I+2$W5s;bzCR{@@Gry|5e)h-{7wb+g%gXrV@X;1*Ur(yR9)x7VT8Fm6 z_Yl`qTun2<^0OgjnQy5;8Gk|AhgAR;_~|yq82x&sl#qpl>_R=DZWpe{`9M+TgFvAU z|GTv-3oMsS9sw)@EF_r6HDCrHwne}+g8p4V&6&@1vjG0rBR|W26X(cmn1icyQcQXMvSunX;GR-eV!7+u-xaazk7AM}8xmbsMGc;ue^zQGUrraR#hJXz+$Sq_Bcm*)Y(ZDf9Nt3M0 zFpGd^UGaLEQ)4 z9mmi8v-{Y)P-utCayz~<#O|y2vRoTa>@kRiOT;dToV^V$$h;Vc2wb~b5Q0}svU4eo z^ea85q@ytf+Eb_2Fp+S)+%IvT!u=EHDNa#5b7leJe8hQ&b2J+eFB5q7K%M3TE&zN05YHSYq{ade7c{}N LfN6m#YJvX%>gNeg literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/ConsoleApp1Tests/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/20250213/ConsoleApp1/ConsoleApp1Tests/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000000000000000000000000000000000000..efe6a61e9bdaab7ee681fee6d350b711fda01563 GIT binary patch literal 15418 zcmd5@%WoS+7*8Q85)v1L1VS7laRI4X<sfrkUN@&deru zLwE}zA#vcunHvXA`~m!HeBaFOde;gPsPX5vYLqsrf8YB#-wI|Bbhx`Iti}$EFk*t7njtMGL zu7fW4`wWD;sae9$l|C)~Pl`c^7IEi4Sp>>r@)02BKVNhjH%6AHMnF(Pt6-ou3|SzB zrA;BZS$c2u!QJ=6EC`k7o%2OkB+5^EX+<;<{XeBayDH1|2OD@Y^%*xN@f0VCu%QG-f(R zZRweU6Y9SH)Zg>uIVi^A-RyIGY0r0Q=)SSl>7UDSX5X zkJrsObtdrbJm_e~wIAj|LVuib@c%QevE&AYC>lF(Edb(?gqt?A400oO5Quq6!DCyn zVXBN3kpbw`Y8F{nVvMQLUG0c`e@|jzb;hxTI)v^J^2~O6tdNM=mJUU%tJ4616?!Qr zdXm&y$L?8ZaQmQoSC#!tF8@B%6h~TsZ#yD(1XPKT_D~PxX4qFsIxUc-+qxDU?>&`k zuZCwN4yYLnOomgn>p2PZIAsY`Hr+h6B5{^SBJzh)4X~(jMMcnJl4BX|RGw4t-NXkI z|Axfhny}4wk|f}4?_+MuGz2+_v%zN~!?24!{)9s801r?k8U`q2tqAgfN@CYd)V793 zv`l6+7S<%7Sv8W>GED-Gn2k<+5+MntfW8eAV`h2Wvr5Cf7!B@ABHP~OiPGa;mSsG4 z6Cni8h`>7{^Ft3ZLpw+lmV$_5&v(yi&JtvKwquvVrFTU76v0Lm@^xSvqcU*PB`OEp zVVc1VMk2c;&9_7SB^ zL34{Ebj%Vu@#PS}lLQTf?_l9cWmXQbF`y+gt1f?<uP3uv~@3jC7o7OY$RbebemPN7pNdVlZ)M)H0-3z#IU z2iR*BdjQleNqbs@+<>(X;?j&hr-8S3+zz0M&otw)X)1Qa@Wh^T{7U9tbs8G$PZH;@ zp*MROlBy3&0-OYypzER=3Y}*9Uq|*d?7C9hjpK-U_d`MC{U?$kNjZzcK?QX1x_aW` zpYgPi5|Y(JNeJMPRH7wbb1p;^Xp8yZ7E5Dz$$%mzDIQ9e-RmWlRjLO3UrCK^nt+0^ zsj~c+xzYqL9Ab5DN|}L-Xd*#j8+&)=zTbjp6XIAzFq(GeN>Wi& zyCgfALf$jsrATHij6`4 z1a?kkvLRXXO%V6tC7g7-J`61+WzPh>&&;XIBSeN)$=L(fH&P@`NR4wx3W}Uq-=2gH zJWZO1zTtI_8~%`tdJmb*c^}gzvPz<0>>m7-Z8C2n3Ec?%sI4OCZvEbX#FHIrBI~#$ z#Yur%c5dFLNJ6zk?l60TCPh*XO%NOUg-WQzd%<#eu#Hz#RpRdy zHCvOus5|zw&C38^6iU0(?dSFxM~XxD~K?>_y-+~ls!iS$}1c9Wy) zBvK8Y6vuaP)GCH)A7Zw9Rd8168}=FgHp~POgO^b+0Xws?!_TK}>RPVT$~%#FnpRP~ n+y2m7#~b*=rRuV6$sM-c^gmlnjF7Lw_shZB^4iM%%0vDE?f(L+ literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/ConsoleApp1Tests/packages.config b/20250213/ConsoleApp1/ConsoleApp1Tests/packages.config new file mode 100644 index 0000000..36cbc3e --- /dev/null +++ b/20250213/ConsoleApp1/ConsoleApp1Tests/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/.signature.p7s b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..6add25ea324d837fa32ec3037c28d3b405fafa9f GIT binary patch literal 18702 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/Icon.png b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a0f1fdbf4d5eae0e561018cccee74f6a454cdb9c GIT binary patch literal 7006 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/MSTest.TestAdapter.2.2.10.nupkg b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/MSTest.TestAdapter.2.2.10.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..b2b7e0655897e9c05d93c3678777fb9f74aca84a GIT binary patch literal 2077954 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%0Djq@C{KFUzI<``*?Dy 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ⅅc!pgbLp|jniho}m()iF4! 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

  • c0wSvC0H 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≫k_V|zyRndQ~)5=h|vi`2u_ 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%0AwT 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

    jn^Y;(GXodg&zwW->J)vaHcWPQ9yEx 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 z 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%0D(pCo_D(}40k$wGTf*(2s230#yEHPla%yH5!_(4l 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

    o_xW+8RbS|-!J*PoQU!KN) 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 !55Omo-^D4U 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

    Atv%bSS|LmOl5>S}f`S`NKTSf0-i+ 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%0Awy+N67EWqDhQKrVlD1#Y|hVk`qg2R3k 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

    mGU~s9ZcEOdG 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�*Vdob) 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±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%0A`XHH<$p; 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 z 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

    l(brtp!7wz6x9AcU6STdsgcG*%(C#-e2yR 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


    #y7c{9wl9Rv}${2 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

    lJayG$j~BOo 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 GiG`-;*Ue~_xj!I1hxurv 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 GyZ;Zv!jVt_ literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/Microsoft.TestPlatform.AdapterUtilities.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/Microsoft.TestPlatform.AdapterUtilities.dll new file mode 100644 index 0000000000000000000000000000000000000000..d64dcd2cfb4ebbae4fa7a50b7cd7ed4a67b58e80 GIT binary patch literal 28552 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

    46KQG*QzBM=Fm)%ym?E1q;lP<=0UbXyGqb8&F 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll new file mode 100644 index 0000000000000000000000000000000000000000..1b74172f9f63045155bca00563190a076df3eb51 GIT binary patch literal 159144 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

    ns&?D`;I%fKJKOXrF_rEw6H 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 WbN)kz6{3owM|d{b*<#?}`2PUJHN{#0 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/de/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/de/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..e7a170b82236e2120f22634b75b363a5da94f568 GIT binary patch literal 26024 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..3070c262c22576fc1e145bd4a97d937c64ccfa8f GIT binary patch literal 23952 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 mc@2jPleLxHqrWZIta0nh!2Tbj%V;bB literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..728a95d62a9f1b58d0a125071a859c656ff0222e GIT binary patch literal 22416 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 N-0LlcpW(Cd{{ctia{~YX literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..899ebc7b0be5e3799ff242cab3261e804fa04b25 GIT binary patch literal 14216 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/es/Microsoft.TestPlatform.CoreUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/es/Microsoft.TestPlatform.CoreUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..9ed2c4b362d11a7273a63dba6d28827f6baef14b GIT binary patch literal 16784 zcmeHu2|Scv_xSV7jD07P#0Xg%&)8K&_Uv1Vq%kv?jG1W`TMR!a?ZKuo_p>+=bmTs2wD$eAqc{O z=lgdEsswK|*$VQ%&XPg5w0e~^bWH4;MkVZiO~XHu#=*1L%m_9q8c!xM7)&lcjEZOT z7DQQ0prKc;mri z3m&uw4|2>9-)IBMzaS-p9JCj7LttLED+NSQIw�d-R1iLOTInFSK9_%A-U;T?K;H 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/es/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/es/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..1f82bee18b2903e6f75ac6542fde2f9accddb240 GIT binary patch literal 25512 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 z IZ$#h``pK49#CHUI#@eBYE)i)MMDvbO!DZ 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 z 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/es/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/es/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..9c8beef644b20c3cc64bf6411287d21096e6277d GIT binary patch literal 18832 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 Wg3mLqR~ff37Hlru@Kg&9j{gtJw{Q*s literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..61235b9e1f4808814c84e6a5ce4cdae791f197a5 GIT binary patch literal 23976 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 MF}lB2#!I*V0v|Ea5&!@I literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..ba61894268eec910b45cbfaf078673ef77e02a58 GIT binary patch literal 15272 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 KIbMT$y7{<&ri#1}B(n3mm-=bX$C8;C{ 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 XD`=1MT;o$Hr`aOrc5sjjz{C3oBad9- literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll new file mode 100644 index 0000000000000000000000000000000000000000..58bee839ea5bb99853cb20ae9e362038fe157f8d GIT binary patch literal 19360 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 ZxN%xepC5AdvgFxA4@*tqu|j-*{6C+i>_`9r literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll new file mode 100644 index 0000000000000000000000000000000000000000..5d343e582bcb1ed47e9d37e2ad5f4c81e7304876 GIT binary patch literal 114576 zcmcG%2bfev);C@^^zAr3)6+dYIl>H=4nr8iFytI04Im;WFk|3iHz+y|41yU^6cI6l zIb&GEnq^Vfgo>-X>X_Lz?5?}7tLv^i{(t9Gbx#k@`hMU4dA@#_x^+&SI(4e*RMn|d zbuY6PUnUG8go(eOeiGtQJn1)%!(R?MkQ}UjJSZOWzFPaJHuKfm1t%^`*Q`i6C#061 zT64_O<;$IwHAf#;lUlXBX4&$ZNpt4coa!8VTw`9IudiY~cd`&OHA5`_=Ltt=O8ZFE z)%dl6LTu86@JQ^|yAiKJ{24rjDB!p*19)0a-o};3tzHTE+KsASR9DEI z`>PRRNnQ8eM9R(RWic30s011kgfJ&n!Y_zSVo3}uid7kQ zt1N|kf$OY^GgSwsp!h2~P#-gO8pR;7nYx-{7<6Xp*A#=SX6h@7`6yPTAqK(CR6WI@ zZDwjZ#qub&lwwd8aG_W}#dc8)1JF#pO0f`PvDtdMADW`Q5CGa^Ff|WkDj%o|^eN3p zA-#b|!|4{mN#s3`1e?2|S_6_uKwV(T6O1tA1N<-Umed3~gO3(U0 z%R*_)E8Je^$@0$sFC}35{l920IcK9vLU+*nzD}c|Q^ZIP`guIUAU(mDvs;i#gU=pG zk(h3nE_+l4H<}{PtqDV>WS`WB(BHjiBi$YYyge3yGY&x-W6#$?L`)egTZ2i&#K`X8 z=R&&%J)GL8ixr&UV0dCSkk~tW#eUQ)w$A8{!&$vzpXwD`VD`r0*j}-_d&Qcr-Z<3t zicR&3-P0?!%Ib~pNxfq4?G^h;uh=qoZ+uVb6}zEV?7O{UBc2|7uUD&Fu?>~6^kUK` zdO$}kJ&n1+XG2MNwl5;xpxK@ynC+t(1V?}<&LB7fL`eq05n8u&u@`!bxjCfg%=|Vc zVaumGlTcpEE)eL>WJDX9F{dLw1#xF8f`BJA2J+ij^L@$wp472fpx%?ZAPWriq@K$H zBjc@>?jVO1pRGI7krVUs3_KEJEw@9}jSuUI?*}~9KVH=npAS5>QXKpa0t4NdiLiL& zVL$!!lNF=7VOpe#A{51>KMT=hLQl`e)5dz`v*#l4yHj;uvBJTu$>$&^->OAj`1PN>-j%mQ`qZJq}8@(irNNvjBvk zKNyeX3!TA2tt*OVFLx?|c;Cv*)rDg89D#+8)*F|24o|F%A*19H^a9L@>YD57i>tlY zISY}iKr^_cmg_(kfjvNdViEQbDx}Gja`;WdUc}__n$#pz)=2F@Xdeok&t8m>mcYaC zjKqXtAI_wm9_I*3?-Z8gQX#Wiy=Ftv&I>U!z>?6U!M*9(Cp1XxON%&R@ zPk(^0D3&0JEQ_V|3=g!#lc)$(FVw>dVJ$SI0=8@eMf3RxQcqJ6tcvCK(O{4mZ=~J= zj%-(-&q)20iTmBM2D7Y`*DqE`>VWJ>x2L;v;tBg$WF;fQ%9wAm0N7`#FtYAo`zw7M zsLoOX8A|6)h0Yny@kog+*V9+g8Z(xHb166$0jZP~yESXXmSQNvh{c+1>aO;3dPLe` zewYy(T5MtNhhp&D&(Gz08|5(M!*n_0z|-Z7M~Jqiwp)%yp`VSRU?q;%+lZNi705~) zYM%hXQX^1>Vr7>yl`{<4ci1N)QEwv=y0OlwBr|7g|AlO^DV(J~X*5J)_6U-u9I|{5 zIiSQLSr?tB6Rw<2Frnga(n9jjeKDC6E1U7v# zDE-Eo3z1fzEN)nH0U}-2y&y`Tf~5KmO0f;FT60lPn)`?bjRP7=v0=Z(S?GYX0@%EG zf3I^IB4JopRCLI6QULKtLG{pCxC@ z#)d==gL9M~w@?d&q(VLog|t_r`m|#krUr&H5hY_N@P6=e8VLC5=`%srUWcMov=2x7 z5wX=NP!gavddP+R4p8gB5E=6ixw@=}dK6G{$#rZAq^hB)v@rFjXV{8{-SOi> zR>-|Q>`^>3jHq%BhJ-KVv9G{`t%0yt4|y{bRPRijs9p9l)Ftc-`6Biflv%huk6R+AC0tE0NYxiKP$fWp+hjcPe`(63f}^){5{DF`_@j*2OCEz+#2FLtvn)IWAc+m1}c6&BA0`e3u3V5jCuXX1tP)BUo0={ISgbcGs1pKN zmYmcx>o$fCE=B$ne3P=u~RgQiL=;qive4?crJ>azZlkBe+1 z*r}>>ndoUE;+bQ_$7nejwOv>&N4x>J8M27tEC}@wmzJkK{5>Hv zhI)-3LbVeD(}uwMC9quZSdimSh;_jIo6>+s5Acs{l0y+IB3*t0rTE}*!jLqhelt;& zsXrlH&RxjnkB2ig%R#ymW#}0~KvAFUA!{+btGCMCO0vdCHDS(j?gpb|*hsZ!0n20` zOAKqIDNM*1C3&7=dCYbUdieO9CD59r8}sbv5ZJKqA#q%8GTkNmHK2oLq5`Bx0~g3h zPuV@P_sWpARHn&Z>`p@k2tWleAadq)c=J}L;Wf9yFc7VF%rhni0w&FN%tGijvyD)k zHw44<*&dm@%F@qKRtuWkjv2^A*JGw`$HauJRvV#YR+RgEkF1@7rc&uM%oFVwiIEd9 zkJ2uw{WoGH_353d572OA4-hNcDOL>}C3Fv~2{ev0xel)Kt)?9&p9DKVG!8Nv=u9fc|zyfDUQsO=eV z;M#|ym{^P6Mo+_Za8_c)#$-U3vzg%T4H@-jF}v*RV88ZwzM zzgmfa)kX!SgH8 zDpOiFe3}UjC$wq)8 zi&ARKS5V`6qkRWz)@9)cz)HUks)%i2japR!&A){LGI{q>?l5e>smO~l5lX+t{b00X z#WGXZp|vw+l+{KkvZL%EZSb+y`TS_!*NOj|0Nl2l_#XyIr7hb8p5@>fbVXW&X3+wJ z)8umR#`wbGLY7Qn(6pR=h%X4bEaz=RT4Pf(w0c9#{vA+KUvx15JRy82y;sSJ^_1qI zH%N+iKp3$-Bn6v(Nq2+QMg-J{mKcM)mB_0*?}Bh+4YfgMqhC(833qA&>Q$ieI59H2 ze>d$Yd^_ylBcvIIIxy3J!JtUcyh6NjG$X1=E)<7K8O|T@bl#)jeF{E6knTiae@MaU zgo6h9(jOscNPiDa^Xo>`@k03M_CmeTC^QRQWKvq4+F8Qw@mkJz0BB|mnGxr&h&!Jk zFRhK6lAcJ|_W}BwY+}I6Xpmyw+_a3H7-3H|>~%gRYJa>WyYoP5cj1v1j33@qV!;)Q5)*wCQ-kKTzIGhP6*e3F5^NRBDVic z3?iDdjD%$rH+thiGkqG0iJ3G2>A?`jfF&>$2-GfQIQvnU+$+E$680YfI)6eSQ=Bgl z^;yZjQtDwjQcD8m!TJ(pXPGt{0LJdu2%SGu@D~KFuAiaND?X^Y<$S{t*WRNbHm@y~ z^EaUEzazMXkPBj_;rtI#xeVu9rUv34903Mh?OPDLp0%l-H!!R%^{E-qQ5B`_3`a9# z1HH%NA8QBn$w%Y+pLizxi2Q&E?G%b*J_A!TmN)YBSY+j^xmXu7k)M89&)X;r9eCbG z)5Fz1h8{t)eH=Xv8;WkhR;I)RtT%c(|3WGDL?pzuX!}TD=&ZGwp42xtV~o_$_|w~n zvyEeJi!67`$KHxWpVUIsE~7jtZ@ySzIsYb>G}r8~pFya%5!*yx-AW&fob6a9Oz`7} zoJRti2R771-iVvrW>!1ZU$%n%6VmtksD;s(*z~3n1>M}S z|3W?=&*&%vAk3F+wTVl}%rp*sk!M1>uq*XWE(e#RA&blh4hrn%Dw{CmT1hgrw~%0Z z8$S+gyR%e7dkoXYHr)qrBS`>=%BA_#CAJA6YNX?SR5mk@JGp=TyV z7D((8b7Wgd=8l7$okM*ooLFbo05yFIt)jP~#moe53DC3HF(6ZFdLi6fuzoQ!qd;P) z+qY2Z(g7sr=}{s)M+~L;gU&giH2jk)ka{SLG2{XVIBL3^pgvjFu(vqVP2Ii1({}8? zr+_n+fk{c!<*WtWv%Q%dlKKQi+7^nmuSQG4Bb2Stq1mYAOoHZQaX#Q|5~Ku zq0H64KtN2by%<1p9y*{h+5G>Nfb)|TdnL=EZIce)(_6Kn-g5>1+u>ETM}0ojfj5nk0G zqE0>$k@1K#N-`DNCm@YxNeIKwY3ezho`dx^%Dd_mlmI}wxL-nM0^CTkGXRX9Zor!h zV5oPe_;Ud)w%sXtxj--%$j=1|a)D45@aeHTl?oKteIa1#hiGK`jh zhwwOyd{3AQXrad(G6h5lSdK>0h{Owwl)o5zwR{A2A&4;nP>Whl7(l150e(%&KwY8w z!YAqn2wyco+7pBL0KUA?_s-np)2d%8B3s75mP{G{KV*;mzn8t2B7P?OFs$A$qL12H z=K!r*f>vv1jU(t}f>;l6mPY!QbeWM>I&dNY`#ao7^2N?mX?~s0W~7p5D56BMUFV*+ zp@DJo9xD(!7?)9}gvg-e)U|vg2zG)&cC>&FK_?gw+l;meK`UxGrO05HA!xw1x_qdv z$13GsBZ@rroQGvB6f9(e#Tx2U4AW%u9@+ztFfFv3K zDyiy#BpMDXsXCK{qEWUf*5lbg^6{mx-n|HyVDF=~&j1%37Ubz|6mz?;=OY4R@L$t4 zUh1?WxV)}-g;x>?y zo8lFkQO4kU+?R-83Y$gvg?bx3?K%`t-B{hn>4QjYc5%8dp7px@I%uW&N#pH&)UO}a z&yaf)bl4o8;QW?@y^+spKoE$RKwxy|N*G33p4;p6qonhI@nk&75zi`YAvAIxVUuCX zJ%~H(>g?ZHAGUaNhONgD$dW3;Po7g}u;gR3q$*H-&t%*{`FP^@qGXj-rEnA#ZiU84luxkk=dX z%hH`@M)+ip?CvZI`DB*_LIHG1Kz0e3G!l1gKb;ZCkSs{efrvO;ajQrO(<%~D^MNi^ zhv^}UEL-=E`jU`KHBt*`Jm_fbA${pl2;k%Oa8745CwZJPcs5|`nb#T1)ry>>IX3s{!AKd^%%MLmQJO zZ=7b+@Efe#*!oy2SE0)Y_!j}E6Mz8=d&P<^*4v0Ofh`Q?Q7fj~FfM2_NB*2oAP;ms zRH%0qVPe+{_0)RwL;D@bf%s;M-znpFQ2Z_#f12WVb3EhsNxcmmdM))aJ=^c$#7O(S zczS#}?Eg(!|IgVMXHMtbW!-GEWrhfeGD|s;%kr08LKUfxS~v5v*v(H|Y_;D;+Zd`P z$Dt(;#EmDMTmu%MT@VfF=?Oq$PmjZJUurChu_qyx#EN324gu&)2FR<2x)qZ^65Mat zv%@}zVY&Qye|lRpPRwv#^uK%GoaXBvpIojeEam+jHw zv@=(R=BWd5xRos1Sr>yKV}jdx29Ri>gYf9JCEXahGm)qoaRQH&FS3nD>dxvd_4@xo z-OpqlW4-=wb*HlB9l0deX_l|Ir%P*!}Z+baEt8?&Jg4C z9MnU{h)pb%cQ2~!uTgeGY#8o$Q7iIzl_ z)PbYNirt%Dh@|?|4`_n)?=fpShcJ9-IpFs)a0l^W-Z_2)mok#<7!)ue=;0hn z2<#uTh{c3h1ccg_;?)I8HrXzaabEUm`$q}%ByxHZM-ufyfr>7o+eCiIL7vm(o zpDLrLK0g5cfkb;NdQ$IWG_pZSnCWew>6#0@KjK9MH$Eq7? zPw-#!9P!`t7<2|g=P0ma$wvbv#{k@v@ak4Exn!V1O4r^3-5}6Oe}B}Eb0M$|RM+I` zHhfd?%<1Hrg1^3bCrEX}Z3hX2k0IoCAL<+lYBqF8bh_{m^61V_=od92ah8uOv6RDO zAx0*0$n6<0(SW%{l?-Dmya`A+@4dy1?vS^nF%+)|nR&RW(iruIti}+APsr7T(*giy z1fz*ArO+)T&REjqCMvqr!#>uS+cS0{j{k81mEO@=4WS34e#WL{Y)#_+Qhmvwe%Kwj zab)1%Zj!shlBOd3ZDgu&XGl!(|3XP!kjZPfdoq*zz)i4_nCVd*w556-|TC;I-J?Db;VySQR3yZbuRIhKm$@ruoj7(zP49V(R) z#}1?*e(av9`>duhCT{8I+hBbn=&P;PB z$=IE7U{54xq~UZrDKo`C; zkcAzO9DckZYAL5nTty+b+!NvS3wxqGx%sf{lc+ULM&K=8l;`zqS~hl57s%;V7%Mh@ zCTfBo&1F&ijmBSp`G@l_!RstmHvtXL?oj~p>xUNtcPai1z{tZst{sREL)++B>u_Jb z5W<&9?S|8|zQnyF5XqAroC;Qo6&~jl2$sjfcoRqS%oR4hIX&o#H=swmyN~CNR2A}a zi?IgCws6VK;TvcOmuv`3YiNkf-U}CXI^A3n&1{%6HQG4g#uE#<>GrG+kQ8{1h8B^E5 zb|QuMjAGaT(_B&rO$pIM0enYvnDVG(7oX8tJ}gL|1)=tRC+wogS%7I$f|nqE@| zRfV1!hK4F1p7d3tIQL45n3j^O0II~Zj2-Ua4~uh7X2Js!?-l#ogxSDE7= zidQy>h|%za(elB2WP1f-)!qT_)ajs&yHeNUfdS9Nry(uiaXY-lc2a;?>G8T9UVT#= zW@u*S-i$7e6h-Om_EogE%RVU|=n*eK))6GDjYBodNrM;s*c@MpIHpS*7OEAHCwX>i zY*n|r!cYfgPyZa}R+6p)59KF`S9g2f;gZ5MLp}pfj<*0i{L?|t&H}tbG5~RQ72u*d zdkVaUgTo3R-T8`i`vbafDAMgOI!n++iP(0(tgjC1;@-z)ocz+OP~R5RH{vrAOLzsu z5>M`wKs=#*ShSAhxs@x$>&|#m+`5;S3%R~2zt$_Az5BIzNGSs*VX@<+`;Lf?8=uWH zr2pzy(lkuqXoE~dXEiFQbP_1iO^K3LevU8iFeI_fqVxO4BdHII?HaTyY@3l87u}iE zhG!wbA`!2)9D=1Bk)M| zN>m?qNg~%T5Mji2L8o-F#%9uL(KlTQ@&=VaoSNPj1M`s^E|tySjAI-I#yES1@i z+Vuc2*wFTt?jmvdy}6~NJM`WhN3bh7I)mT{5XWQ?96|ZyXNUbE#-d$~RhVIQT(ZEu z1Koz_4OfIIEO*wUQ4(R@ZeSdR5{LQpXi4d80Er~v=pxo(OOXGDelkfK{yCdUd=VYGLwOC+ux84)v0kcv~aB z)LQhj!Lzi@{cMuZZIr=qE&&%`XH#CPu!e~4LMVyO1(DZ251~0%>IZbyc^vlZ37qIQ5{cxAb01} zdq|~QHrzLszq7f4l`Y{*JxSt`WSvz3iHoGR)OOF|n17!_ft`Xi3C1ScLY~KZL~*r< zoXa|gc$27-G8p1j&`f{~^0ghjfItY_m;7T~m*s1cUqR0KG7rtHB>P(Bma;&-Og5659cruAoWId`p`9 zxU~OC^pcCvn7-7^KL3@|HOT4f9Ek~q<}7-@J*)YcU9LqcRA0?A>VN>{VCpPD(g%;A zy~%VM12dU+sL??4cEm!KXFI#|uLBY7O{*K7>nRGGIywlq#iH=}AF0v|=LW?1T?uK{ zBp2f1nL}Bf8xbU?0=fwi*1x2BVGz5b?9fx`N<1IL^RamGJX0kx$n8R}QH(tteWC7J z&JcZ06(cW3Gtu34gC_~62mm|TN`B@O%Dy zH=+sno|J%nAHJXT$~pRJh)5)7kdT* zDU(~QL03HSDo{S`5XueB+ zj=P_^=dKcaN6#rx+Rja)dLFst$o|R`hn*e?6?St(wJ~XpcK^4uz0b9%+{Z#)ybGv zSCZ1u-1-psd7Xz5;^nIe)K7ThA{U(|V~Fb>_rQnJJ=fsU?BIu4Co=CwL09qqpvxpP z(n#ti^Z~DL8|hzxyU*lS^~dww+@=BD@-SDqfF!@@*>uWYtr6uTGwrno_K4{`0$!_N zxR!H!83MzZ?qgzaiWe>)MIsfRevC>qREf2!L{Fj^o4LNIj)xpE7QHg#bAF9L$?#4O z8Eo`foaa%pl#^4X9Mq;*zvw&yWtzq&E>9{KHEx63vlFv-d7f@z?R^r=@puZ4?sm+s zVEe3|Z+34Wp^l~Io`oRC>ckNTS)KFg;j-sYB5ca#G)<7z$q^u&41yy-tjHiZg7IR} zJ#)I_h5hMVurZuT2=VD7ta?_^Wy3*;9;Ny2NYKqDI=uSNB$fk5KCXeKhvHFBn>H&@ zPrf=Uubwu}c#TE3XXEK6*PJEe?50z3Zw?-ML_}%~V_(ERYrb>@nVv>-vBjFe4JQR> z_I^e7Ge}L1$xPgQ0^*b3W1j@E&QR2afo>S<4yxiQhV8%g1)4qo~BNTv93Xhx>4#vHTO*rV~AshI{bXxt(Re zG{lD^ijrOccV!{gORw@D(4(1Ko}mE5&XDb}Uj#9l_DVEk%hlvK4Hn|-U+|Txmt{kk zW5_b4Hyg&rK_J~LEwBBD%=B)jR=2MeCMbQAL||E@Jt_N6p*{F8kr2>ru?;{FF#QM* zn^KHGWH;MIIktE1`%47}H*N3BqH80cC zc?BV>7S_2ek6QUQ01^j&Q z3%XMG^}|dEU5z(LC+ob_tH5MD8HRMS1~c|Zjj|3>bM0;-X(mWYWgNVlYaB4+)E4B( zG+fZdYa#jo1z^|V!y6!M_!ue$>o+Z=_F`%sOwdd4#7m`q2tsB{v`Z(GRn={vNE|Nf zb~Ftgo~2vmm~qYJrGwgm_6KB(P`l&RvCME`Y9G3E7ueNDdl?mK8e=cHm2kN%nA6ej zR~0uvwD!};c9~c7lrR7SxM9M$NS5>ZiW53n~vU`)xgiH$|lio&+X>>1` zWHZ8$OOq44@2=5RIt<2;7aOUWq38kpraQ$ zevLPKyxYU3nefq$V;?#yS%(**@j44F5%jr$L?J9Ol!dnuaPIG7PMM>`!Oy{JlQLN% zR4hElL#8*?yoJ+?|@q4Of_Faeq5v-E$LexQl-=&i9*2wSaiFTqf4SA(K zEbWM3kG)_e_e&y@IyK%sUt!L98iionm3jea`w!p-&7y&msFbr{B=ttm49_6Z!r{P? zq{j3CPk1Y=4vI4ZI}8RO6zzFNLMCV*+TbjZtyu{&=RK4X9n^2{6tpipAX0e=6poc2 zg-2|x>^>X<&`sw~L`fGc@do%{Pa5KP&U{v>^C6PtN3C>TIrwcdokbr(OMJwi8Varv zi(fN`=Kch^yWb59uu|1`znt!jL%K98X(nKcEYB-He#C&=lUWKdUd}{i8r*xaddXMK zB8*u{uugZ5U@>>rsiOuuQ(@PZTnYGf_xE`YknUyW=Z%YXcMHsKbaopTS3H$jqg-Mi zsrO#f8Dj62jS@QcPl#kq(xc%UEK0(&brmSOo2-syBE92NM(%C!cdDUztL=AOcv=@$FM>QJ)Gz$03-TX%8u$)E=Dqt05a8$c z3u6N6$?>2t&PANYa49hG50I@#dqA7_fVgL8cR-Dj)p8#6p+PdbgXxLpKpv`iB_I96 zUmB$GDUp8rY-Dx*3~tU}5Cod9L7^}n{|X?_@=8N^3Ft?hg9KUGuo(@z;-}IlGq#8E zr9^BSeW~YBEI#>y?(y*~7x?J`*)UkiZMYoRY!>%w*yZNWcZP9u z4~_)fkC9#k_zvK0@?i(>g2V}2v{T-M+#TxRH?e~M8)RX3=a5{tswdG`mYLV2%JlH8 zE0Nb{kne}w{5=z0>=1308q8s8`-S4I{_-{rjX{h`v4qAb!I#mzzaj2?K>g5( zKz??BG?cpnuQzk=Tb>AigHC=?$@x3w`5y$yTDP1I8FL=8d!jk-TSH3yIEe6R9c|j+cnHHH1FxS*<3SQu4Uv$#C%5Y zw1(_&(Fy^)DY0NEWcmjH`#S_axwRY$c{84u)Y+iG(q?~;blB9;xB+Odtbgu!2&w?Q z-g5#VnsaH~pjpK+C`4< z)lpoUL7&&yh-jxBkP>6v?%oVTTICMNbE%`M?)NBLMc@cwOIu&QHw!<3I%j~*gLfN< zvE}>|(qUGH`{M`1=(~1(Nj4H1xPRf1q;KirbKBuR6Z?Qrj%uF4PWBz}IqI zwhZOoZr%*6+QZ@+o8&HcjJWedik$g+>;TymxsE$r4<u)CMMZk3A974iuD zg>7uulM#3wwdiG#GVF~XTj-TON4PHkHx8KF$xJ9-#MVIAFAoNArID8k+;&y5&l|ho7y0IRI&=AA9u6_z&V$2+y)Z5OMW%&WVGDDaVtEWprclT# zG*8R1>~GAy7BK#O)C0eA{LRPTa{Pf*U@ymZMh3r8;ZHaKPt8E|#~*-yQQ_NxhuVrt zaKo;f-%ShRnfd(@k;n0O6VlPi*>W>@j8XpfL8jacem0mM40XXYQnJYp@&a!fb+(`Lk{JiqAMTq$+*tDo$M2y9ZRIrT2g6USbj-qWf4WGdvn;) z>xIuiAbc`o5#5pY!n%2gSD|9MIl>E41Rs~AD9!uWKnS!=$cWfokc0dd_`dK@Tv>xI zkyyzHJ`xDq080k;(0HW;?d6N5b%cI?13FO6w^Uq-m4;&gTV2z1lCf$VDn#J6n?RIdA!go6&wi~g;aNN3pR6gE-AnpN@ z?M+xV-FR;|UT(++guEz13hh>`%1NvX;t@j@jCUDe^QlV1@bH4O<3r$f{0QMAHUwNI z0`5iZsRBTaxDa4E53zc6Z77I1w>3VYfT%w{1B*-nV)RAv5S}cfX>X;T!quKE$|*#m z$)OWQGy&`Q3J~FJ9453A0ScUo@JQYxm#Z<^<;s%sVOfnL-3~#aNtbB-mbQZ}4q2O7 z$4q|za~bM@PhcESzFmy`{&We#0M`QdvLUI@DFp`KKBdV69-%UVTsYGzM}$S@jA6?I zO|JkBk4ik)fdH~?V6ked>g2?lbQR^t;Rs(;#gZ`$T~|w5g(YLv1)xim;q1hB3q`|z z9JCMvry98$;&eM+#gPkBkuUiyZg;Dzmpxwn^@7xLYLLyTrGVNnUg1>&NieSmh`JHS zmJ-@l^t@roiFgP*9 z$(*W?bju(ISK>D)FXxJWr?;WglDk4{)zxSRbmsUiWCsd?W?{ec%XrdWl756AgulPy zuLg4j8{rDy3K)Zy|7)NO9w6tr7HRN4@O^#SU*_Uzjy8apZ~*>hg}(-P@-Myunv-}; zzykL9c$iy!Y0hsZ2Vqa2RdSco`y3Rjk1I#-Pvxs|^zQ007&00-%4;^)qBNdbp+&jmQf^JbB_9{&J>FzD>sru&Z_c z*2~Fgw>4*zU!o<_(S~RG8w~nYbJ08S)s$JZ9p~+)mHIoD4K|FJ4&N5(bQgC}*7w&? zM%b(s)O&6*aJVpNBGwUaYC(WsW6C!i*{=h)SYs-YjW4w0sDqQBAc??+LXhE4cYErP z5BdVTpFIWAQ=SZ2skxM$Of+^A^0^7o_fhmTT;W)!@1x+qA!sD7&!SK8;+xL7=teYs z>t-hCPa*z%Ne?-!)H%fYMr6kx+=l*H0n5WT&vqc59spMGMmQ)7gK!W+xCe8-+^)|1 zXs;9+EBlSwc_PX=73HJ{BZp7ja*%S(LM4*6k#0hY-yL;^;OUMyL-BwUU>F{`$4<(x zt&18_JY4dpy=^`CF9&}(v|+Nt_nOf0wj<6En*ljErA48Z(}E}d0}9Ymo)LIDT=&%V znL7Kd)V+u^6ZqorrmD_})N6z#KIEBTKJ4QN<9&y6jKvk;gEzra1qet!)j)hu*dppC5Hq4_SE?M?27}4@gu;xCVU)fHO4)(g7;nPDU5Y~Sy00@H zPa{2npr@q8*DqB#qT9W!cYkXf8xOth66BXQVC+qMBC;hCsjGU>V`F8uZA8G=SUJk335!dd*W=-*MWVQ|A6^wGVro6w zegp7ve0QOZBJI~9z-ON*PjQxrlju!K4^vB0ciRvU4c-%_>tvJ-SNr+7@ofx5e6^ss z9X$x8y9uEU&7<#Wwe29_V)QHlI{~C8lO6!LnNkj?lqLQ>SA2u>ia>XbkNk>mv zu{wO!u>xaJoXEwdIha9{UHsp2Z;mrGSx@PkNcn=6Xwr={|S>H zegXWQKBRGAW7EK%G9#uC!~pD1KR4DQNSHM zUrhQ~{=biXrXDM~57;c8CAMe1QMbn&`zyDjhQ>pLsll zCsu9&Zzk`p(ItE~fKH?D;WI7Tp5Lcji06s;%fla)M|`jeWqXX`HTW~|NBLmw)e{bl zBOWV%qS+GbD=4h0r0~SDs^+lRggRT|1jhfNES<2#j0y_l9J(qgzLVp>n(AL5pmxj9vV(H+B4vuem?QHsY?Qu=wQxk29o68M~P=XD8X5exTE6t z#f9}zarTV=42_DX^C|pw@aR#Nm=Qo?p;~;5mhp)xi2KChjQLvy)zO+rsk=}+pZIJ7#hdM`(F=DB zpm4RD!nYf*uJ(!VIQ1|3J^i90ZIKLrHXYsoDnd$rMU`6O=xY51Oc0Fz!D?EwL2!!abe=ZSxw$-7`|PRpQ1XqMQ(T ztZ$w8BKgGtOQdH}y(;rf`4qw^p4PI*h`26NNkd6pn2& z+;zfer0@!kpU$cGH9a{69t~(zooH=#pk^XOFJsey~^c$vAo2+F$pIb&4 ztCm6|N+T=3oWc`a=`lfZ#MDqjP?RII#5E09qAnXSYJ%dnAYn#8TG;S))TjR#PCb4P zbk!0UP9S;uqP{^<8zst92a^V_9)0wvptyJ(Va^8zt;8eln?6_KyJGtT#AiS&;b%`J zKK%!h&YU`+u)a)e&8HFZCCmKu5K65yD16W&4L{aJ@vZ{OTVPDU$hvlHAx3BkG}#iK z5VgY>fhy?sQwhS1m`>6@UqYcLPGQ3UYX924_w=h08=!9uVosdG#R&?3K-ee-4QYrs zir*zD967Eb9u)@-r7`>TaFR2K+MxyVh}-p$txnvLARW8B_$x@|X(kE3#OzTg&ScFQ zFp~6Sz(k@fN)pY!dZOtVN+B*XyX(aDC11G;MR?lM`Z{qgbDI<;o>PNFKMp+}74J=^ zc54Pbz6&|z&g!T*qyA3FkT-~0<2r7oH!z!7;=QrdFP}6~c>I`0pUjx85~l z(uqHcs}nSjy};Vya6kU@AZoqaCsFH-3Q_Cb#F|iFOPa7^81?2P=oQWQhq)-^RSs^P zLrhv}2-0c_!~=a6H!sC1;RakFem8h=b1PQ8JkbHl@Hm1jtRIxNedyxmRfvbdt3V76 zQd$__o~E?xn6e1F5rWKVlvXOHGxYH=Dxr$Kt_9-bNtD(=`+QI?2G3S}JK_{^Bj65u zaWj2M0{a=HT@;sTr!kk4LD^p$it|4zVd@Y{8!FCV=m>^}i#CSb6De)D=wRsc2?RBZ z4Gev+pbHsVohQ>SXQ+Z})GW3#R4_xPZD(jHWVuP3AYkaA^qnl(4EpXZT4`VMd)I2b z-vhe?(D8seaN~X-LuWEHM|{B0bqviF`ypF_cotAA?xKImJnx!C(0uV7L+J+MxlsJT z`7Q?KYMepC)Tu=)MR!ik(+?N5ny4udm-gE^wG}6efWY(aAv>oo6~~ICrXkH3MQO*0 zp&Iq(O%vP`TE#Lkk|~=@u7x?XOpIdasa6S%)kv~?iU~Ry|7SMwynxeA6UQ=_S)(Z} z#s1?0ao9Y9P8Vl0Wf0KK_>#)G+Ks5iU_b&8{954hC39JgZ#t}lEK8WnYWfebk=Dde zJN!om(qMi=KiA;v*#te$P=~mcp}#P6j<}s61G!sqs(7bn)E0=JEP^h;&1cF7vkK6~ z_|6?c*ti0^MC@YdW*9}S;!^P-L-#P{X7MmXCo|<0;!%e7G36HVI79C;rcoYAVd4afi7X2SCcZhcxx?Mqk&;p=@xgj+D4)MOW0nnH+RKk4<8Ze2V zU4V$Etos85)n;1oLD8x0fE)w!5QvAx#|(Xmkx9@O42_IS=+By70LcKgBJCTkR?PFB z0wq1hy8`1T-`9jLI^1_$X-GUj?!?kz;+fe^#xU{P910sb{Ejg(jt?D9_+k#-9PSSj z=KCTFg8>RhMVgFSv3K$*;8|ij2ss;{WsTfTum$;_bTFh^WQ{R zGnX)T*zX|z1UPG=&zScR|HJ4{5x!9L6~bLZzd`sZbC@0Y7V+iMi;{0Pcq6{ zJLZ*;R0ANPCQj#4PHvzQDV*Q2d}fmo5)(Y`GELk#@dmVBpo!=o9ZdL(C*}ixCR#=l zWgMQ+R0>R=Mk?i#SyhM=Ps_T=^$1#0o7SgnVaMx13g^tE@c7a`p!pv!ari51&Q>pB zPM&9%&F>h5I?nGn7o6vJ+{FC%FpX@hdE=913pyH6_XQo}3n-kxG$nrO@u7awfy4b{ zncG;@^qc75FTR!&o@Pbxc`QwCX1! zeB4Nb@=%mwiEW|Hh<`t0E5b94YY>jcSisK9r1<`EHzHi?Cd_@oTM*As-hucTkU0~6 zKjU6t&NLp(((E)JL<_uGLi+aYG%3%czzCD#^{5xDU-uKBKaP4z3<*+5@dI-`o6U7( zKGD2kQ}_jk-*UKc%pu^D-+T!A?tP1T?ZZk6Pi-K|u{_=nas7r`K>W6BZVk;R=Xqx5 z&Bwg4NJ0H3H=yJt5-NFV_%J}L8QLQn$L}jM#BUTdGC0RD#g7W=tl5SCi~Xcpf!}$^ z_xmzabV$gvsn0H0G#4V4G-!QbfPTZYR~H)o*&*lT9rOj~$^A(g=Z0Mz8v4TpA_3~12w1R>K7g=RuwSq35N6;n(z1l#~ z%?kQqENAM^Iq{)#wV(Os2FI^f;F=MnUgPB+3N} zdas_KlN9t-B|#kux|8MHs-U-6vbz=JnM#z;DX3*8LGLQ)#{mTWML{FO1et7&U*T!0 zC8$h6&w2xr97Nc&6bE*3%hU=Sh2t0IgMNpOs95zvz6GR#I97 z=rWb|-iT@V64f@9_Tz{mKsPb8!E?h%Z+WG-L!~`DG7RV;hPH}R$5oYAiOXzi&#mG@ z&ly^^*vHU$;xF^+%WK43c((+;^?m2``>k3r5dJ}Eo%X@>OSC?sSwY{7?$Y{-aSW{! z{ra3xP%pe}KgjwuhC9Y zD=0lk!+Y@GDQNYaU4T4fSc(1G3A2`#CxxA4p5pabx_qFR-6$a%w}Zq&hSrINv!>zX z^9%)z7wzSP#03nIoEypqI?wAi4a&->j`J_cR|$>kkDW5pH)JvsCK@^NC|U`pF8-tj+GK2dCBXq{-Uda-=6 z_(nnLzI)53iYJB=4xvo=?Qv0BH$?dsiHA8K^@9uhpm!CQUBmM#4i|r9 z=wt2j;Y0A2(qFTbubYR9e=17qqa*m^W26(m9r`=-2<-i-JmMLxI6@3&Xuo!^yQbnO zFCU$e090AM3J1XCdv5ghW1dgKc+pomsNySQ0&_a}(McRF0#pyjtKSMNg+J5btnNGzSVupfF>vKlMnPP#0 zNVCoomnrC!*baA__)J0PT5BrK7JWuaS?0&OT@4HwDscO{dNI*pP}cCug3W*w~GfSP}=iGvZhPBR{WZwbs`Y# z(ykLPD(H$C1>$8^j6)Jv^+a@&>VwA(FbH@+MI@i75AY?k|d0-Ym)# zG(Y*R`({z6ptolXLRw5gmyI3{Xt;u&n7s@C>-Z!EEx{alvuIV&2b^}Kg8t6X$qEWG z91vN(qdW)g`-W4-OL+anj zH1QAYE^ijvWUjmTc1Qv4O=Y030NpA)Ds4q+0lYIyvQWQ@+r@4LyQ|IvCooU0F1-@*c5CK_AcPa@{MgRnUFOF4ukHP6gdnIivD^u}49l%&QR(h(9SP zGN!fiA(20oO4zSGJYtu4NK`23x)B!Nt^5&jD?{r%pN4jc$HWs1?GdTT$5cKh_A2O+ z@uvXlm`*&;6D#viuY6qm=^%pk09sf1r1&3(i08$XPmB7QOzA0Ux~lRyF<3!Elh*+n z%g`QCIbIXbiKz1py$PEhBk}GYVNGu zE#75FmcB>$W@k!&xbh`Yte~OEUjxc5{Uy;5YI69h?~dqp!tlILFW5JNKGUhz+c&PBdwE8omm0^Xq*n{Nrv zT;j6X)5r6+_7+9)+vB2M>4vCRx*_U^ePSi&+r!qy@5I>*T_NrmbcXgjag~DlPw&*; z5qB$SS)V&A-{mt(A+8jIn*U?|K}^DlCC(_tvOZnf`(gn@d$jQ-FIRrhV~+etoWp5y z)&5A_&k)t<;>wRiXdX-Lp&ETEN*US!o%k1^S_Q40^={>-BEisBF}|b|&;<pQ3bkas?p;63!9UE+_TuY#5#?T=z0L+d;ZgTJo)lQ>pE zL58+5be_1dp-cOdct$~y$j^Wn((fz(A|6-J(UbmD`HgsAL7V;msr-AU-!;;~Z^fd8 zTpo|VZ^fiV5~7~|R#Y5H&<6a621eCCM5}`K9CW|+PqBfa&Elhj0#*MK4>EL~INY8l zeiW}Vv_%}#aEA7y&=wPy-P-f6OSJz8lc5b_R>LmQCGKZPj_EFO<6%U(PMq%wR|#zh z4)#f}X&uwFqZyKOh^DPnX{4Wq_M(DFYC}6522^IAFtrT~trMOpWmT58;z&xPHMKyv zwKZ9&2H%mmFbmaI`LtUl?K6hfiC1QxQBkDrT}o-|#4+|kRZ(r`F%mkr@3C-s z(Mtl-#w-w3+HeVZF2$N!t&LUCU2_TmO;ga_Sbb}>#R@tSEm5PLqM(tSb^$|I2v>ev zRgLyCLtDjH#b0Q(+B*t*tMUu2kCy9osMkK_H0q;ss&EzHIFf9=7&`vKss?S5g4T|| zuFBT7D9G&hSXErBIbKqpGQPdMQ5&bAwd0?y8lb(epuacls~V_%!_YcWQ+J6rSQ~c& z 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..9ee9e46ce9e55fe5627d0849b319a4f705136048 GIT binary patch literal 15280 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 F`hV)$NgDtF literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..e8f036c0801c010b4447ee71544f34518b98878d GIT binary patch literal 16784 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/cs/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/cs/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..9a0c1971d24f8e93a118ff8d1c619edd19ebe2cd GIT binary patch literal 18320 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..e892e8fdf638a50a7e0d2840f20ce3f55f32fe1c GIT binary patch literal 23984 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 E2VRNsxBvhE literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..35bbafe09678baac9a2631b1f63b5c7a2bf3cd45 GIT binary patch literal 21904 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

    mL_W`2 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℘bLGJBLY&oIpobod>-EH4X_hnY!YyTXpR=(lLrq5joZA$Uxt(C`CW_|Z~ znM3i*GtSv*mHw_wa>j&EFAE#>n@7n(ga`H&`Q_Ub{4^A2B`rR-5nC%CzWI9IWgEzg zd(H7)Nv*PfA&av$)r{ZTShdAQA@j%~zdMS{)emp2D3Gb&YOi!+wI8oh-rKJvwCK$> z5id!Xd_0n0TxE0F<7@5nrc@1Rhs(9e?TZqRb{#tCcKq6_X^{pOY30n`y7gn&TTIg4sjDG)6!@jh{zG7-W=CR? iw>BnX@!NwnL9lF|V0@xid%01UQ;YuvcRfpRaQuIfvjZal literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/fr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/fr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..1446aa76bec9918596ddea833c04ddd61da282dc GIT binary patch literal 26032 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 J)FKkY{vQSK#`XXJ literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/fr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/fr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..9620ba2c868fdf28661ebd9eacc72c4aa57d6c78 GIT binary patch literal 18832 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 E2f6!S1^@s6 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..34af907c1e2f7ca7200cb0e56289e47dce190cba GIT binary patch literal 14216 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/it/Microsoft.TestPlatform.CoreUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/it/Microsoft.TestPlatform.CoreUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..0087b322be004b0fedfd780e70f48d609be98e6c GIT binary patch literal 16808 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 SF?+(5#}k_UU6zI+$o~VQsM%8h literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..d5d98b2f211a723ee462f211d07fb51d029c3532 GIT binary patch literal 26024 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/it/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..ea86cf5e612fcbad7888a1ac1ee221ea1ec30c40 GIT binary patch literal 18832 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 AXaE2J literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..8e8328993d018cbffe6af1e11e1fd51221187812 GIT binary patch literal 23952 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..6ae78c4686002fd86c241b22a6706533d3b3c71c GIT binary patch literal 22416 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..51d475e4e61130f9f1aa93f9504abf5d04802c7e GIT binary patch literal 14216 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..3086dacd149f0df2f4b1ae05c8659abcda7ac203 GIT binary patch literal 17320 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 Y;_5soJyJ!p%rH8iWt5xg{@(ll0X=T2P5=M^ literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ja/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ja/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..0424cee53ccad72abbef81bafb7b94d51d95efee GIT binary patch literal 27560 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 Y7VTU*?Ue13#of)v@4A#1xCz7l4{*i%?EnA( literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ja/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ja/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..3ca15116a9f1d14c97b2f67764ead20a69dd6ed6 GIT binary patch literal 19344 zcmeHv3tUWV_y3;hLRaacL`)@>nD)$cMd?nusuU&ZGHSX_W~Nfe%#gm1yUh6MuM;*@OHZzrMvjSHQLVz+Ur}`nqA>{(40<5LH;mx#8y-$) z5&WnGMr1gF7EZ8oawUY(1E@qPDe)g;9sNyHZ)$yo?*vptHFZ_D}3{9=EzdH?4a@agO^QiCuGMpDuZM+Of${RjREl z>SpiuC-RRktqOT#k{~6tw4zk1Hr#WXw|WCwbLH&pRq2|RCU=)D=?U7uG`PE%`X%iS zwdl~N!0T`DahrjcDzHix0UHO~J_GkLC`*K=CzOwZg-?PyXDHhO3VV-<2KmuY-v{|T z$eY9SJd|PA3246*?nR@(1T7I?Bpm+e2n(@6Xz&)me}*Ddeq%jLs0xEWI#l@}Bb!@5 z6GtQx357o=gn?K?s|X+ygBU|sGb^Z$fGRo^gu#0_R9Qna29z+sf_;J0&)V2RJ1X=@ z1S0M~Yw(qb4G^IL3o4Lu1G46bKm1VMC`v2YkP4W3Md zf=&9!hCfcp_u8Bb9R)^#Y1oFZyPr`Qny_+UVfwQMUnfjJk_9q_BY}u3OdmF6%zy-g zp9m&9@ns?!q*X|D;nQiDuML;Un#*E28dbLpUL*^YSn;P z^wZTaBmlE0!;fZP#q3V&X+H41Z-kl7J{cS z2Ty3l*Rd}cF-C*I_d5dPTMokr2HmwhKmv?UAm1a0A%4)D0p4Xf+$-DGLC{Afd-yV?@i^R(vd$EYWhS93 zsk&=@E-yZb$KAt=Kg8pfVNBu=LOqE;)-oQOGfYlE9aMo0Cq9|*W52GwTVP0o?Kq&j zRBUWqkUJ5|AEhRBm2T%tRLJ8b@CTU#Vge5yXD8N}Q`U3fNLLzYf!}vnx1fbO-2X}o z!?RY*7X$QBI3$LEMczNu0rcFBX@+|en*>bL-^|aDddj{T_K@f^39HC!Afc?mh5h9L z{M77zDaMfT0Vfj1j=ToP`hQ}_%^bD?U|i0N&%!4CyTOm(IyA_*zrl6Ts0o9%4fcmE zma5??EA6b^*;TTwcgyb1I)KvoVrFNx*W2@ya=@CmEma*S21^Y9epqnA*`4=2!=r4JEH~2qe zIjoMd?%b-bGEfQ(6CBewjui9tD}KpMpj+tKbvOfNgU111e1OO05=dZt5JO4_RR)#^ zDjN(V;2NPNObU3!!`S=CI0GyxBPVrGP_17K1bn$RZadDw)s4zznFshru&4}RzrW`| z2{>dRAaM4@oz=;Yb_nbYo6Vj=PWQ3=VMY8H_b^KY74U;ssh~Ax#VPB1b6{vtTZp-K zE;LB&tYUXngDI@HB4aEeR}~^5S7RRq^8Y@uSn<3D@1} ziQQR8_)7}6>M#3`f4&?z3Gfs?Fd2OR?SO?>{_X)hMGgP$>l#fR7W2{m4Udx3!H@)# z37+Gp+Y?-}P}jz7oi&?>I|9|+ym&S*e(T@{1p@Jp9I>#yXbq@Ri8lim^9p1+iEWGj(+X>BKOaKZDMsFJ}?`>0!FdqeE%oA-Z$yA+-%K zF(B)a$l9RDOdcnzrw|nMja82vr(g_VW9S+jy*EFxD;d^6DUZt+3CxzeU$FUllnn#@ z(~TRp*toFwD#120-1S|11#<#if8{SMT<2Th5crgb3&YEzFu;d`Qb-v502o*(q)Je& z9)}pu#`3)e1;c-^SB%EcbLbt*V>g0`;{;DpL<5ln*w2EW`tZ}0{4|4~R`Szk ze%c2qb_sf7V-!PXBa@M_{B%4&RpqDJ{FKB`jrplLKP4g(NFzc7I-QVCKpsP?&M(nH zL~ulef+#{di(hLACBkgLfH9VEVO*ymUbq7|_%a^8a0q-l@NYqjVu5h89q0j(p;S|3 z2!BI{!L#L|RDTu#afmsSNe%N0jd7!~LaF8~m;t{?78N1-v*?WBN-HYUpFxYjI(%(1 z)YFn47U3Hn^J9fG1K9hseyp$!UruL)`C{aJLkAJTA6r?{BVrh|z@VQHaAN?j80O0e z`LUM`EtL8LNr&MT+H8mCA^sVUQ+c7~Bj9 z4MqN$1d(9he+IoF{PQdNN(}b>DmG>-LIf;D%FgzyZQmzqR&(-I`Q=5UTanR~u}j>? z>vg2a>zZfQcgLKVNn9@-XeL?S@;-iPg)jk!lV;~*XuU8SRwhsoh2@6jU0lsc*s%b% z3Pv@(_h=}+{bCO>;oz9kPg1=-pMsyJC4CTz3XQkV$((d_R`>SXH`~tK+um#-r;1OP zV9b8U&R*N_AX+A^aa6REb`M!P^RdX&&K}j%`=0l_3|L|>x%o_Sj+VFI^n=vtD(_oN zSl;v*T`%L7mW^rHVls8&dRa@V5+UsLW<3Yb=FKWNMCpfF1H%nr(Idd);1D=@QN|$( z!&67Fq%$Ju489p6$XFaANy40zA&G22B#{t=f!$9BVfZ?nPz@k`JqG=*kz?gI9OJuY4f220+XeAXO(onS9{s z2&gds)D5W-e*Rey7o;Kbv`oOF3HF>bNC+c|E$ES#6=ZNg6$50kqX!HX#PGxAfMj9U z6l~c8+J?ck7?c~zN8AJm8ovQ@SQu-91DRORN&p`INU05CISxUG|MUP6105jt5WsPO zkz(f?5quso!%!baA4BQy|9x4?3#^8jiBw$?}0(37~Y3nBt#GT zp>P|*I~g&6Hxm3|R|B#D`eIrYz}?{>b?Asu{y0V=%m@a?M)F%?nvDeD9OFiWxe&mj z-;aU_x^f+^HHY@T{BdJrBmRXkW2ZA1`Z|Q8VtNPwIR)N{4LKal78TG}$3&P(eu@6jO!nCtlBLmlO7`GtW`){T z(R{8H2jz-U7T3|R(B{*A}6UZougicbFB9l;KluRdv;&?8=3)eb-Pb+`(LHKT2=j7Mw#RtZWeyz9pz>R}9 zE%uz`3VW=$sBv*-i*Bm@e5DJ!`;w0w*HkQh;iGR>yt(jUQtgb7&5}=fD{2eN9SEWu zrOgi>wsiJOQ(I;5qP^cje+}JHw|0G{brCc4iSooYm6i|Ho1fH8Xx6)_+fec}Ub@xs z-W#5`?%w&UFTSwaI^g|s$LYFF_2T%Lv?Y)3-VeR0uz2E~SaNc@f@^|!IC8pV-`xwf z%d8@&JR4o;cAmGP?8@388^+wA%Pm(jwD(Y6J)}6cqL0JsLwQE4aQ>=tt}P1ArlT2i zWa9#HI%iLvD4qLZb#Y?bOV(<$L|gM|akm`{?|3-i!BBB~xVSjbNGv)T=2}HVSP30B zY|ZwgaiXKa)Q2gjbcm_>Wo#76}Cm^ z?zKiON!q9;W;_ydBfip{BB+9IIwt&-h{|Bm2`)5$I%ym#k2MvMlOj`4ltk9iGceRQ zHWWytj!DFppBEm`(2<)1!K0P2Y?NO`C``VgC#Ri!x^X%5$aLjp)uod!V6JXbiq&_#V1<- zLk2J`=09M;LM1W5<#4z!!g$zUf4i84xOf~g&erh6^ZoU%3XZ9~q_7Un!-Da0kAZCf1+htcO)&Am* zdi!Y;k1f0X=@)l9wgkAcw^N$*n)YApnYGo{HO0vKfYb4yCo|tG?&9XF#4gC!%gmTq zkx@N%ebrI)(PF~+=A-W-2mm-6YnJ0T5J769wJ-N|n z*>#51g(h19Umo><;Zjhtu{vT5=4e67qoldnzNbdjV}TcWgy zW3+V3u@6_Te|+P%wWu@DCQ1R+4&S313! zAB%;)GZvJS{4a5>WE91gq>!BUSJ&@Cho7@rf_>AL)BJr|RDyXVD~QgZv0{dU0E7ZV z)QF7g8>9RnV8G8}k-^yW-yWp6_#eXo9t#I}2nVp{ieJ2E$V?=bw1yw#$~fp%zdF81 zHP2$gw2)p;=Yv(EM#{pr)obe|C*3m)X_Rf1cwuxlNA&Oo6Nzj1WWP}SF{Hx3V2>sq~IOv!llgv+n1g%UUZ z;q&5}OI>PK(y7y`EDawet>eFGY8h#4GoEko`|2Z^r4!Zn7cGD4J307)mhDcThJtMY*(LJTT&L-#F^Rp8@?#6F?>R^lRFW%Jt)GM#-_M`QFD}9dYCfxGav7|0qOY3D{SiM%-^fWU=r!x=MS*0|H*`K?y z&r+9_{YUt~O2VS)a^B0bx0^aq67C#MR=mH<@%5I&r)=^=w>5XPB&SLYg~L7whrOtb zsMz2xPXQ+k8!==={QGGz8b91Y9xp68NgTfHBjKCO5-~?5Fn2#j7$cL2jv4m-BB&6A zfN#PaW5!H8Dc$mfyolq2$NSHdn$%PDP*1GKWMPOzs8hZ}zFng2U=)IA^<$Xh$2j;A zI)?A_BN41yShcWNhl8CDO7S6+`N3}KP;i4_=Yl$;jzf6}b{4-1cDnvUk?t4tStutD z6P_T<*@|+qP)^3Ml88bmCmx+M#14-eNBI>yEO-ad{h7KE3>us+#P~-ri9xI|)NGgl z9@U#fCa8=6JbVD|pup@P_>|4FjLP{)mo9Q2EZG@}qCytHgcVI^1HEiPu|M zfoi!DTgE={&&;vdvZgskGW`tIhdAAIpq|kb7XP_+PLKGdS#@)Z_Vm;4`q!!H@7wB4 zO-Ns}!Nz%Et7PWtW@WpH{j)7LxLiB@DTHS_im09Y$YjF48x<+I7s@NaSSsT3_Fa7j2CbglpT)&r54PyHC}9y7g_rk}a)BOMy+z;{L7s z#O&tD6}gzY!Aw?~HgXP7kYba!;BV|%C-tQ<>L zjeTw|eq_#v1HbL{K2wmK>#@S!ah~;Qi;KBYUgGR|A)jLM&eVj31z&Vw%1OmKUm8$gO+CR)1|9PdCg~hoC2oh=)@4Ow%`6ORe`my zsKBT?`m9q*=cRmoTiQlZ+e-@Mok=>c<4xRcIS=*f$y)DMJR>t4=MeooFY35-B`^uN zFq&G$%hb153Uex!`Rg@w9FpC(`9*WI+l%WZYeLvbH|_`NJzm{>RXXd{ExmLX!$ci7 z(u5Fuoz|6+eh$gAXzwhmILCE!*BO5_AQKv#j?nt^Pdy3@jP%cPeIBE=X}>`(o2Q_Q zPhYmZZrxMD?lo~)kE)+`FMI8GAK&3KPMO%RWxhjRb{f}1UzhoAhghZl=4VKquK`W2 zA$qlcPVCGG#NyLMZXLsC)9-J*@Y~6)-}0Jy>8y_ z&2qg-AC9?}dS+W+^th3nrN+jK`uXO*RDYr*M@HcTUyp1+qUagx8xqL|dY-5-8;^UP z&$+gja|PvG`j>1=HBfa3C-6}@@$0tKJdDbK{V3t<$0cbhIz`Y-#VyD;l*%Nyxw;ap zT^(mqEG(>MSW_rQGpvoxNu)t?LLAcG1384}DA$r#lq@%Q2s zm@=cm?0?k!zy|);8~cv2L9y2++K%gt+rA)NUdQHsK-3bZ#p-@J?@O%Sq{H|d6=6rp zb*d~STo#a?_%edlQ~tKhspdl5w(4 zPx!)09m9K7l`FzpDm-S*m(t+LMJH_CocCedqWc*=8fzVrK8HNKWn}Qag1ES*6c0vB{a+_tJ~weRIoY{jwLN>dKnJ8Pk%LZMW@~&>*>< zIGiu_cEgl5rHGRWYb80^*+ypJPc^Tc`mOlLWSQy@mAUsU51u#XWc=1RFbR2XN1VFd zwO7N>*WKdPtwL>=7Q!w17lU_3FO=J?cK%NKXm>f&@kXX8QF~WPzjhaUz{zI+9tL;c zq_g?wXz}fm4c=j%*KbAY`e|KvM6WNZyopGTdbuG{tPtfG2d zmp$#4(KfnLwnX*1_?#yyt7s2u|B#J3veoi@%d9UOTY|1PsZH_O=&{_m*6d8i^;Mov zVttO9bhJ5ow$y07Dd=E4_Vu!jC^>BQiIlo$$Jv*=+|@fH3Tq_sgxeE{zIUIbp8r() zaq0LCYTK*!J&vxvu+?i4E{!L**=b}SvsxqIjG z`r8v0c7C%P&)cuyjV$%^j(^?NOx-`hReyXh1N9N?#uuUPs9U~EzH_4EpT#)cZ$T%) z563jf=+^}c8CbHA!qyzsB5CutHJcz-;mfZOt@*3Ke|21ykLs4?r z;539KQSl+BLZiR)Z2TQ^;(5jnyUHNe^ycXHWUl^}=@lgj!K>D2%-y|zRIYrg3|Z^L zyoA~J)mHk)Z|F+ZDBPi|xHA^7I4bt7q;2C&J&|T4h}J!BM*7?-F-!CHE4AB*quZy= z@O*La^4^qc zJVnhfRO~%MF;kc%>ccJ@dq-o#r`(fqeb$r>4Y+luj@7JhFO3~{JXS#+60SbY2E2j50P{_bi4jT~AAu zmeG=TI^KBW{N}*J(QP&vM=ZB4e}D3&SK_$|-CaF%EbnQqaMk;q_@yG`;aTZ(2M0{I z%zU1hF0L+nS#pM||A8X;I-@U7=9AXQee{8NxB~F0#b4tgqHwM|WEVcyHir*XDST%& z|960@!QhA*Q&5r-nM~G)(+Yr{`B@5<{Wpj1e-zC+9~9bmA7iLW#O%I&Yf4Ow^iA&d zPtSIY8r57B>KJ+9lD@}V+}hCj9S>_xm?|!#d|Bdje)%8St}8qr#?ANqTxAfr&PH9b zVx!#e(d5%IN`tR=U@% ztJ{?tP-R1xbk1*g5e0p*%!t(_cmE zpMYoI(q?_cjtCtV zsZHsjbySNzTh$&+uhqUB-a2PqB<{A-{V=ZNn=o~^&Xul_Q#?-G%j@4{(%2u=PJO%A z{oo(j$F&w}UYk;5mR~pixUB40ZxhW9vn@u4{&=UIQh!SEu-iI|@{f|cHjGc{ejyRe zIm;PuG2SI|y}?GD}lCllY3 zm2Yo(o%S{Z_x5Td>(g6%23@8&5_X z0^UujWrkhaBvw<7^RRUbxXrw^c9NGBZj|btuF8lWquYv`P6*53GLJ6Gv>B&ahq!|56tSU zRH!?4)pQ?eLBgpz{2A`Xkv@p@gdc9!r#?l z<1=p9J`tHSD@223j;So9EGjRESpKSji@ypVJMgmufTacs{`0=HcdNs%{?SpQB0ADS zcx534q_Wr2R^d}?0b{-Co2hG#i6fhoXSp4;L5$P=*zt(WuE+97Y&N(gl|yK1cvNXAp-3kC&$4;cQ?O|9$KPK?6C@ zWUPU~i0*joR~o~39tP~-^TpB8ST~_j1%!g3cU)rrNS6X43voDzA(t>Nt!;Bs0&U6t z&A(B^q8zeS++H;HeNb)O?f$kFS8HDE%Ixq*Bjsc75JYsm-c%*cRkzlysq>6`=J)_F zAt};Vzm|4!q1!`z`PoNV&X<*Ax^}Ey-NXrS=85KZ2lqVQRy|{r-s$vfH(NfZPP;In z`}mGJ+|9+#uc~Bd<`)M@Twy7IRmAufz4_leqkNe4XQ<9dn3ap0k17v?ae%W*eFL}s z0Hunu3l+n}5w_kHx=|FVt&q{3pk|f1C&lDwfXE^W&jjVXA3*@GOX566Io&9y6Xnzh z6W&bnFX>pH@5I*2<9cPUZU4>XmFzQVVM^}%VEgPO>jIRs?f<}1__^W$M_zEHN;Khp zW{8}_-ivi6;{xSnGEdj7^pUt+j;yF!Rp>F&AOSKH=EDDh=Z}t(9ZuVgd(O6+o|#pC z3@Kw@ZEmR$+BBN?xNv5pQB;(Kmd|^c;$o5fkOhaYFBT8&jX0M%XGPG}!&-K?O6N}U zo$5-`xba88mTj_Q&s9m1(k5L=JyV->bM;z-q!`&FIq5_U)Wl<^;1-Q+RnA_2#7qGzyA(9p; zZpYnw6#X`D()m;2wd)C4Zj#CNON)8%bAar{qQ}#pZ}>E^`R=mi9XIE)R-TVk-rIDe z{>bG$CGk79d+ajN%(Pr_@)+)=GF>|~bb$H!=n6vF^8S;{EU#Yd(@6Ec%=DO2xhVXG zJh~wOuVXRg^VV4Ihv<9VhM)DN(l%ex%d5RH-7YTly{G$&dnubY6-{7SysKU@7A+U1 z9Y^JFACEin-tfa8IcZ;V?dBg@VCa8!GA6~(?1aalV~Z!Ej1XD&@k zR%R#e+oifwuK!s2TmN#M^9sQcXYt|UtmyoGYM*kPWgbR7R(tmG_noq%--e3{O*TD> z+);cNfFqB|TmM=$HLYrj+1|a|pSE;MdmqkR-`0DJ{)YY9J=2m>;~L?-rrYCx0OByE AH~;_u literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..365945a56b5ac585016a022436e695e1165be922 GIT binary patch literal 24464 zcmeHv2V4`~v*>OpN)^F^iWspWV%X3@L6D+I6|kX*0U{uQU=kEikOTy*6tOp&C@9T} zC?NLoS-^%}3C)7N*EeUA(EUFD_uc#c_uk)I%x24(Idf*_%*>fN(b+2nlfp1e8a}^% zVOS}Aqr-|k|NSWzUMmkNQ^pR;T^?GBJ6#^?85qQ+hH=;d97YJ$j}aQm=23l_R8Dv( zH7Jy7>*_%bVf!;_N=ov>#i-rvFw6;;!irMfq)K{wjA>C7a00_<@T8~cX`?fIQ{giY zJ{YD#UQ)Lqo(Lz+qd`@J%S@0@VcUlc^G!16$#v%Vpz&3 z_>RReMfi$g#|O2QbP}W|+)r)?Oye;lcyRw>ES%sSIaZ*%{Xqq)XdEub4<3@V z&4UYB_yB9#A66hP8i&bZLqkL>q8af3GloyQ!wSPDw!0-S&m+FVfoP*(GMF0`E}#!N z_(F%;#Bj z4Z8s6L0B`KhXFM-Yz(G|(=Y?f3eMwThR`q@Y$lu?u~=L>7Dj-&hXYZdiCIzPNv@HP z;M5mWl3bE4okAYONm?Soj%=}Znch#lG$#vyb*n-jv|!Al0KODh|8NLUbyeCy6+ zF(Sw-ZdWXB93a(?*Y$-BJ1mkD6cE_$tB^28Xk;6Vdw3`>D1?dngnoR3SV6pYZ=Hku zIBYI^K94p%h#SsedGNyhgV;1rCYR?16rxekTzwZX{dmAOCJSa8mmSXWV{&Q!EEeVw z$>lLaXztAUENB6P#b|y!Hb?T@Hi!`r%I5Nd{J4@wVrpn27BD#;OwOVpK!^RSgt)g7 z(ss3g(MI3@1wx=LgdO^ygtnDoVjY9|jyOrqd8Ddu8MNlBP41JEvLZ*Vj7%gjX)2EQ zl%is|3|#c?jc%2D9*LSWeSqQP6|ouEaIh1xV7~!Y7ENlnclWTSqiKNVV~^^uGfo%Y zd7Vv*&+k?EL+NSrj|DH16Te9)R@PstubH#^#U{0>cb&jCL}Q+U;8!)tbekl9PZ-1tx9w`{qe%fmz_80;Wv*O&Re_8Qa_Fqq zxgnV_5`}VSGW?kwU8=*ccDIDHC(S!ojJrAc){#c321& z2G1kO<~p`m5XOZEEC7iF`yB{CTmT8hJmAcOzaY2{fM>`F6VA|#h0TXX9KgfG{4saH z-L4t62>J61xJN(NkV>ML*dTm%+;t_EWaUX7d#Qh ztry1aLtVsW2;+*#z5vf2VcbTNhByQWZ3I9M*#?26kj+Ykal3_a2b$8M>%GFbb;39} zuMqN~F?6w$YU|_#^sa8q+18K<#EKpR`5Vy)Vg>cbcGZ^x?S7Kv&qj zr=X#53(!$t8rz(BkOTry@u*sxbxXZDbqNs-$bL5jcu$A-f+hOVh;u-!0H~I9DM)K7 z%xp?Y=*U{&bdHc8FXZPo=N%xaNk;sRl9)Z>5hB)R3I#ccc_hMy%H_?ud?7!-p**YMIN;dZShk^Y6<`u!1sd8I zfxn_OCa2U_Y?ZJVR3nd+s#xY!q2K_>2XY9k~8Ah5`6%fb}w##&mzGJNHqfe z0Jdfe`74D2(5C}bnv0z$)gBfd%*AX@FjXS9z1@oKcb!NC))ARROx?(cUnr7Mgdh-{vfpF8lyqiH|NK=MkXQ}@K?7FR( zSg~C{T;j!VE^uC1)-Qc+*=fDxrx&-UKbq8c)k8Z5) z-^_Mi_a>nq_ie)4V;{yGkNmu9;Od{zSGd1=^Pm5^X88tdF4(Hjl7#n~-K5sLK~Sfb zy56uaXV6=Xad@wHX#wfq=sq?&TroV#52G zfD0|G>|yay1vqq|eGO9hUB5#bmBRULiNOu_m=TOWC zeEOdR1JFH+8<3xs07`r~a^F0N8zO)LE?l8dL%(BFS8&P;fFwV7?F?k0W+?D*g;2p0 z;)*c1UfvZXY^S=4_=9rFZqoiw_89dm=;QIsl*VR?TF<_Q2uvr)*)!sfp$X2V#3PJ3Rn%82q)(o2}5CoY2Tf_=}sNDUIl#3FNTI zXZ}D|4K%g4h0b{JK|P?gf@l^5k^Om)V8N}%MARp;K@33V0dPneAxDErgV~z-XQ+@m zE&?DHAom9&CYlT`BpN2U5<#P9kT!)0S6u87Ab0sQtQwp+|a$Br#2_NLFC- z7a-Gy)*)zFBpR>}XBuzr1YxLk=Ve|PpfT)-ru!wHJ5YdB4=DrEqWu79-Vv}fZuHgQ=(yulaX@Zk9 z{(Eqd)>=cKNa4^zP-KIa0jU0;fZCCIjpUESa~8m~JA(b5Eehb5$2&u(BDtU?@$b3Y zl|(LP4hU!+5g-``z#r0>?m%8ZTw#USD^Wb;%8>ySO%{=2qNOur@kkfz2lUN{Pg|V8 z#iAepu@y~N$xEbaBGs}d1+kFSQ6!p3PzkQsR=5FTq=Kj|nnb-JYSI54qK+00A@L%I z#m1ZftdArCAu<&~!2SR-Ix|EoeKbWR1ffYJ(G4`NNHH;O(FYgH1dQf?#}Yf}-Va!X zW@y*BoeNRe#LnQIr?kilhJ&pL1q#r&FF773K#Q(em<9xSR{w+s^)B(1ZPTs|$tXb5 zWhk9#k(fs0%Xkpbwt?FLxXVA$U=QRYgC2=Zg)5Q0MM{D!n#9_+q4WZjw0}bB0HAFk zp#Wm}PasavBMPm$XC?HRnuEa(InDIY>wNECs5xx9RKs`YNQIy65g=zy$0Z>BH ztHds&Tox0ou_z{Ekh5AeHAR8>ruO}H1VWPnxw&AN=OTxPW;jw85oj@hYDxO*7%EE; zAz5CBW}4kML$ek!{~k0M`THiKr36an`D4Q0ciKLtYJq0MyT|AO0}6sUh-RTb_5m8U z>XkdmCeiBU_biiw<&eDucYBb|69i3GlpYj$0~8X8oP3+eQ~;IjpP&-01SILuu87bQ ztyS0mjwV~61_@JQ*xG2Z0uBtXJQd=^IPXaJ8jhuuLBiS{ytC4y0|uAyKPnO24jYP;O2rBIMBjN2d-lnMpAQT7(4$csprh8>WYhFp3+O3|Tg zHslubg@TnG;AQJe3mOZuaM^~!)%9fw@ST*{xS;@-6AB=Gj`HR3D5s=x{YG4_Au$(n z$^d}(YC4qCxMN#=>6)gjGDryHnvx`JYl582a-;51ro8Qa$J~DFd)daMl!leiPV`OH z7LnDO5f-5zjmyx~elXh*7}nQB+~vT9htEWq{wbZKb;w@01Z2S1IB^D56RO zbh1Jimq_NHf!?&{`~o4rvLP8n22_Y@9%M12W6h%rp55&LL4=U+KO~IXPWA#47qK1k z^^jQydB-dTUv4#qc@ z!jLLST2XQtk0z7TkkyA$6BGloTWKn4+?WMf>4sR4av{=%QIM?$!J+~asz5YtKK69= z{*G*es>4p9fDfIK6n1UgQFWnv+YqjQ5QFN$SU-DLfKJ5h#;-Ld>g2A zXZA|;2MuDB2urJKG*>{q3~DEmNiJ!NTeXS}3K~!i*+&*@P-RV2v5<5M#i(iS4#;Fk zWCE0v{8}KIMv?*t=m8||K~0m|t2_v;h&l?k7(ls`hc?!T`39Pm0CI0wu?9%3Kemaq zDyt-w9#CO{WIB<3`A9m?mvo1yK;nlf2IH1UWN$+ejFc3LM1w$V&M+RBP5K)%&qpw!Gr+Y;M^@M$bR_HNoGSal+Hjmp+34tC=fuo zk#tLi9aI&~0m&qj%;R*tX~j{p4hurBh8$6Uz%R68K*E(SrbkvAZ8I2+3n)SXi~?No zE^;hKM74e}c8TCD#0C`Y49IVtMcqeP9nI!$2_wO>fXDc=9*`8p0bKjt4tqdLx{?E2 z>)`F%)#aP_lr$t40X7js#Sw%cO~_A&P^>v0Bn#{TF-c1HJTjJq(L#A2`3jMHZb;hL zI%cFUKnB1z7l2h4nHOX-Q3wdJgP??T5*tAZz(H_MaDM>3_>GH4##s(JXj-4&kbDH! z5Qm1SIA0(X6q8XU5J=icT&+W>i#)mDD6VP`@{8fYxKYiiDcE3$alj0d=4)kh9vCrr)nPtCMGlUTH7B=j@MmTlx_+0JpS!F7dvBkLm5=7A zXMa-KXwoo6>*SYDxtA*^&~)#NS?*^#v)ATRUe)haYNXQqVym8ymYr>@b8K}Xrgd*? zj=9}QtGvp4f91`!95EuAnyulgo8!5ya)TOGgU}hG&@!Wsal#jkJ4)L^j|Wv3ZMI*; zNeP!h+nQUC4ma@hxO3|(>=wGFw%xbClI-0UJ@bJ*gSIS|Gb1Qew4s;DBsZs`x4%XJ zj?Ue*Mphm z@<%@K?E*p#j(1?}CCjlYu<4O&~1*s1NXaN((l4#WXb zF%-7mVmTylT*WO>ZXWSQqF?AP1Ze9{PyXNWXg>VT02gP){DF%oXVxaY?rH0)RVZ2c zcUlFN2U4#@**8f)owbXOnSjLTt-56nzox)}-=ZA}s62!!EL70S9a6)!8NlQ22qlM>#8k|7us4v!X6aGc(YP?D9K zmoOP;N=Z|28H|`CD?dgSm&OGq6kIyPg>WMJw|mlykdwl(4CyRNEJn~f!Aesn`K&sd zuX4G_GxO@&#RZW?w{~8?sB>YS+ES-ME5Ca_{FEV3;u8XyUxYxaDMN~aQz&W%@Ut!V zRR;N=*S|Bnhd54gM`*>w;tD`g3|)bcla-n#EvrVE=0R5@dZU}3YVtD}+(1Zy@z|ks z6+#(3?4j1fo#_w1Z1JaS5*p}?wFmFi|= zP1PspbV9Sgl0Ka!TT?vPfWkmZ|ElkxK?{cf$XFN@C!G1 zE>97_PR(oeSCbEX_$Ga?sD8-%VSD%V>iOPq-JToyHz#Hv6G+ckcwxi^^ILkWou;Ut z&uU33IXtR=;cFiwtG(-T>k=!*ey>q{AzWCId%&40yGGeMzu3mjH(6_m@#{zLCK^Sv zUGyqe9d#+gSAe~9hcm@Gn^@)sCc#jj{%NE5ko-MgGWfK6a8AX*{LTk+Y@wMMy7|96fqbz zP?qi|-Nz`+tGD&4+Th|Nhg~QyHJ94=kE|x#(CgmP4#cD!JHm!Oniz$YM?tOK4|iO{ zn4%x`aN(ycP|aXd-Gltt^nOGi)Ko@IN#B4V==x&}jZKWqOhgn7LlnjKnH=ih;3jij zkl)|LMC(w^@Jzta)`7u;Yc`SOvWj432c51B^fbbQm@2s^C<%7|*Z~ZS`ww042t`D=8jk;x zra)}naWYE@C^**7!Q`l}zmpZ?#yzWz#lFY+x_H1mAFs`yC(WWKTpPVty*bH!EYIn* zxApzH?UQOMQ_qb~dpBpGk5tR*O^z!vJQEGnP}6!Dnto zojUv6Z`4lScS_x(%XN08vX9J$_CB{?#{bnKx3B%xX2-9tV5NC;oKqI-H$FC1mU*4u z+jvl2A6(V->Df0|XLNwb5;+-<=IVXSV_UhNQS3gU6&=hw}p2kadl0bpqfDObAnb!pMvuoq#cU zi#&sw*T3CK2`F9N0R_1O3b+H9b9-NZ<)~=T3Ti|11uD*lWp5A99J+JjAf4c+UT*oN zvZe#29mQH=I?p!(rRgz_~S# zwtDQB*F9BqCvQw)lw8s64YMxJ8z}R1{-S1m_mQf4O?!K~T|HoX#Jl!1O)7kE;JZs9 z@66|9_Iqz%_Sn>aU#P!PL~e#(ud&yy)_oQ}?4fjXPUJ3!(M?Jf8ET6w(k)(n6OQpx z8R9%$J1dIwSk?T9!`#}I7Ms+#J4^O2Nf>m;vShV)^9tAafp0VQX4R*R8(U~F^UM*; zpZeDiNLiHZFG@3wso5T@`@v;;>QJK*r_4hAmwA+J>s2sdSp22;Wl{-iKKZ=9=3cov zJ@NR7p}Y}3>e`3@8l`PIVw2evK1p>Wysr;+v~)jx zXvT!$Qm?C{X6xM?CJgiLHPwFcfzQ~JxI@Y$~ye|yHZIhBjGwcoUaoYGF#O|~*|t$MQDcExEqr!zNp+34}s ze+vB^L7l0q<~?uy7E4!y_`AhP{U7dddB36fxP1m|Q_bUBNvjnk?yv>i;Zs6IR!$t{ z^~I$j5X0K}ziyq;fL4G$6lq0GdC0DW!`jUTvnCXfx$h;7&?FGOT5Z1!Aq6g=gPY@w zHK)*1Y>xJkae4A=_c?m?uoZ@c7lIff4W5W_&2Y|eOmGl;A@EjR-5lxT;6I`8hu@5o zo(SeG%vzYNtGMy60D^WwdLfH#0sZ zdX>G~v|7cqr8NT`HQtS%xXS%n@sD7kWe?iut&J9gcHKBMcyYQ}-BbSywiXdl!``Vy z=ce%D*1W$ol47rOa;3_#oIDxDtu29H18M6sbSCHo&vft`A{P|uwP{0r-1`&B@9f7s z{66klxzVf85rqv!qgt*#c&A*nS$pFqXJre8w>?+f8gfcsz3%myu~%mAIOt#|e^&nF z*@D7`{dey5O`2*q(^P-qsDaB$-jDkHP}iIqv}ymW6@j7b-A8z*tYlci)6lgZ+#*COo?P?(^GznOjCZxx8!RwU^$0 z*2396wk2B1E|#s9EeRjer-H#a^!onULDChEtj{THzkJBld$I9j=9~?+*sV%aT z?vitytg<vCP$6vP&3=0fzEc*I=)pLc|XF=nNz7s9dPHP`M3J>v1wW!`c-Nm&sc7|4F zL~s3}QLn7!OD25V^H+{{Rc6xG84IVoOtw2Q@xsww6Oj&dzw9y4Rz8tGsnO7G}}{981c%^mzI0@%t`}U0*xeU2Q;SLw~P)?k7&) zB|X3FzPx&FLiLLg*+RECy=m32Mqe24eb%1&xx%3-Nt45l1fPgHKWoFIBI~6eF3V{= z4;WCGZftcrdEY3F)0R)-)L(E%y9d*H4obgKr4Q8^O_%AZ=M z<>+O0Z_2~)4XOuaw)A&c@?gtG?^xlr`FT?m)1_~&o8aFw*~DW|vJz#})k{k*tRyrw zHfJgSkV&o0O*?3ReS?C>w3(kxRfp7%%{JO@+2bW|e#uzHEAHjRX;J<^8f%-^Cj46J zebn`~c4-WszBe+}Nmw#7r@ma>SzmeHvFQE|!(~RYFTBVU^oL-i-}hGLN=e~#LBAL9 zthrS}C^ymX4m`R^!KJ$9CIt9YSp|s}s6cuGb}0dG$Ae2V1#K3ij-Mqjg?E#j*t1(! z*FN;Zb`|r?Mmt{6rTf@7ZMDRKmQl$XKR@*Fe@BsJe7&psewMnLJ^>4SeY!DWK){-f zW}%J)V9SXeIzkl)NHV4 zAOrS!P(3|7sCFJM=7weyZN}Oem{^b1H!!fFi_uB7N9PIuOUhUe9&E0FeNp89N|GVy zJpo6&j^vmj0J8Ks+)jwZUx+Xh*R)Aw!4~ zGIS&&Gs1{&h!Qd&DScD%?f)wIKmh;ufqe@$<=GT#=XbAn{J1n`@U(4}Gt*YzII-_- zyna^lRP&i5mZ`~XUi$h#@NVTns_W`Dy^23{!M8yr(0}rd?D_)?hkMtbUhF+T-dAC( zU}vJ!bl+ZA9M?Z=T*rL;$$hn=^M1N8X~?{DyT*-b+^(?9DsKI|)AiiqoS(}o&d`k> z-=c>eC>gWTqsU9|z_yFdUp@a4=+G|{700H}cN(sCEF_xE@XR!Sufuep%crD1{HyUa z@BPOsyAvr74Ryb5yKv*h8!bcTLWflqGpyBeQ-j7FJQp?}qZiaLHeEZ-iZi=%;hux^ z(T4?BQ^q)GoE4Vs3p2UuyZ6JFJk4{L!yY}f{WeRZ?s-m3G$mrMmGaYLmN~&8YErKh zmv4_=UO96A!NB)NvkK`89ZGf=TPwtBg%KH`_XZ`G#SNuM5f9>I+^h(Vhr4CQNO<7zn^h=EBb^Yb3v=L!L6NgN@ zFgbpzeaV-aq!}fJ&&z~+)7KZRcXmv8Q2NZVgfT3F@s!?N30CyY{aHdrrHa{@rn+x# zb0(Ln=zOglob>C|yWz_gy?n)uw;!Vvw0mIS8-o?pZx_ag zT*a?yKPN&rOjD>Xsdx}m-WQwKAsXMgyRSDk*VjAleM1d%_aG0W0Z%!Ek0=_SNlYg^ zGu$)W5?p@gRZ(zUsY$_ ze^#KqfaCvpoW}iHDy!Nt;Nr?@%Ax&g$K+;56<)OOl`~K_ym{|&6YtyGPnF)SrN5e~*uhlU!=_$|21DXX+NI2c74+_N~(g*iL1CWRpZjL!g1&FE>2Fq7X9(!KB>ej zi)0#dZ$7vC{Dt`WsQ);g<)WdXF9NmlP3CT~>>HEL+8XR(Qr(2V7*kN*zbaWpEjXyA zkGIME_wK_>^yfvy-(NX8+)MGma=F@7JI+1rHAQH;Y#7UGv)SPdGmrj=a6DC1uVnSD zrmkX~-nD_R%RXpUjGIA;R12i2E~z~cZ*wJ$L03Phqg`vV=B?|lngN_5-o*BsY# z^FOWkSm;$3GsWv?sd2z^`(cWQ)~H=wtbam9y?I{r0{1xEBe`qsgM0LOcV^Lt1h@ND zw&xelnMyawkT(ro({j64?MRQMW(-Qy>HHs@prXNh_kA?3FdFH9chk7CflCYuVrR#! zR?*n*{_}9N?}+;gdR_H?|8uR!)mtx?Pj`Ox;P{#xVQTVzGu^4%o`wY}T{IpWww8Y0 zNV{BkFmd>)#}|@g4tXZu|0*+WQ%K;rE%xOtIfYT9P4-=S9%t8NA9_*$=7|Jij;n5+ z@BYh2>((UIZ`g-VIaaYSum9|Tc@ICQrD_hg_(8qOjkexmAAb3?kKqH=6}NuuqDIGj zzq7;c(P56>y=b4-x>q#!%+ zfeY~hk4M=TfA(F!Eq>;ZVQJA`U$LIu)PGUPjmky}$&6jZL!+3o(*|MZp$LF#yW zqtRDYe(6cSZ082M^>TBNBcO`wABy5km{VLdtcb1uwXBUT%G$Uy!`R#)*pD4aW^KB4 zGyf?Gw3{ENUrKJyn&TT-ZIPZb`}UPB>Zgh6BA4w-K&2=HDn+ejoPRNahAKtGSi%@q z52UB|k~m55)Tj+`5UV`GhJQl<KbKJmbJ#T}~#tY~_zuz-J(KVaej_wbd*CkLNmaA~^1OF}2;%0={fnz}!4 z_9KUEp5pNrsj)Q{jZ-Y=k8?ei@Kt}{oel4kKc?azubk!m_~^u8tLzOY&KMR))w=zZ zpZUOQ{5j8%?S8z;x+N}?##Z%_URde>Wq1WQnbjN9#?;)Z{@)&mb>Uv^HojZt^kwTW`KN}ThZ_Zqd8}00xO(%gCtA;5kD6#PBE6Bvo4ufVhhyDow*|t5e>b-)p|oyr=K7J7Inv&TC!@LUzfhR4tTUpmK2VG=rH3GQ;M-%@k0s zz+wls9Y9*@bLRiPm3G!Jc^Fy`S(!1)Qj~#GeKCerP4Svd4u+SV7b(Tr)19ks`Bi5? z+L#}k6Z3C&)9s43GBOxN25UIHWE!ER-m5J&LN_xs^J;xyg8mm^ct9*BEZXug(l}iY zOp3f10je{|!-+z{KT@DJ(1W~Il@m2M@)u-%Fv7SUI0fy}XwB!L#117xp6H3dqGCQ<3sI2bZ=;=c>PqEzlz5nHT ztYyf#@ED6Ve@RE{K)jYfSB zZL2hw33pP6u-sZZR+Hd=ZHIuON9R8y_)P@Ap5T{DQ)e%^J4j`Hl<7}t#WN1?=u3H) zYz_ZCy5ng!>OW*7aw`e`rvC<0p?k(b9(mT(a~_WiTnlE8{l(9{7khHTpp?@(J@?)n zwQh~r{7)PBHyT~|HXo*Zc^VEY<2Hgz3mOh@!2N5dvD*&m%9Jg zzTx+BSB}a{yQB1B&)8$vvOmi{{4st=77}imX;g5C-{b5 za6(ND&i$<9IzuJ*>;!*7)}(vW4(9wdsLXgv!R^OW`lR387?qtP>vPk;ZuwO9x{Fbt zUwJpgXcm00bRFlE_8{c`C+dU7C2Qq>xf#n&NgOH6I<82S9X@^S{kiJcx2iC z6CrnL|ABGOzP*>~Gk6~6^;XKlqxQM^^~OHKd4S&VBS!pdFb5^>-IbQF3?a}Y!mz?V# z+sEjm-uQBNn)Wu!q7mQ5?d$z3wV{9CrM>!?TUY(HaD;Y5T7z8GzP=Z;X58StD}L0X zGJu0$K7aSeBzL(BBfl*_H*A@r$5apYr|tfKEwG+8@#E!6>1}0-lW8~iW?n0Axpx21 zt;yqctpoa1&xwyIFZz|tc|3`TmjgFO@C2X?1!}p3Rt{WydW0{G`R|+v&ix{{wD<#_|9F literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..136bc36d479442e958a9891e33c1f616ca141469 GIT binary patch literal 23440 zcmeHv30zEV+xR)tUdob4q9IG0=}dc3+KDz5k&>3FMyr_#A!;I0q!6+dDQj7aQX#v? zQnswgv?8)T+48^cGcz?UJkRs~{_pp`zwh@Q&zy7a<=U_Ny6*cvcaM|TdQ1$%Fmd?( z{E1s;!GVH9RtqL6eu49VI~RYKLKtxESW&7VIyi_8g;(ki+FLObcqH`L%B*!;=cX zx$wiVe&joa&o`<-{F7G}+@bz;GzM~6u0&nYf1OW35mmvp5%7AVm$?|Wr~?U<4KQr| zSa`-^SRZ)&|qH!3DI8gYg0XHiAkgUMB=tTvtXe>4>04hn|=E934 z{B+rpBy=Qsje|ynOAme`mnDW-ixkP%+XAN0gMvw5)ixM*2J|2!=y;oo zVG`;X<_ga^LEY~j3(O8*9cr2Ld`JFFi&YmD9In3=4_#NNcD>yudbp-`@kMNFP3Crb z!Q!&RYHhWi+1KrM`c#(fO^%YHSUkUMa$s&#Q{5sQc)fY;Z5a+s zrok`FJ%-I;gwxy@?8s~WUzFo;p~7&Rv6P?hdP77VlyKn%nfJ+`lmy+ zi4NmLvl!+PjA#zaFHDE(8tos(44BG@@rVp%M40;<8~Ygs7#h({^$i$=iK%)|V$l&C zW;jDg-JQWfb}O+K(dWx&BHZL0Y;mAvBh zn^f;d;h(9?WK>8Rn#^;*U_wce$m#WQAYh(qr2X~mxhu#Z>Of` zetI>p=!@9WlRuU{$ZCHa^`YJAd+kr1do;?dy!lcx93Re+_DXsm4A7>Pi}LvkNCGJzgF`b ze%cfoV|V*B#&@~-!As7+W0tg7vo<%KlVNNk(3mMJprHHCWc{C;h7-~ zaR$V10Xd4}FpW-zg|_;5h)E zAD|9hqv1IQaBT!QUx0Ck_Q&v?4{#&ly$brMLYW26D1f^U{igx_T4*~4zi6O48Gd=t zeiZPO0-h9TF9Keu@U(!kF|>I?nIaEE%L)sCe+-Nb|J*SSAZB6_STN=Q_XU_A76#=& zXo-O`2g-{87%Y##I9N2K*_-D0SOcOI03?7tP+66@H^R&9S~DCB+c$!Wk5QO?p`*LSTchCjW@gz{%0(eGXGoU7nR3#guf|mfF$i7G@4s?oyE<$X`ObyTlG{Gi~ z8~~IU>Xjfni)00s(G2>dGw1<*;WHwiiohcF{|M>_m0 z>>du{p$cEnQ8Xz&8a_yONbP>$#OMv>yfFxSXLlFOADah_NLQkxPa3)^qptixhlXUQ z{|$#mBU?a=#-lBmL1=cw8=GW+1NCS)MgcQ^pmk@sBNqt-Pz_ta%eUop=)!;j*y$Xd zf`W+9S;v-i3IxprE<36AhP{o?7z!2L0UW>uB7il-1PfaINf+sKi!g{?2EEhj9aO03 zI{*k0^+vOE6bL&TL)4>nbt}{q4(uSd*dQNYhSB8vrRIWe0*ho?taJe1)T357G!I0EJl;A=n+`9EsmG z^_U{|4&4uVHPodr*XUDUbx{>HZmN+@zLEhf4WbOj*f z8puWXXgq+TsB_K%pfTNn5L+ldqtF)95v|ksUD>2iD3JL9Qz#C&KwJ=NgP&g-q3a+A zkhIh2!VbnT4F$2-g5iQl{~lK?0H}5X^u%}-It)O{5RN1_cwdP1fmA#aRoj6dAvRI4 zflKD?*4=V14uC|^@lgt zuingyFKAqmUBBiuFaAJ7UNY44xasxl5AwJhc=36>_!YePGG6>vUK|%+i`NyeZrHwy z7r%+eP2t7w;&G4j5)P3#i+BlnyoBQ#HSPLpIK83o39!ss?wzF|-apOh+ z1%d*6_4&J+Gq>^L^M8Y8iT*Eumk_bIQS+*`O*yL&ciiOWtd))1@_}GeZZa=EhZmpB zI07RG|ojg)5HgA^yEkrx9!LX)Ug0E7Fk)eijJy!$qWKxLl^=F z#AN^!LJlIAi1Sds0Y5pz<94J6GQ?T2*$ftkMtV9MVHG+$3>Ju*2SJ;HF2eBu-0UN{ z28UZuy4_*&o+JX?i_2(?p=#nRUP3mHTgppF;3Xtc5rb%G3nD+n?jj!d2rpqRFCm_n zum|YWor-H(b%Hd?0bYC>nd(HNJd)Uq8bxmVQP~_n4l{sEa-^am8Y4Y0P;9O{1qmph zm#~?a0NkeW5)ye_AOMjU@*u>Bo?MYGoKJPIi--AbP7!xA>=P?2}vwir{v3#R& zM3WiW|6e2Xw+ILfi-&d>fV-j>)?vN?ehkv(HX$C#h(IO+Fc1~_9Vi`aFA~Xm3!`{U z&+)@ggZy#YfYNP>h=D+t0zQA0z&f&Qx9HXpt%ONC1^ksiAXgz*K@+9Zq+P*=f+ztj z!#Edu4oVGZh6L#V;y-_`(ZP%$WePh(H%K4Cq)g`PuEDkkJCpwgH$ugd*kSr2!Wm3> zfCU=(ByQ3hCUO*X$kn?_aVyaP@T-^*pVxR2zG{DpVF%S0x3G9z+X9uC1_qSjv*8D2(I98XjqUrke`4-KV7mlK1~?7g{e7lWpe^Qz;sLE z$l{HuW%b+lHEd5JXUV-=9H)~bd_Ni*DBzXDy)%#sl^`$_u!n+#N4JsH5u1>BNP=F% zt-y;&4d@{uyH0ojt1~~sp+Jjz{c2nwPbQoHVsh7OVnDKzB0>TKDaqW>C2)3*OMxFu zX*dkQ0YWrPSRksd0NTj(Lhe8@wjK-%S z`%-xcFyN8NK;e)j;0>l2zls)u0dDKZ@#}R4Lk5KUBWa|RAS*Z(mr4ga!Q_WOi9(?6 zEQx-E)D2-xHIUrIJ_I5D3f3uBo_NL_mwpvA7sH|THh%>wNEdkW zuNej9{)OZu5^}~X>`3OSl;6`7u-4T^W>lC&;CucJ+z9-T7rz7IpNQlA>s)Teh2rvO zXCj8=&ozPMFH}?Td)0s=%gg>sKl;#yNTEp?TD!oc29o3<(#KDO{tRN_!@srr6l)xV zPwjBQrxR=eI@F?1=+jM6jRb5i!`CioR$qo;E8zJYy}QHyP((0%aK*4d__PgQ@G$l1 z?pPSSqa#%6lcqb^!gDEqYJ*O<5I9qjZP9^Uq|a>gP;Ol5f0%~_>Rix zhheff|0#)$#uVW*uQhr1CGU&Kdm4E!BJWk?y#?;*;zJ@CWv~gD8rGk@4#38Mj?2XG&XJ%zhES)+}$!Mi^2MZ?CEtu|029tUSqfFimO)lt|K z*ztgm>Kzx3!FN3J$M2EEXKsR1WMFg{!vYhYF~T|y2nB_~N*@9whBiOK{lj8Bn4B<1 z$MzUT3*bbuIvQ;m>;M*%jHsPmgpf9o;Zc4OF+CexSwKF3)3d=LA}Ep-4x1T~5q@EU zQ%^m6*+fRgu$aLiy&&*l!P%*BKUQc@D0^lYqX$YSW&kUa9T~)-&0w-&%hR0`9mtHN zp;@(Sm>&mmLl*4e+#q9NBr6n-vkA{@1%|av;BhM?AScNPR79CVpP%twtLJPqcHgKq!TxE_q;t2BacZJE%u%<#Nc_- zKwYc!ipH4JX0$a5!IpiF-~XC0=cG6l#}(qTz>P5RI5@EcI3!{Cpt7606&)RAL|!db z`PK76{=?Qiv=s;X=KqjyZu&9rb?T~bVhh3&9Ji(qKQ_KG^WnWG=bmO(87YpSte0a= z_!75i`Gwkr{ZcPUEp*Xr(o;x(De=0lX~fyRZ=2o)dOP;naPHt%4Ih7<0}P#EU+R!(76XC?j!tf=;FwZ} zIjGPQ70Dt!3B&s1SRXoyGsbj1BO0BKVfr{mJHMaWYkwNm3U-P}2V+yg+zi$NMj#FJ zfSs9)?)>W+dZ!8s-5$cTi(RXIfhXIrFeg7|1b^Hy7&PQV==wPtaFM4$yTbfmiLU{i zRE~0wqn`XsLiAFP;E;)C&IL1xghZ;i0o2Zb!#Tcix5M1v%>fP(I78V1?)LDGu2S*0 z?fjUj08#n=P!ws=b0XQwKi7)}hv;Ps1)Myq#R5F&z#D@+t`GztOwlz84I%j8j1EPh zg9qp+kML9g*#SEu9tSxL?{ajgCnj&Q4}l5)8NhKD&;jNM$qgqz>Z8M1h(_l@A%q{D z=nEjf6Qko!K|q^I_GUqE^xT+`t6A{`C{8^IeL{-G-ivjo`gr%!}Oo_dpm23ki4 znE0n)&|!mU_&klM(K@(u73dpTg9T>_>wmZIT}f1HvA7}3XX znGp?X%C$Q3)m%ON#E%T*WH7D z=RXr*=7obk`KRE}xs))l4i$W)s~2|SKz@iu(EnZkH5#zwuMb*H{%bh;KSursH9-E2 z3x$Fa+_CYJGFpj~6aSRQr6^h4u`H;Hpx`*YFCi}}GdFQE&JYu);1U?&Eh(!liHqZ0 zV+t;w#EG$`e#{O`FMgW@sr?+HD-xXa0*3HAC{MH$@&M{HhnOCjC4bBLudue;&Q;! zGP)cgBPljrTvCxT-JPyT^hX70MOjZjb_mSsIgt_ceuM(5lv0#(V+4jrMg-D_6RN02 zRpdl0anJczM_)C&ubbjHMfu9^meofK#}3YK^)<9SxFPq&sfd%>c}NVtu-I44Pzsnb<5Ti+3jbCy;4zqGVK1h;tj9LhgKQf z)4g!`b%H{*^V3f}AKjcOORu)tZf^5=xBYDSx(ZoJOsaRo<7Z*_lxC?uTCBHvy^{M1 z*$C|H;k}Qql+Cq`9`!~#*W)rTx!}g~5PR07kn8tvq-pNafB!uDPp85^1!^EpyS9K{Ws91&RWDshKNe5gv%7nz$1&m2k+K zlx3G_6T;y{nd#~-T)2=H-mz#7hz!?_3S~w{v2_DjVY=YVHj#ng!{ENidwtPu9AP|; zFrh&^;U|G>NRK0Ju`L(L|)zPd_T}VE>pkKpfc}j)A-E}?nx$g z`&=G|Zx2t~&Nb?qUA&iUqnf$JK+hcBLps z(gXIKD{FgRRDFBOkYJ0#h0{{;@;=1{nzi18HdXp4I+juuhd*2O{^XvDk@HH5kGEgE zwkJ8p_Eago_LB*&yT0YZ7~0_lRT8tO-ksUTbZDFl>zZ zt|$KUTGm~Qo_E4(wbzM#R*MzXE}6`|qkZ_1LZ<$#qbYY@DW>W-MRN^8OXJR;4r*jX ztD1zan{_8kBmI%uZLM`z>Dpz7mDk0a%*iPkB;` z@qBgOsmF)T6#a-B@?_PiNLoDT)z%hoV_BYEG*rJ<+OgGUc++}1&P)J{f&mc7>EyWX}zEJXb3e@kf9BM3Ak#S}F=L%&-j z{5h))_%}0%833Qts8-Q%td7Ox#B?M9NCn1(i5_8SN{~swh%BPaVCwZBPf}b;&vZaR z>3{<10LI+G)~~F7s~%Ql+7{l?Sw>Zj&3Lu2=1*7E^oMGkYS zTUu<=5*{u&wj^=rLyMy+K21q3D^%WR>&~iMKYm=k{>+O-7VUa>j*FQeJywuzvaD)H zoX#ib8EGR7M^~6e1TJ?k-ro1{5cL(;KNgE6uKm-u^|o7i%Enb^&W_-W_Epv>{9~+! z$>=SnQ;cpcJ(`}cs-Cw$=(V5Pyjl&19lonyjP|)RVycDPg_E8WM~SsoE}pG>Pn{R# z(|4Nv!sBgN?U_RquJ7ZsO2wn-Oc953G8Yop8A^k+odBI-;XMW4BwGA&&6 zS3EkhdhoNI&L1<5oUzXe+fw!X{^}GtVLEJqbl6Pvlavw6@|19Kn22E_`LEYxG^7Jy zAVs{-a9LP&M#GxW2D2jMP`K|aj?g3$eLG^m1R(|~pi7!#jWeUr*V~*PDB)cDGVe0I zQa#Cl@Inx3;*g05mn^5OsfiAPECkuAXPP5(9Q+YF+WRIm5sX_HwJ=yalASN1@2jUr zCc8PprFjlOOO}2NPUfm~sX_d-U z)ejS_lih9~`4P&qkfLdBYcL-1VGH7XTLtwK-vMeD_JH)roW;b1CzN%s7u!};~c9zIrDJW ziQfFND$9?49NYFx$BfF{a%@&oNJL~_5vRgZLNXWE(y-u8RCEfGJA2&eQ*G*U)kvjS zySxSUmRgKG6+UkMi50^Fj5a6MJo?b~eo%Ji*xDO=H{X8a6JW)gEwz1>h2%oXO39g0Y~+O-*!oK$>~wjv3A_<#C=PvlsQ(8?pGUmF&@p-}e2H z<8v;1^)}D>Gn^;eowdHYZNY5WxXGbEVs@P?4G*7p)s3wvzu5H#ojZh0aEC;~@{fq$ z^q)>#zgz)|EK0ND^9cw*f;FLx7`;!&Bpw#2u+HmTvdYmFVE)-zRw8se0mbPf#i?Io z$2dLvHf{GXXCvuYmfhymOE%*VY^n8edsemitcUId!de6zK6wy&Sp(w+^xOx`R*6&o z)tD9?cCauL=i=B=rk~EqlFx&J>u?!wdEedRtyN^Lu$wyWb%_csrEUGr zvJMXxf}m%kl8#-B0AaKFV4VnOlTJ0+@0O)^o| zcL}9cH0HcYZh&pYpp$c&b#tv;*Obl?%Q-6kx!nKNt54hoO+#WnUV01}jT)!+)KgeLqCaLYx53y|SpdSQx(3cM7iizQL?x1F_HUV%jwaM0oxq|}wR2i(1;@u>K1%IeT++u7qxjv1d4%|dG1ycOcXz6tyR(^{ zm5tpvJAJy*I2%*CEnR?4Ocb35{QoM(xpVx&qp0riO^zAB$l~_*fcbbIf-C;9b4v!# zJR80H!iaE-m9Pnn;hCZijkaW#{#z6vkW5T*Sf>I+I2LTk5c~}pI#`KrN*L0O(T0pZ zn9M{_{9k1sn85#jV*iLGc}PpUD9~?U`@FAW+hVh$s1awA4%!5py*)sQl`mvjO|Hp|3ku{^`(b&87VYO3`X>g&+I$qS!a~*x2*W zZtUo1&H1j(8a~qU{N;hqpXP0wF19>51#dkmbt2v>{m-iFeXosHcRwY)#_ZFGAy)Y9 znVC9ix93!j`TqV(^^tYq(#One-jyhgESMW)H|TQzK+W_TDa|Jh zx6Y}J;=WL-t}lx7sZ*j9ohn-&^kHe}?)a*qA$Ru1w!WHk-F<`Emrq-VoGqPw%4?$9 zy$2SbDpEOZ;|5!(E?m}Nr+8t#l;^|5ozAk}2991|iEXCp%f8HZa`+>vBu?F8MUD0N z^=+lhcj`lyNh`je?B%mJBlz+4GjDFGQ-;)*rfV;MuytPGZJA8xL8mRl)k?M%EKD5o zbHE$*FC))JZ+FquT`lRnSw?&3HRZr`&eNgNc<5KxnCcYDgrU(?>1hl~_*ib8@u8Jp zUTn=@t81Jg+i-8qHeLT$8AEpeSuyI-RBP4I*Cq)k_C^o|^+cxezJ)tywQhert$FXP zQrS&c4jXA#Ms=Bu@5)p1!RGk;Bz&x|V&n~VHyqN;B7FI?@tMR7!XwKq%QeyYS2?cR zrW5}N$Y?#HbHG9YhAiA+YEEd-HOVP?m~cu9Q}VgQ9N2Fb?7_j5-1RSM31{Vhk6QPw zC`BaPXz@OTtdOXfbhpSx&X6(1l2w1$-<|Z>CC`{1=k4v|J!P7?@ne1KtMa@#wb;>A zE5~oLR~Nk5sCC@voZPya>0i^h=UZ6{{;y*{H{VWq-}obvZ#tMgP2y)%$-F8^`VvvlY3RYm@aK2Hy{ z+n75~*_9eQ{F4HH?o!Q6?H_tB{lCrImv0dL)#}@fbLKi{W7?M<+CFVG+u_w=`>=+X zCHdkdBm0%xh16$;GlTq>-8IdXIes$N`c##4x#DFx?JE@1^w^=BTO4ziI2e6Cu_3=M zOu|hk>0Qxh8K0wP_LzMUGd@w2v(5eNCXRF5sp%mGRZ}8%I)9!}7m*k1wK6g`)`@pP zdBM^}FJjsrPCGnd;g{Q1RrlqLb`(Ae3~J3%`_sGidRVoNHoISHaAxd`+U*BN_-Xr_ znUCvh#-=SV?f=ZHzCLw4=dIfFgWsQ?9&vDs#mGWat@lr;R{a~M#uUHQ-Wzsxi=w^M zn?h4}$6HUgjGDEaRUW-2Nnrb53QClS>?wucRwo6G>?GJN~zH-gb^E19YY|8T&rKc?h&(;6w?Q%Kj&rR<0ylxnJKImWX>RO1w*=dw+;#S$QUgC+T<|H;^~pKgEAzdl(T%fY zO(NE|Jm_0J#(k-&A7$}{13y^If?)>_eKsmH9259x%lKlICHjZsW-m+Wr@F(fy|BrD z^pkmgZ~1&|U*~@7{_B-9oZdb?vo?p9mU_%oXWI7WD5m^1qj6E|=vNFiN_i(%jjDKl zHFeoZkJKk$C8lo)4;i0nU)qwBzgW}w(Dhddc8&HC*Yxh4O(eWsbYA!$yK(x(+SPR# zhwv#SW%KtBo*g{*SzCJA@L}dZsJGa$R+;wEH!k=ZJROj9|Hocx?6U64QP)9hbVmd;c5^26EJf_Kk(ps|4RLSLEnAdlL5{_6nQ z2LX|Nt{Md<&(6wC7~$hfaMCtztUm4fMJ~zjgOQ}6@`_21pA4=1aqO<@#n8{*Zqs}Q zJRV(K;3}~=>|+06thZ~wxLsH|c*EHVN{>~HFH0*aPh51+uJF_FRdXJt?i|EoUdmrm zRAe#l1?{jfn>~eW_K+CRv7rLnR1#zx%#k~`t|;hpjaHspd*Fr4GH%)gdqd4z{eJ3- zzY$4;y=FOYlnAJT?;m{xJ7JCqv9Kbx`e(Z~wrJPJjS&^eX2O}y7;@L9*EIA0WdrTr z=NZ>in|6Eqhg6zxTtEB4%}nJB#0-AQb|K(PQ5JkD>iCTF4>!=zmm*>uVKh!ppUl)= z!Xycq8hrNr8)wN^aO}PS-za`r!P0qlu3K!G+rFPW0~0$UQI^!id|oW`W=YMw$TH3A5!DkXN8=BbpM`V#dA zwN;Qg^T+jbRu0RSZ793mHomS%srC+{Zgn^jPe@5hXe)?ORK%1pyf|Mknldl4;q~iix1X1cZUkh$&4O*?__&;9 z|KT((^3hg80;5P^4gDX>6C;)Tc5ICh1_pYjUL6(2bbbZFAM_LvmYlJbKiLmyhq7}WY>dES?E6<#+UYJJ-Hqg1^^022OL%Q>Z|ExL5J=Wf~ zbVT=9x%d=9rDG=!Hd*Dn?6vjSN4>sIfq5RkVPE}f3N1H?P2Cq!dvX5s3n$+EI6P&p z;jlYI{8teK6kU4!OCr9Jh_55!OW~Bfvn9`@|G?O-^=l~px;uX8s^uLkzoF#Os4@Lx z&E&OniTEx51>>N1#la@>U8RW|?s`6uKh}Q8d)D}jjZR-M+IZ%kp=)<>mDJy*t`~Jk z*e?_3Qm~;btj=Q*->xKAbIQu6SYNvJ)^qYuEbidCQIi*B8RfDA&oy2;I=A$gY~6!~ zcd}o?^!*!aDjE`&A2*(R)~7Zr=#ht4%oF2R@3$nBG+r?^ypwV~XL62n!nV8TRlH}u z$W@SDcWZG#M(XM}-;&)%%1Lj2**?@=gKHo;=1)e1L}lH_@s(}cD9_R)$8JdWcc`B( z&)&Sc-Gfcp;r{IWqKB8t#QGaooSll@e6;-L6Q478Jqzwm8#vYEX)1ezsm$)WeS@@< zo_w*Kt#G8guTsPj>XgFUC6&k2=t}uFRlbh9>nUYOY5E>J*r-HlX~op@v+m!?ulR6g zOuv;GqrVQB^kv7>m$809-S<$H|Knr z$-1J0j;j7mdn`|DI^6nMabn$Qed#v+n%f6UJQAO*vES$|pA>|r%-HgXdK@3Uij+YUzaQuJg$3bWS literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..12b023dce6780bb37bf4719401668a1486a8bffa GIT binary patch literal 15248 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..3586eee8f89763741e79116ff137686621aaed67 GIT binary patch literal 16816 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�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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..1245f7793655aabd7044ce8df374a21e1c1970af GIT binary patch literal 23952 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..a699995c301b0401e6a9b234fc43bae5a3eed8d0 GIT binary patch literal 22416 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 Q+TU9)c6G|@%P$xG4<7>0^8f$< literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..ef2c5ddefe8018f21b308510c67479bb3f669971 GIT binary patch literal 15248 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pl/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pl/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..400b877a97e97dc7f75337ad018e72e49dcbb04d GIT binary patch literal 18832 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 bZ9Y}^_R0V}EkZ5beYZiwvA1}}*^K`IW-da& literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..283ff8eedda7dca466c4cca5d381325500632eb8 GIT binary patch literal 16784 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 X?VPKdDpdTV3>n4EvPvP?e?$C#xG%aP literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pt-BR/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pt-BR/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..7670757ccf007a5d6d8ce02e68ec44abd7fe8242 GIT binary patch literal 25512 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..4396c896ddc415062a268571e63ceb956c0ad325 GIT binary patch literal 23952 zcmeHv2V4`+v-n*o(gXxS!FGZL6~iTT6{I85i-I6xNCE^xf+5&U_k9e;}n$tDBEDztlsdQ zg<)Fo6$b4(!}lLwL?h`Gh#HiKGy`VJ_$e|dpX&=Zct?#D=x%-yKowIWm2jbwqHQ!h zsKSQ{pJta6Oczta7mA@Fq7~7Mcz{{Kr`hF%VJ^*z)Z==@SGW*u3`_+JAb@V@LmgGZ z71j&TnPS*YFB&af`}cR3;Gr%!hEoj?Ey-3)l4(g=vg}cn3MPd6Ab4$>iDB#EdoIvv z8Z46tM6puTVi3#$ng-Kh!I%>~ps6$U9OmT)-vLnGgJ4~R;%F$N3&8O@9US!s2ipYyvb<#VWA?s6R~I-KaZ< zy04?|{o#(_X)I{G>R2@3YzKE$%n0rpSRc6SVl3)zPu-oVyBBp2r0z^i6Z&9c`q*i> zcfxAnZi>Bvdp}GIXJVF^6Wj;F3SnZdSQy;Bu`FCU3&V6!_i!N!x?)}o4T@`272FJH zk*A8N#Y?z-1n!~dCFll>_7(HwLcSxGB)Ysg$1>Eldp&$XcuR5D59h`4Xu>EczA3OB5rPBywc%k|X@3m8&>0Ng$-&2JwZQ z6zWO(E0zEWP|KD5`odM5lqwO##4}=u zCKCTYZ~}RWV$pvd=0>(PNE$4B#7}DRgIH$i+XR-D-EiOi_=Eb$6JggdWdg_5ln4x0 zfrobOP*GcLciPC|MppNxW))&RKwo5m9syWYw78)h6zt4G%K@#+HWi;kk8QbCzlxc= zQD@7ywohxn#lOg({6#5QIKgMp?5^7fK3RP0TGf#|i!a;gcW2DflnnZmHE;Z}`(t(U zPqZ29-=~(XJ^Pu;i-)z{53hMy`-(TxM{CZJO^eJTqs=$+&AWWQ?jVa4_kZ*%bJSLy zWAhz)b)Kf@%I`=d9-d?68-96?8s1>Rx*}>q7>1z|PLiKk~PfaR1ua1Hgpv zel(C{?gz~gpbX;zei~me)X4z}7aB=152_>rbY%e0qxnlOz|Mu&h-!pFfJIZ7-vN_w z3x6VsBPm~*$d^gPgs6O#m`H*JOMr+GBDqjZh~)(6NREU^=A?nb#5XgX34RKnD=%M% z8bebVyywG%3{)eucJuL(5@Y0i0(2_!6D0x;j{|-qN5Ua^f*8JpF9HZ68B9v~E_eV8 zfIuP#8Q>5I50L~4nM2tXkb5bOkOLIO$^}3a>J_XRtb!!5h{sPP$_u4XA&L>i0tTQ8 zA?3*A9D&rFqC<)x0Ci(0>0}0U#A((Kkk#Gf^L>Ld^gH#Hm{D}@G9_CMQBxB@)WQtWky+$k&@wozC1LuLn z@*)C;gxY~c67XR0Kp_#jqxb?RtR9Ve3|4Y06?6*ChXZ8QwoB4(^mAWE

    ;rc%HwQ~g(u!^OyJ-QyrkRnz zoVPkDmWZhG4T!VIKY_tf(%CdPpbrMEa102L4B9Er?fO4J@3~QWsZsBhmV{^57W+;s zGn|`OcFZFG>6vA7t33@CR85+-m~(sI;(m3Z>z4)QWxQyqaVveLd;* zzIXlhr+%DnJmY)D1?i7=+0TDma(so=7BA7Pn}X{^Jkf9WD5plhV4jtMq|@up6N6TC z>)8D;(Z0mMbaU3cUZ#Vz`ubhh?dzo_Fdv{^Ywmtzb^qrF`jOA{M_Q*lZL^-{9Df%<-j!TWL8?Ud8VcS4QD!~TE0$8;IzE5dl*femuwZLXfgFR`FHW+pr zzN4UgAJpU(B@ByzIz#w=s)}J>0Om1lLKea1BMxx*LRkZBA|Kv|0WP!w@o0--M*v4( zXg>vD^`Y%jcpnG---YKn(2fhZm7(8L0N(}heT8;Bz_SC|pvxWJDFOUxsLuy{NzexE zuet#29C&X6@XpZ31)$R&;8wx=Gf*D{_)h|C2DD89++zU8Wq|Js&l}z%od|GH|gF%ACl+Dj~Cite%WAF34IT>wzvSSIV3u!d-+#fzA69V~K_Yb`{wn z1)##lA@e2!yP5(NNa1NPG-bDJ>JLUM9!TQCYhNG>HA9BkA53Wo*xe*}j`$T!F&cjW zLB9LR+t zneM-(jC}xfKS^}!G8O>6BQK8j@eE;|{t;LR03gXmE};w~{uC?}Ml6B;=-!wB))$Rg zM9mt#J|y7#qSYA;n3LeIY28>ub80~&CBbWGhL$v0B}G{z@KrWw_IqBlqD@+O)OFZV`uZv;Iz~_L!U_C&_;>YLBjx) z{U@OAlw70vN7J(qz|2~L{XJW5LE}Nb&?!AHXv_Hb-2IhADW(oi0J9|mG>5V9ha{#o zkY(TtI3e~b1P_^VqyXu~LJKC^T0*FcGO=8sF9tqMeu5P149uT03b#ph}xn>R1ApNe}|~0hC@igsbPt+rvTPou|cO*g#g$ei?}f@Bje! z`yCA)Kt59FsaPO9(fSq%3DRf^ZQF#B2Pm1pL+J&eO&}=%;`lodALtReR;@F09H3zT z4#ls;<^h<^@4%V|TbhWT`zN3wAc4qBlYu}rfi3}1QqikIFQZrwAG9&;lX0k3O)pK_ zF)wc3UrQjgD3F;;fOSqAJhZ}*xX_>n0n|j%UrSe6fe6jzWoXv5^=4?*BIe(LCcXZ? z3B8p-;VvHb=Ob58)bKiM2xGu zLJ%|t0ozNw7bWwBxSBH@U`R%Y zyC|Lrvt~g|4n+{B53Ux#hv+hds&TClej*So6eL1)6jyOh7D&bTAPO_Y5R=4GX?ZcA zCLlx45em{c5<*Obq$WWoQUpP66hNk;i_OPvMnT7j1%CrBD&Il$1`hScC*!Sj1SlaO zER?5EVPQIg%p`to$QLCGfEn6$q+22pv(yl0by&XL~(irDlv-9m#>3JyBxAo z5Ynf}7V-rsBFw}?{0WgbkqXc&BHE4dWtvzNww9G|fM_*D$x*bP3iNX!@XrM950-@MA&TBrsBl=}W{(5&@qIoKqZZ z2%l3j2P{bD2*nb*bKpHhydnD_ZKu0tx9tXjRp&=VlY2|@LkKl+2S4d|d z?hgs#OCfJXxcd7d&IUuI8Hrw^lqcZO++gAz8liv(fEfU(_xPY;L0(PFAVj|=4p6|I zD;C1af$0ODQ!_}7hlvLQ%RoLP96=hq_$B9n+BXwu9=~DXAvOb=hH*iD8q#DkbT9+P z7XY%_B7dToDL_y6N(`qMr>IAqf%$^~dlKX?Vgy`-nUa?VjyeAxV_2fFF?$c(K&T{u zrcpEo{}BpzAs=O6T0_8W$!1y{T4Q#DEEXvJ+#|5EVHW7L3Ox@BCUB&X#Gp@6fYNCo zpXL|JHi1ZS9rkqE?qYK6ln_yA`hpFc)k zz7gdfku55SP|1UW;>F^w+)NL4eG z3+{t&!2KbIE8)w^cSr;vx?n5BV6~}CaKrMV4KQW?k$?bc2n~odH2)jOCWe9%f$S$7 zD3mtnCY0_(*<}g?5Kn-PNECpsZO9xqSSOlg&3jhzv%DCc zF5*aW9fI)Xi=>=bej=4y#q|gxSjOQdgn*Uh4`{0aUPE(lNtI3#<7$3lnTJ>|;x+St z)V$!-5>mOiCis4227(3;P!CZ+8=%A_Ir5_DT%K}HM6rx6ifbi3X5Lb7jv+t|K zxb6_Zilhsi0hle37&mSlrh;vhUgIOzPFFD=1VPnw4dQ?~=feV|GwTE-X~FuUWk9`G zr@KUi>nOSsh{}t(0_drcKcc2YcmrEb(Th0_6mts~r@=FW?wflLh<+Fzzd=l3!kfRP zO$IRx1iK*xk30;j%jV4x&5FLv=oa9ffFlVD5;Q1?j(Mw6YEA$Lz&J-l_5sVM}NEnw>g(^s16PFzo2W%th?8+<@)D z?JGk!sN@#ajtj-RxEy)=reRM2aa}$pV~d@x}W&R%Pj{-B`W3E z1{|ums9CjBrghuO(Qwum;?s&NSs5KZ9*zY=!e%%`K!f1P3v#i3Q1*hm2Yu=qJD~jX zJ36VSIMIsE(4q?^c+rJWLc*fOYVVAqX8YE2Ot$om6Eys>XLDkz0uQPfHiw`myhcY9Ho%5y$z)kjYng7cM>8Mq2Yj#Sm?r;01%IkpU3 zxzLaFAv-jy(IM59aI8>yB_j(XSwF!l6E_E+9#~ua?Lyg&N>Y*=yT23jSwOtbTXh33 z2UBem{h@_9ZL`T7l^=UjeeUTJ`aA=z+-hKJEIy6{nk(1 zv&_g|=)IDDx5gvza3UYv{$N3@2(S_XuFeFTWU-I*;%r!?ZctSh9aw> zNXq_8=xd-~>2K&Kb8wU9jDopS%7I@vLA?ee2TmYfdU!E^$Gb1em0KTnduzIBy^h*j zt2yhhZoKBQYG00W=$O+zPY<|mF~etQ$5Siorj(TS?y#jk%GznuoV7KR5BC3hS?k4v zF$dS~@Fi4dYCCV-<{A*4Z<20PU;W0#Iz#Mdad6sh_YG3vbK}lcU9NvAoAdlor^{B? zERGewn4o>r@6Njikru0mjyqlNw%}vrtEGnz<&|qNQu9YXuDmO}W-y}j?KJk3Sq8zm z8Y1j)@tVq02S>Zfd;F!gHss`k>08f_kModt#+|)>zM#)4%hxrQemBWyiRHovcIh~` zyMFL>g8)Z0$zZ+ASiIlS{d>1~ei^rEQq?QjIHyTo&V4g)`K`Sj>dOE@#aHFvnZS`W zvK!2Gm!8TUNyA2I_EE!C)j-x&RN5#hkzG&&ZDm8{_SUn*+c{6anXqklsUPF7uH!s9 zq*jmt=yf|~FVb_hJL$^mL-t0(qp9EQ2OItxC{hkA)7-Sg47fEjvy7eb*`;&G|cu#T^W5#ji zVPr5Fs3?<+N$$Vx0EQ*~O&2m!3lXl5<3E%c;9Iv`%t|>795eK?-D}SCapGL9bXu@2 zdVjV#9y>ZJe9=eG5v)m<`fTc0J0+;U%;#97b5+eU&&!7jPWGAoW~6bHQr(P&-cyUz zU2)Gx-doyM*S|BZKI{-WeiZWDBOx6vMtNW^@#@xT}sF{CIEo z%}Ya#VjWAz2Ik|3w92;jxj)iyUPYw7&jCWe>)pw(cdaTniQiYY+;UX z<99kw3E#QiIZeCU3A@o(`W4^SUTis{WX6@}`uUc%@*Jy#16fD+#ysK6JKH7Xjkr>1 zHv4wBOMUZBv-%w@?wFTtH){UQFBh(SeHSwF_KLdvjb47=-|q8vdC<{whV2;B2YV_v z@8A6`%cyGd+<42q#@g2nwHdG5%*@R^H;TPkBLZ{u4cpmuSHXt2CAX(W=r1qod87y1 za&|w57aq?ywD0*LsEp0|o@`OKa@c@73CFLem7jRd?Y%tLDkL&qAJ@M)y)8xdh)B}UO9_zB# zU(*wiIc?Iw3`El=K!c+_>oR3)m3|TyGJDE@iE3q&BwCV6`hA*Ie~=h{&g=^EO+`~7 z?&B<%#fc$2o7!juz!cb$c5Kqxo}`R`4OK*z!9M)oZlrP;znTLEG6xJW2e9Tg)qj@g zc4ije6m87W^|dN{T^iPXg-fTt2~WcVHttciGgkI08(*%~^^R@A3B8+|^>#-Wsct)E ze+_TXa=9|KZ7Oea=G@Uegj<(;Eqxj{>T>mx;O!dbkn&xo6*&DNUOBA*%jT(4iS~C+|PpUDh+Iqgm;>-ez_^7upZCxj3$5 z_Lk13>o&x^;BZ|1cuYD!Jd$Sd8w9fOYT3LV@-slFmD!s43ggQQ5EK##FIK4SOx zZ)W5~RUS6jaiG)HVct*di*%lvdhPGH$8DVZ!z1OAw0n{#J*p3REIR)3Xy?$%2{T{# zdXeik6RKs(OQ$XMih%BZf7zf2|rLqeg)C3}vmZ8W3HP z!`{smb0#&By4O)gXeN<5jk;fjR00#w!puqf4`8rnx$bSR;&=bqx|6I5)2UWuID+V= z43>!WFZ3<+p5)bFg}_?_#b!8yLGF zGJy0`l)>1!{FAY>fb83E@yp2U6^M93IeP(_J(tWbXk-#oiOilr4pwx>zzr?`sXJu6 zd19{A0!4>8l2mSzlo=;WB%K-&Fi5MeY@$oEz(*7na6*Th(Xq-X*ifTWUMOIL0uU&4 z!z8-=q);jA8~b|FnuYg5QjM8cZpva!mT1mzcb_|Zk<0vy%c)wkj_{+H=8hlBB^8Mi zz8@T1t8r%FAf2&b6<3$~*1mkdkKlMn7ZiEZKyaZ_oB(c=SCwO?Thw4Juko>f%1f zG3OQb9o#n|%!}JiT_6fyIRD{O7~)-Odpw>;X~yYAARH`-elnJrl8 ztL>oqT5am}ZsqKbHTB2)Ux-+~)5~7tgvQYm#akY2zg1~4CD1+0jy5B^Y9MeclYzhcNQCDxUWloF z$`xs8CZC7Q>$d5Or)k!^8w#Q_{;ipt0RvTO<58;X1L!F z_rorymn27MWDQC9mb&7|fyBi4(?L@GwrK(9Svf{hGRH^^+dndU-oM*${p}90*`~BG zdkYB)s9{g2uEf%6bmC!?3j4gKEvqI=8~o3vvH@w)1gOk1Q6?6~=DplG`>ERGcK*{c zKWL_0vpd9E?i%48akfk5$%*YpkS@)@wOCdpyRdzh-mme*BIB%%f48QaFFV+nDd*tW zI*VPUL%!FYa55-*wQ)t=ij+^&`pr7BbW?8Bfhk#04n-A7+Orvq;j6LZ#(62{Z>_wd zG??EdqMy^Qib|g{rvqAsi)v$8XJ-59^tINyAN<)j(6^U5V=doq@~y4u$5p~F2EE`1 ztel+QRZa52JnUJg3CHIY&0Age@pILwjd6aCUcJ08mfk9t|Hz%(-{!VW>D8ytv+qq_ zUa|UAFl%Y&0Ub5RR}XHR^3C(`B9B!(uli3)5t}p8C1Ec`d!{9n`Sl(ce69BVTb~N9 z+9GoKOKX48rDyl1mrwZexOY;F&Xi^QraW`g(OI9@{mqfKn!+}ru}^$1om{~ger0K; z?TCkaPR|a%=UkLy_>Igl{M5)?B_*7dWB3&69yQJoicJ_^hpNjAT+l5!adk;fSZkrTYq;;cia9f z8#`-O13IPV=tAJX$mkCV9>zsU+OErDPy zhA(d}&?qD`?!SZq4I@+1@6yD8W)wFBWJo$7!$MPJPg=7{6p(?LV%s$o|5wcqIPm}M z*#Gr(3hy0>58k5pDKaU%JVu(fw{-jdVIOaMe_QfpO@Q9Ox8=sV z%B*un{+$=+Rjbv!Pti_2{*L^(^LwuTT-Mc{x<#{0H!Tn8c6;NR^RY+td{skCKE*nP zZZ|Qu!qbmtj+i+1O#QRD9x9sieA3G|x7nY^E=a&8#aG$+uVJ6I462Y-7%(a(&fWP* zWm{5JV3}Tz5sBYGSSVH@0xQ!Xpq>HBQH zk=B3?XQypU;w&dB+o>34T(eA@r)E6%@VbO&lP_PoRH8i9`OB9YN#q23wY6V=Xs2Io ze?8;ihN7D;`5HeR16q*X%#Dw`;y9r~p0~j9Y7eggwUcl0`1^`mc;hS9 z8AM{Eq9Z4~eRP?>u2ZnJ(NhT-MSJ66iFsLwKlHcFiIE$7+C;GqF>B%OW7AzEC z$-*66bJC2}hjPh<3YQjK^3midh&MOH;J_sh_-$Vbul&z?`#BV)j|SIMS&P(AbgHEG zlV+nlD z)Mu}+d3}@_pEnpnOmflIfb8GABP?dq97M^@hXP@$~I?h4d{(;7N$%aeUdcGevD023&FZyf40^DOf zGd<*f5y`_J-SgPCd&@a8D?a|OGt-mq)qi;ExO{Z9_|f#|QDFt6vFFE==0^8U;LW$$ z;bOoGTe?23&%=nY=p?PxesyPROmFA0KTnmz|H|V$Do^bC(L+*}lb)+SI%*MbRoa^s zTkC8Vdv}dE(@r<3*9VKxjFTZ_w9^li-rjdH%ca-;!@SPcX=4~^nmUY3H?5`G;iK-< zEu6SDcGP3bF~L1P#QzYkv>M+%5A5L>h)<1ZvWJ+#@h1t(8B4qtQGqIhpQPr$PoS#7 zIFk03B+HJ?W?O@Cgs?MJv_!>!v+4ewHG6n}t(KZ3c;V1{H3#-Ob{K8>W2FDdm=E)U$As5p4h{dl$0l~7hpE=Cnfe#U zvJdNatR0;ZA2h*j_u4#@l16j6(8g`)a`iqIf zeP7<$KXdhig8c3F=7CF}CJEY}vFV?b$2w(gcHqIz$vw*NozBnP6_Q`|S!LM5#JGWr zJr2~Z-jdeGcJtZi6WpJ8h|aLD9iBvv^f#}G-hO^>&CDqe=WoV`?mIYULx+gi(RV-2 zF6i3D;Tv&Ln&G_ILw^2Pl+_)*sn@@)Au=+*-dgTnT`IAt%!tY=tK67r^TNjGeLvB9 zy};T-DoU#=q-%X`Wpg`Q<>=JwzTWNGv2I=MqH%+LDz}b0`sUhAse`NE5lefYJjQ;P zIHvBi+(3_-iUaW-!#TM0Ozg^0H_Vb5HI^MEH`WpLM?dRn+~A6}PTTONM-;A|&^< zpkos|%sD*Bpwig(q?$p;!6}>EOW$>!JnDA-azlyW#Fq5kyB*_en8gZfb_cB4EmE&B zpaNkk73v-M$c>>Z21?iTT^ID7cWm*&oPt3f)_pGO{;*K~tC<;W)yj=ThJa|ue`qyC z!h9xVz>e7YUyItfp{Pv|pE_kLmZVZqn^w)te@X!D+WX;W^J`a*jE<{tm^&-t#)ZWl zkCDS^lkHDJrl=4yMU82ke=&fDGDT#6(xyM#lCsp{3L^=Y8s&k9D#~D~9skKvw-P*S ziCgxQ`lO8RvSArt`xf6f?-q-*dPLk`F7f`lLHulF`%*_gPhLui>YN1*EX!T?H;#_6 z8GM^39Ct}>pSVwl_3&u^7hy%w+>R!HJ&lPS5bS$rVOeR{l$$opr5kdFV@lgp4o9%58wD< zUa8rz-j{kDa4I}xRH~=fF4Cd*J*WA0n?HQ&GqrqwhixGfU3PrcT0Y%q>XUlS`0S(E zMlMD{@@Y0lyOhK40?ZTAMT5=NQ`$c**uEj6+G~|eYyXRatji9MhdRa#^xrq>Gu!yq z{I~h<3-I?BPRPE!_mPNoH_6H4R@>5U27K2DyW=$IWJuyNu55^TiJxcxBkh&P9O8ZI zaZs9gCQtpq4m{K=gm+7NV|>>LH#{%gs34*3iq&RSu|{S+%Iv%si@tOZNr-oE=egn4 z?k%Tkr;hSpcKMP|@~+Sj^%4Q@mN~A7Bb0vE*!RLY#zFAy>=9?L%*;6l&wd>EaJRvs zofjO}umW@UA7UKIS()CUi^0^HN#CFBx@2ZNRWsk_cA3woB|kKtT7B$c9oz3-+dYqG zEV_Q*oN;jmKpocK21Mlm*iG4>(!}E1Evj7iynU~i5u)Y z^RJx5H7dGC#;C^Y?(8zmGHgdtQq1e39L8DL>{wA@sgFhf`*zwZO*KHjv{6;*r>(>= zRx-dC21o5@Md;`bZZr4p^wm*sT)r81D1@+acGl|5f3ulxmb6t-!5AvoqtY2)Nt2E` zjiC`MOKZ|Dys^TTq$@}nIiM*Hql~l6$-bmU0|Jz1XahF}L+eSygPt}0cK6+J=&emN zSOz+x(HP7_Q5{C12C0VNmD&^$MT%#9Qeks_0`w|nXJbWyC$2d5-1AzgtE%JuDOH^V z_G}G!xs|Q1KKR>`a}2|@t#3>5G|M={Q10UPX^+pcuFszTDZXUHQ>pn|Kl7N6&x#%x z*xDbvTpix2_IgQ{?Y+ShK76Sxt{&u6c~xsg;iI6)>!0V(=<5=*uFr^f&Z^Rx;=_|< z6`Lbxy=>1OT6yUBQdW*~TZpNsQ{p`5-#eXDjJ36pPV*RR4nCALZj8i1khN`#Slcgg zRHsi@Z-vZz)g~bE-c#(;$)}^Xb}RYX_MG1gT~FrZcI5<_{ka(eh6OA88JYcr%zj8_ zA5bQ=j}K>?d>@(bzahp&w0XsLjk2BYe}(4k?Kbq9_BZh$BQks8e}i?k~#E)@{{9Kmo*!A+x`)YQ3=Uq9wTnlUl-dNIHAR%6+oWsCMyw}v)KAsyo(J20* z)4X1)@;hD+Z@rms`z3uun9--29n$GfJDjmJM!O;Gu8Sw zQ+}ISx#Pfdr<;QO-BX5s*cUm%A|x%Tbf?~x+kJG|#^DDJx@6qhH>P)H?-8j(f&@_ovU}f z(6(>yPIn*74Vt9aZp3KWW-I+8@9$X-+%2-2)%l zjLq*p9(m;EyxsVvAY;9gcHZ$N4o5@I&olhO51oJXnjKMpQ`TYQPUU%?+pRWC;2fK- zbUonPxJ^6qmk(F%b@&nQK$cZcfhGI;-jGdis=g_mW8wXG-jDLDFAI*y9@&o{9g1z% z+_v8P)dj6Cr#2o{yAg6{SRdYwZ+kzyQ66F@UFfqP_q)(1G@dJ_CW(Y`A{L(-!x9LD5^6MuDv}DQ zTmjW9Foen%vN^Pl9ktC`Q3rWrm>;f!MK{Mq%cf}(-vsz! zm_GSVk@1ZR5dY*=1a~Mu#>b#v?lVzS^uO)d`iY9*8U}bn(8~l2o1{Pj-!u%%>krQi z4C?@ofBK>-SSLX>;d_`85}JfFNdn*NP2mQ0WM6@A<%1>QO@J45`1OOI z(&Y}rMH6v<E_xngNvvmo@y9E_V#`Q2HcaGdyJ_h&KwRhRtxpu;U;Ht=5K@s2En( z3&VoonbBJIyGQwMP0G%rCvH694f{0m#aTVh;`lXoo$}iW*v8Kndt7I z+B_$)v1Q*$@d#hbZvq+OUlEp6I`&H3wg$C_(2tng$qCdRCNm^x}Z(_8SY=aQV3 z-IJXoKipe%@I%MX**2v+ulpKbZ1CcK3@Z=3qnGe}S>9Q%3A}~ArNHYSXJ1v}z+^uB zcp<4`35QP$=7@z-Q4B|{cnjvR*c_2Hl`oDFig?^;Yw9SDNX!)qTojhgP3NM6qfNQ&kba%! zyAOysz_t>41k#KdEwn$61Tn@I)P>Y)z7DN zTSjue>Lkad9ecyAeASq!y1zo|+*pztU6Gvr7W7C%1H*2C&K9a**a&zo1$zcJgEfI1 zPC)$>C}Y836{}&`PAJoYpDwg{1ZD34W+^Bl6P`xe7#0m}<^sO`@GXI7XL!DYGIW{4 zvmfAE3~*5Z69V=1@Jt4{zVKcPZH(bt1kWUZy9Vt?0{up)D}$dD=njKl3DoZbJe7cF z9@LiuFI0HC!M7vSjfQVZM+{>yu^9Nr!Nl+{1d{+_E+)X@FkiT*U@VLW-)yK!g>MOb zPXb^Vc?2fGq-29(a2I3#&`^x=;aviC@qm(zc>_2H$~Yvj7;^?tf(eB@z%L=I#26E3 zav6Tkkz1xHTNMRE+p~;#AU_!vv#{XY2bp}Apehu;? zZc7;C)`lS<3nb&AAhZ;C3b0X7!Xrf~#wI{R;1i86>XZZ;389G`8yco3&;%qQCI>kN zhQb$mje0DBA>hD09zfWbtPdf8Hwpd;Nn{B86M$QIkR6PNfe`{}H0(%0WVFQ4aXx@Z zfIu=Rt;6pd%lp$_dsYCb(?13p4D{Ou5$X3i0H(@;|B6B{u#f@2>OtGUAm}Ec#<;Wb9fEgA@Jpk@VMJfT*!VB=q#xe|=aKHfDl%uVq zV(c_Dw)P^G0zq?u%QmXN!p;C^1dJh9(H_7TR6qc%Atppn8%?T6n_A2QP`iHyR4!=b z0HH^}qSJ1+vkWKqWGB+&2dP6v|M)1g~i{Oc{D=W85-((|#0?H@=Abunm1VBhN zkc!CAgaSon<(vyZ{n`T|wvc~Dt}RvJt;=Lh#bl?DBVz$m$PWa9Uyw^f7GGXM)2_bI z)3!mEH|P$L7P=*FH5Wws_qb5VHf{s>8RKkd&>0CsZb`xLJ`pe-y=evQEqhY!5ty>H%7h?X@dmh-Cl>YAZ?it z1|#hQ{uap#jXq*VmT~+nKUw_t2lf!_DDui(rVqR!cl@)|uK*D@IT5)!AOc7yhXM)| z%-fSf-D-3A_PUT>$x(!oRX@kmpONGMnEO8uhPo9CGDG1{KLrsFdQiaqM7EdUm zA}#_|i$1+G?E2%!>KqqbF$ zT~#7t^#i|D3m|U^U4iK);sr!uk!DAhAdXCaXx!FJ!SeXOV)?&`TYEVJ&~X+IIxlLK z9cNMuN1~8= zRwO??xKU$Sym+A$3h3#0N+?Gx@#je5g={J?SG`>jBN7UPK$lMq^KGkSN+cp~v=lUk z9D7Oi7BB~Cl29b!pt0f$Q;-@dV-QM#1vKoxKtjX&G5OIfF#rH1(tP$pXMq*eofOt& zE(`jC7$$zzjx;Y|K+$h1hsWWA{(%JWAO(bo16nS#JW||khRR9;!+|BYR_!N+M-_r( zB|_2x$SqpNgPj7S60g7Gf#h5h*tY-?TjJ^#0x3^uiECQONLb>2f8lQW15AIJgh~A1 zLcp2)$}#l^%>98qMmi1GLW3$J70(0(6G>>~po?Xg*c{Lx@N7_llmZ+F*=;XQ3=fPS zd;*A`Mh%0pY6X@n4H&Ih7%k#}Ka7KcLJp84rShb4ED;S438eC?H%o+o4v|MhU?@f4 zG(onYfYj?{ z%6*UA-79$+kRcxK-D(9$hryEB+!ziiFA@)O`!e4n9}FRl8VasR@hNxxWFd0Xr2loJ zA>1y1g&WYy)ce=S5Uf?8!ak|sS`?gt+O+mip*F~T|4QK%rU9Xu4|+xVsDHpb+?k>{ z&=K$sioh+T4y4LV1UV-(Hl%lkwRV}?lsjfLWZ+U90#G&d6#O>0$P^A4tC3#@P`TTH z6afhnI*cp@)RczX2Fhz8ao~uc@1#qDxXndoC?6IGP2ljWQAPnuYaWQ~vwAI`BLVf0 zc?2LW&pBYwNZc+z>NX;aMp(`TJ$(?^4#^Q%B+5!)oWTxBhhd3Yw;y^kflwZL6ufY+ zzaI`ItEaM%b77M~N!dg7mk|>w=PK<)l9*0uD;~s*6QjSsX;QzYJooa$+d>%aSV| zO8^NHNrT!}ikudbe(O*G2goj%e>>80r_-jMa!1mt1ttM0SRkTZuo21XrN1|03%(ePjk zAIPLx$mt2AQ7B*`uOeo}fyR<47E;?b(tw6UikvS{N2)EGSSgy&Eb+mCii8JfN>Fr? z=?{m`m2knPln~0j334W+Kfovb4fGETLC*IBf65LDB{#sHEa#VJc&+vb<0;R{>#4VU#TBIdq;n{7?sD)1qClW3;(~Q^y}e;R1W&jmwRY5m1<)`iCGyF zX-sAI88D?1a;b9H|BrMK98ps zGTZ~lU;_s(w11s~HehWDTRPhIf<0*-+>M~xbSj3;faeqR9s*-2h!dk0JQdkqyJ;9K zf5AK2?l&D8=IaH|8Sw3n+I#SX(Wo(8u7hw0l?}FoFSg9qv7`+i*7}ORTVFc((<bw=_hYcWs8++cqpTgv0OVeD&oe){{lfMBxxKzOO*IClnz7gh|!!dMAy6juyO4IvUKn=7QDgei!} zk|1u#4<9fu&P1Uo5sqHS&la$Gu=)C5hsTm613iL&haprbKXVkRme!0x0yQTYc-$#aEn&p!tMs>Hln`3ChTv+`$ z^?(a)j&7WLhuzmcPanTmm5SrK8Aa%nifRVzvI7ovFeCIG9KxhypkPS5HEKSOK3;m` z^*Y*&EqbNjIzD~!E#XD(tS>4lyy<=`7WOV1^tj;0)mukz7t}f!^r7VGhz5VkSTgN+ z<3#=3lNu8PEuS!S7d}&a@!(0HBO6{ldBcwI>#*qP))f|!(biiy*1bMobCpC22R?i= zb^H#!<4axp8PDnL$uXkxk1VqD53gOMk7GLiAxJbdPoand&I3oM4SL{M7sar^l9CA4 zc}R`IuueGEfsXu*Bc0(uqth|W7RPAEHdBAu9x`nnk4h?<80J2ZlcjLjG>`+9Lc^c z#4pMbH^bmJW&(6s$<0tz?VxlNY|ci(-5U#rH(%I93V?54xck66x++y)waEOCE_k|Y zJ(2f9&mm;3>|7U8H08?+K5%lcUIcj1fd>w`T@?!p=IAm*>IfSSXj2SrJfW>z`K}Pz z0NbgW0dWBbp4tv>{ER7rY(rr3e|E6l2{OR^AYkC+rViSiM>N_tiV=Qvq9cafCqUcX zu|R`LwiZEawDF_NjXOjqv2z96zNJ>(8lO3m_0Yfs~B~{P{tPIDkWE zSI~}SDzxN6Njy-;u+1Rbe_Y-)Xf4}Xp(A4Y=g0F6wx^TT6f$@-T4u&y$1bGe+EM~gM&O}ry$V2Bo9W1 z3Oe$m7PjF)dWbCOf3N=-3AoF0?jqa&7>@pzk^hGhAkR2cC>W8|KT}<6K=!cgKRe6FYx(=bGt`erIZa@hOp&JmL z(1)gh_Gp$k9@1oqP(arwbWx#(fkrTg&4*1LdT+uQm1rCMIyFlKk7jt)i_@Y|BFX$a_pOUI-kVi5@M~>{7x$B^HtzPPs?XPDZrSM>6rI~Q z&Ea*!I}iJGVSr85oO18YV&3x}#>xWM{ z^V(}!bL5+qM-DHj)~2N9Mm(y&!@JsLtntmsjM;fzLS|?Sup`?y)Ss@J;3YMCskt%q z)cv_TE=-H}5euw< zC>{D`%GT^#ZzNOPvwfKZrrrqHcyqKr1r!xumxWISiA*L;V61zYs~Qnq7252liK}aZ zuB)kOsHhOVPy=1nuBwLi3&T4x=hh|eEZ-MEdD(l4Pq)+>A_!G?QuQT6S!) zq&zwXN>hnIv~z)`vSK(&4%;n4YA`oONbgD*qNZvF9T~O+L1$RmIXK!oJIXjRMI2=q z4im5+2B}@n+S1L@vF~2~rn6GY5+W3lG*R^@Mi9P5LyNq#J>w;kBo`Z-i4!N%_=<@r zEHK(6C31yHVw)Hd&jys)Q^*D#2K7bS8-;EI3CDqi6AkJKmb}k6t{O&!5F_Q^1SQ-1 zZwWxR#D7CVLUcfk8{qhNRSIO+KN_=276pfcWsV1|*?#VMUXw=_*)7aB z-kV?1Y0myK;?Y>@soJtnIyXwERj1g{{APC@ux6f-kRG${XjSvw^14gIyT`fhn>aET zKir{Whh<|#*CjQP27Z-PgWh*$z1_R6x^Ke4irpb1X;-uS@@x5;Zd-jB9D zrB-d+h$~~7@84hby`-Pcjg3_YqfZOof0$o0F{M{O*EP4I6PgyBl_uK53J-8Jv>bAw#lC(}vI*nht=gS|LzkUdfxVfe&cZ+X8%lm^PJnkC}o#&WrdVhcYwnOFLGP>WIwK&1{ zKo8w(U3DpMHRjKldVV}(oAx-&&40|E-h1;mzu$E;XPm+6V)LVB4BLfPt}lF^Z#Fdl zGq{4mYDuwaS{vqaJMqM|$<-&H$Mjz#`AWIhaN(Z!e)R_DKAldLsj*+B1byyiFmA@Y zD&E3Kk$>Jq#-qDVx@xbtbaLo<&k*k%`1ItPi?qHcZ=_ZZ_I;$!*mSism&nqX3}GNz z76PXbA^bU$C+Ii1?*#ob5cbXl83Y{2PZSxP!~g9;DvR=SIG~_#K!I=oHn;WlXOX@!ZF`+yOP0RB zUB%mdWBRP|=s6(qX?W0<{pwCVRDCO^Rd?up+cEKE=Q^F&PRCZL?>y~%6*r`NT+Zp3 z%APfK@dPv8j@7;^pT>``Z72*W)3&bOabvSp>13@P*O!hxJE4c#)7X?JjNpEqZ60sc z47#}6t30yqI88;mHU8Z>{yUe5;;!#~D(*V5w+YzxlQtH`=ncH=zNq>B9gU7xBT_f` zT0ZVrRb()+YO(99FZZp&^-cUoS*)Eby4%^M+;@CkQrX`zWU$9IP z8ZCTRMa{lv9(lRX2)E$ldq)p3Q+Zu8d7RBv)B8!0dLw-%?rz2!4{f7lMb#havb(b9 zm9P+PMf_l_>hOl!KdgUC~@;h;5gQtyT$)AGeNz^gc29Xn%6u1T2&bYaAcDFmL1Kuy)dB~@Tx4ic5 zwb}D@Ogip9D5Ksua-VAClr3I5Ha={7xB~lDb%%fnUj!p-o1HWkDLI7_xYOi(thc0wcoHTk~1SOeXdVXSY3yOQ)+vRFn%}KV{Y)Jo!=7gyJ^rY3m>`m+;C-Y zuZfGD?>%Lo@p7Fs+4P-3`o=uT^!e}4^`rO3>`Tr;U= z7~Ok)V&EU+R`2n3);_6y?Bw>+hh;bFyUZTxJ;sTV+`q@PUGMuh-?4U~a+jBl&50KX zOUfnH?rQ2A@c|ZYSwjr`V|9+~_W#hBJIz?wCEdFu<)Qlk&bsQz;OOk?UNH{KvKwx` zYku3cxS)UIg$>Ity^M@u-XEv2a+aI=MD-f=T~ZUnDi&++>su##s#Y~HPw85`yu-11 zvFu}U#L_zKTCq>%*muh|XpI=Azaqor5@vZ~SK)>s-V=Mq7q7_T7cBX#-TH_f@6t&r8<0cXbczmQ?PEkZ9R zJ|OGTn^4!gL4=1AIBXvfj3UE~&Ofh17Wc?7`YW4OHanP@sb=BW!t#S5x%NTx>KBYI zOL*I$MsuL0-dZ&#Wqgm7y$e(7b&8MM@44DEcFBW_>qab4Z+QPEvEZ9t)CpD3Pitd# zgsUZN+_N!!(SU8yam#1q&b>L|d&rdY#->kZ6n-{*@G(n&duB9arDJpMob<@I2EHm~ zhra8W-Oij6R2HW0KyNy~Y}#f_nvCVE>7TIsCY(3dig2GYz6b3|_-g(grU^{MGp8cw8(0+KO}4>}FeA?<*5lJ?*OM>OPY$O8j$-2ZeHH|APTL z^VX$raW-8V#OTTP;RH7}?=)mFiOu{iP0wP=MyXr7Zt^_{`IAc_MLjyY>xMf! zj0_kAOz`a(4s=^P_~T!iJz*P8sAf>`_eGhP)@NQIGSB`?(o%E66v7EiDvjIHQYM_c zgmYljw#g;EA7LhI)+;og#eFdBKyO>R!$41Gx);3_or*HLQ22Z0 zfgy03I0;TAiBjOqWl>hAP{_wS5Lv44+m>YTf+Nzk$NTWzX2K#ch8HL+G+L6G@-GoU zYtK{+dbJ5aiR0D<8A7%oLx)kKI}`SFN3sw|l274&E5vi_pm%8@njr2m$V83x*l-nn;b0MF)_RQ_s%a(KlME#T^VR;Gh01inU>Y+vqtQN zlG{Bs@x;$Tsde)xgL_J;nj<+Be*dfoj@xE_y0@ZqzK!Ej?MGMV6xu{TU)p``pVekJ zM|c>UpB*Ys>>a=hGL+KzsC}!)zFt{B^67@LmD)>AZ+Eb&N%|ohUsKX05*r^KIsN^^ zT24vN5c}>=MMRV=8y`cAB0`ITi-NKP{wl_`TXd2gt1xE}Z3YV;V6t$B)SR%OTaqa` zPoC03N+ouG)dnmJ?OcZ0Fg?3>h;xIP1L6 zm7(>4C64rrh=|CD;Uirg>uo*Gbi6;l5!;o^^!uWHCgtVg0lOWJ>MUpoQ%TnCzukkG zcESHCKmU-=q2pKY^O^>nuiJif=pUiwD@uy5cCQZEo7sW#wsO(;_tGNo6BUxX#^>Yb z74$Mbc<$}t3u_|s{07a73foz*VTbnmQ#H>_-{Lz5_@;z5S#+P)yl0%=xlxC8XX@@* zfB3D+?2;ba-q@)H9R9Xzbmi)4v&y3lB5!YL@pKIsz9u)l_Xl14=*fmLR^J$boxUV& zDz%e-W_}rU)YbY(YRi;uD@U4(eV=dl;XO)CD^)$%SO2hg{KEo1H#U0e73YmwyZ3JN z*k7x8*x;0o)oF_J!t|cYn*7$M`8s^uv#9g|Pc7Iw=S}%Xt;k)6*13FAaokhBzA)s- z5=lVD{;+tv+TnuL0UrlH5R{~c&lIMo``VBmQ}Qi>p(phF>P99r#s;fALb5{yfV4F_3P~e zeYP%l>$}f+z}s6?W~WCZQY)TWZQz|*Zs4Qwa-VaE-^JU@&BjinHO#MK&J1W=aqi9{ z>+0JB&t4e5=;Y{vSzD4H?)YkW@hUdT?5vsgE8l|;T23#18Ncu2oct4&J!bT_V1-<$ zXt|XnIoe~Le~+9=5D$}KeQIo5JjA-3c$~PJQs}z^ty5uL+G)*y&O%jda3q{<3Az)5 z!LWzm2+Pjor!D&YH;3-Oi)IfRH~Kx^BkH4*y7t_4v(!r6t67)7yH~=4i9hH?+`cB$F#%V`34s!GLGmQJ(-Z6 z5Io(heB%P2L=D4tCsICS2i-dAbvij>B;Bz{+et9L>AGHBzmO@;EXw5LTfT|7J9=&1 z_R*orz90MM@yay;CUHBSbr_hmfPUKEqVoQpS!UID&*Vdf|AK-R;gf*S>9_rceEPW3_j~K9Nm*dQ?V5{g$Z?FC6?nS_w9F9{J?3n##Hw z@kW0~$zo%>EWOwIZ_9@oHI+PBF=dEf{f_a+-d(K|yLtv3wRQGeKsn?QPt$)kW2Dc$ zn#u&Da275;8@G1+b&C|rJzFEu^%CmqW1l-~Uyl)XIOD*cJFaNs^gfYMgd~6Q;<^Jt zpLB9q?;O&KEEhTLTH zrd*Ob^AGCL9~{g5!mBA>Y}EJV)7Utd5dYiDEB5uCROdijxjAbTrm|D5D(4CJZiUv% zw1xy>mE}1>-H>5Y{D#pTepZJMeACbelR~6sqYvC(^KOCb$#?M$oR8~AZTWM_K8vva zm&_{Niw<|+*ST}2NZ0;%-IqFT`}31!PW7Q~J40uB?Ecze_1x|`k6-H~WFE`x?$JG1 zI>+HyuWI;fQ0v4r!4PY$Nrq4J%QlZ|@LebAaOg#TMy>0k;cl^m0uN??X7sqR^nLEf zeEj1dCneuL`iX@4TcyMayPcEkf?Bl4+;$&)DwMw}Ml#HLSHRGLM-5ez53@g+Rf+j$ z7id-P#z*^xvTum5PwPF-3ttf4JwLJIn)Md9;<{UyRXB|(5Pazqnwa3-Y3SxR<)x>e zG|DaHCLkN?Tt#os`uYSkFhb4oa{TbVNh3 zn1@z%C`H|CU$`;g%OdmMw%;qt&&_LceYxv$!$s37UB`jD^wLhL>va-T6k9zk znP}1I^oQsYHL%YZYIttH``fpj>z|rX8msd*jVNReKWABQ=11$P+kfbJujnKB6X&Jp zzCRmmxNQ+VOSL1csc4bvyy)LMoa7qouaqzRzg6rp=UlLG9MF}4~Wc4IB_1} ze&4B+Vfu=Pb12a^tG?Nol$0I5&?WS-McDg>Ve=;tnalqJ?BLgegGJ;kU4|^WGWvSQ zvX*TTV+So=?EeX)4dSlrIe$%77t=SndCCe2>t(806pWtOFMpi<>6inIIM=b4&-)b} zN;?rr%d>mE;ULwp_h6$}WueL6U1z;2_?)XUdiq5}PoK-7hFz}x@!4X=suvF??VQo` zR@lYNnI@SB=N%25em2`sQ~hP$_L2{`P95EnUg%I=HGiLBO;2vvR&T$iZ~4JZ?8Tjq zixylvD7|j$_M-ICF2mbj^o#CJa7f&D(K

    Wl`D3%{fI^JDLyZ`hoA4(=2_>c^4WI z^zP!^)76+`L11L>&Zpneo^}f`2*SVHpI;=BSX*WdEO5V8wq|@!_ve}m3-5jW(<|om zu<0wuPRX>mp=ZtCJFi>(7O$l2ikaaT&fXr;;-uB`;hCgc@NA=vv9Ctd?m6=&fAZ;} zgs3uoyw-y|8%I|ej9Yp1*)^H_r=Gc<^V#5#;j<;B9Gmwi5|3|7ynSJk z+v44C4EMT*4y`*uk2!Rgc5+&mmW%P{U2{!uesiM5=1u%|Y5x+Y*RvISaIJ-Rf~dhl zmqWcOC)d3i*;gQSNaNQUKb<})eogJBQRlvWw=G=ixpI=_SgyK9)<%-OjE+$T+lcQD^Q zIOplr$UBnrp^M_XigDYXZ@n+P&q|KA(JAC`M`ewSSk}0__k@jo&x@pcHcVP;S$Os? HOdJ0X&gc}> literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..b6c8954913b74c4c56b6dc1bd2cd78a1152e5252 GIT binary patch literal 15248 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 Zjq?K4Ka~vRnO!V#AJ+8Q5w>y9{{U4HY=Hm( literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..ee946fbcb0738961f96dd5de1a3d7cdca5050030 GIT binary patch literal 17296 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 Hks$sbu3|ll literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ru/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..0c13e3bd90cb1c9bd13ac60d021a2fc867ab7f47 GIT binary patch literal 20368 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 VzIhuLH|5pvwOSUN9vrGP`hRP=%O3y$ literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..ee8dc42c5d0260cae4c44334dd157fdd56a10672 GIT binary patch literal 26000 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 SQ(#M?R^k(L=1#-PUjGYSMj}H1 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..83d156ada41c08854befeb6e97433936b837fffe GIT binary patch literal 24464 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 NdSgt((}8b*{tJQw9(Mo$ literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..be05af426fc6c75db00e4a1f233fb47752e96c9c GIT binary patch literal 16808 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 HB?SFH*UaRL literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..a4ee843228d1ad0f734f02afb808798c1bc885ce GIT binary patch literal 25512 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/tr/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..3f919a697e8b0a3ba9ffdf2e79e47e28b1e28e0d GIT binary patch literal 18832 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

    SOJ=b-G#)C?iM3HiIAr~{4S`_(tWMJ*E$ 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 M_7Uxc2)H=@7i=g%<^TWy literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..71d21f6489ffc99c4e43a1a63852d74cbcf50b7c GIT binary patch literal 15248 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 Vsoib$4{kfcefq0T3!&5={11A4Z(0BV literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..6fb64208fd3c0023bee7ec2c0048474794ee5c36 GIT binary patch literal 15248 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 gmF3EUSdu=w18!v^av`B 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/MSTest.TestAdapter.props b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/MSTest.TestAdapter.props new file mode 100644 index 0000000..aa6bacc --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/MSTest.TestAdapter.props @@ -0,0 +1,33 @@ + + + + + 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 + + + Microsoft.TestPlatform.AdapterUtilities.dll + PreserveNewest + False + + + + + + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/MSTest.TestAdapter.targets b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/MSTest.TestAdapter.targets new file mode 100644 index 0000000..0a181d3 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/MSTest.TestAdapter.targets @@ -0,0 +1,35 @@ + + + + true + + + + + + + + + + + + + + + + + + %(CurrentUICultureHierarchy.Identity) + + + + %(MSTestV2ResourceFiles.CultureString)\%(Filename)%(Extension) + PreserveNewest + False + + + + + \ No newline at end of file diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/Microsoft.TestPlatform.AdapterUtilities.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/Microsoft.TestPlatform.AdapterUtilities.dll new file mode 100644 index 0000000000000000000000000000000000000000..e7c234401d816a6537d539c0148bd83d8967925e GIT binary patch literal 29584 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll new file mode 100644 index 0000000000000000000000000000000000000000..4155e1c81a603ff7b2dcb94d8275d055e3bb9c8b GIT binary patch literal 114576 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]%OoxXfg>+yVZH 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 RME5K=y=Q-YIvOaB{||KmO+^3z literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..92acd17a9d101935ef53e42636d2746ea42b2bdc GIT binary patch literal 15248 zcmeHu2UJtrw)WmhKzda`MF>r4h8;R62+~BVR0R=35+M?jn1U2R2#BK66csy&qKH&G zQUx0xQLteJ!GZ#cf{NJwwL|rI?z#7k@$S2CyzwvGYp*iboO9K0uDPRIKqiERAP5JZ zpFbh!9C)L_MiBpflmM!wR4b*RQ=&K2&cUuX)O^Bd96XE73}urd@MIE$!Q|pYsCYJy zfu}L>_8#8&2quL}kdzeD9A)k4070%W7V7OkzjI7l2c(V{hY<*p042gBrJHrZ8xI~E z@Ia7^AdMN(8!bTf7lZ^5gYqIg4EklW0VPHMO}t05Xb}kJfUgIduz{c)bRfpUR0ztP z12QW|)KCU=%42o^${PGcfpszsh$pH_f6WAO!859b1 zvjGXTqf+3R6l{R@1U8k<1cd02p*o{u0Lg)8Qm}!bg_E*^Bpn@B5K!GPkPzgFhoDnH zhA3JH0!|Ca2KjwD5R@P&`TJ<0_u_>x1Ph2zT_TMM2*C(3B3htDLJ%Fq5};Zm9)hC4 zyBke=bJ;XTC6P^O*N)(hs z!>|#g017}79eeaWW%NPQV-Ey96r|C`l?cs)g`p}zEDveJ($GCXCJg04GN9aA5C;n4 zIUoj1Mq8qN6ou4b7?K6CFf<*+Vvr7qWgwy;wh+X&f|vk_Lv;`Vl83H=cqY^hVh!j$ zi1nZ$5F0@_m;lWK5^xC+B#nvz0TrhL9fr+eFahIX8iX#Hk$_SJ3bcaeyD=#|I@KDA z;Etp*fCkrY+7g-ccRLR$KcW;s3-@}DuhO- zaib?{-DqSslfzuaCHPP|Tu&eZRfAwlA+fkrwl5bYr%^dz18|r;HW{QSbUNf6&EZlb z2wv1xbSfED86uFmO!ip0J&hE~U~;%LGH0x4R13mLN2qLXDm#(}*g^lQ0$$?^Or*$@ z^!k?>jrU}93c=n0lM6H%4O!mO{oQhdcKadAn=9Iuc|tfm42xj#5G(`|va)DaO5|+J za=+=u9jOVqkS5qu2@sSG+6#jXgXX=wZHeevg0AB!EyMneB@g=Z3CYK$OTJ6K?*6{I zH)G>hY$QF&b@w)vig~a0Jh=O~{>h$JQ+YK^rZ{{4mxLYb8=tL}$+$dat%pvxq13iF zLcPzs)#{GC>wZsJ?kcgpzG%00P>B9N>R0z^$1R|Q&hoL$D;-mp)5R?VRp}FZ@4Z4xCz(XHjJYy?rY(l-LBnp+Sk00A( z`uNd(V1*uY;7=cK$D?z3Y^oK5%Hy(0bbY)hFN97byHKNjnBi20Rfw4x$%JfTO0+OC zrXuDR8ovu0*$!hey{TNZ*JB5=r>#BuPgwYILY(Z(jNtaj!#ga_e!qIiNBpHbNmKax z9VBsZt&J>WMJ#&chJsG*0nZ(fo( z#at*1$fAI1HfY9$qJbD+Fewp-}o51f+q7PkJ1Q%^Z4ALW5XDg z?g3JsppPVwUj-Pk0o8iI09JEv$cv#y;@wCLQYe+;PKu!78B|6?F}|UaMQ1cr6JVk< zBa%d?QSej_nZ%;vIn*^gDuYZ_!)tS>p%GLD*AgF##OdQ%Ob$p9<8)vRTQ-eL!becK zOiDC9g2w^;LK>>M_{Ow`Vh$DX%_G3G-Oy?h+7^fmiKdhA063^IR0avp!*ioqJd_y$ zcC*Ek=}Zndz&7qwW@8#Pydf`=#AqnQ$1q6Y(V!Y1&Sa2jpmTKQr5aE&d8D*i%ous+j zErLa-qJzzhY{+Af2w=r6WBqJ6c;>_RY4_W1ef;d?^{MZod4BI!Zi(Cnre#TH&x>R` zn{}6Ocxc^hJzs|ZxRaPb>X@0^E3eXy@{iy|b{8`NJ4F7-0zi|X$ z!2~G%X6mE33_$=|6MhwrmX6#VmfC>R9oXk%!4hi>l70XQf&J~RPPp}>V6d}z=_4I9Wu za2PYd2|IEu(m*XkP!B<6xIKU=40PfO-~|PR-#JAJXb{lvkw0T71RVo#@N0v%WAyfd zQ=BZ|!vg#!OhXOR@0vbGcvIRPOjFzKtjp{r$)@TleJqQ>I z|D9v|_qrPj#@!R>gc>V60l@!x^ofue=q+)4>@9)827@`}fIlkGIRx|~8uak@b`x`k z&fWibz>oM0wp#v=OaA`?{}+saz{iEbKnQdvr!cZ>m5GDaah<|E}!&ehm z==&^s-_-y0j}F%jbN!kdGm31lDm}K_5pL3!mTQ;GmrO+XLO&5c_Ejzx17k4qM!?PE zwZ-W8(2fC%N9dSgyim5I%EID6rFfz^A}Wma#RWbx`+oB3X91WcrS?B$ZWJ8E3Z1aok9G;r?6n8`U5C5A;X)u=?bI0&|Du z0}mG{7sK#@>+06?n;9oRe#Jd1eXcsFQFKgNWYBo~u{+1_F3i8c$N8_hrghEop21ev z#Y$HX^=&FYGe@zcKiI^kXnR5D#+td`S|xhB*3=Z7bi)g$N!cDRv-1qeP>(h3Zy#7_ z6328msM&nhp^!uGnW6l6*1fNl+k0wfwi@3xXe{ncl4^5*^06z(;PB#g*ZS>u4F$d5 zS67?fAcl#~SpM?SQ~KR$%ak9+7;eg(=AA6Yfa;2mJi1!5(w?XJR;0k^O4pXs8|%Xy z*-l~C@7>7K$v67YY2@C9yoqR_cbUh+WHov3d(%9vMc51E;zMD*i&f`KoW8CrN_qUA zyUr%X*;Y6HfqTJ2e>V(RsBk_Xjt3(WgQ$YJo~4CTLKMbVv#SU!ECSZLkkAw?7MX<- zNZ}N4Q%$x7$l7jc3oko+#vSukWu2p9bPM8%R?Fg?5vRirh#gS}nS(AKae4g2;_+aC zI|Ay_-~hJ(l?`qHUNkb3sDMmGNrmJk4UG_lXsBmwYGz_#HlmRRs!_t!MGVRdPodlV zZc=)HSsVz5Fb>eD$WgYL7a1)avf6a!njI1I3@e%;JiJ_d#qoXyVbQ(SFGcOKd7DhsJf)Q3Y?1_$gOa#}`AxusL2 z)V;}TF4wg&$o6sPey7&jtSdU(2A0nV#`bN^aY@Y+wS%2rxRgk?_kYxAue0*sd5Fxs zcF6r6#XDh-QHycQ(QDoFb~$^enmZixI1|=mIjneqpF1mNNv`p>EalT#m9m@9RUj{y z;jgq-d=Y<8vc4hGfZ)1GLHFQRB_@%aUtcrSaklN&;_0E*XVxysfNLcxOLd+tSJ=@K zB=1^{msfeZ@x$r-2KCh!Do_5n)Rey^+WuTM@!3an*dVj7aWG}wZ~{# z`PSP#@)<_mJic*wb;8B-t6oug%I4we%WmgtZ+obEOE>)*QLm<0DLv7A#m-Y-n{R*n z=(GIc!M=>+&h9@3FSso1QgYgAwnn4t+@lj!XTK**f4nh!wbA(*Quh?3FdwF*CCC4< z!tjJxAY|>f^pwi!tir+ahpB<`2lBM)H4Tln=~?wU_7qOl`s`I{Ncs_J(09n!@=5rm zdoc}{d&qMRa=&3Z+i!F_oD*)hP?Nn={c+@ADFzghQ2L`?UuRL@MVX&lu-Y1 zS<{)FQ(-xe*O%YlB&c705M4dr`K65EvAc3Kgg+$)z(B|d1c;HOGFt^`iT%@JK@vCp zTaH#k1VOhXR$gaf_j)nG=PWz0zG0V5QniB%XX=K(4)8pF zPS|_~&be}ZgM`Wxv+&DuZQ}jr7k3MnUA4FiPbDtAohlhk*%+U_Qj=bKzn}ZL@u->**B9yUU}GIP1KUtjU#MTa#_|?rWD`fQ+h} zpZ1{`c88qhS?3jPeSLOWNe^NxVpC>5urA*k)Sc>)JmW*2!LsL>^X8TqExmNs`iJ4| zlUS?riqdW7@vZw4^gp`$WvQ8HHCQkx>%A-YNf%GoNWMN;iA_oS9Nd4)t9EPl#;Q6s zu2!&;_L)ECXq#*0SS&WZxvqR$iL%Dg!d1N_)z#0mo%aWC>eLFlt>$9w)p*)}fhM-U zB_`0|u0|ItNP3Cm+LJ@jv#Jvqe(74yKhv)ST?3fPr zE6w&=$K99ST~zjel$6%%=8POIN^kECJXreeN!hB-`dx{!efRoYUODR=mDesf8W)=I za&t&jaD_qgegA#SYu9RPzwe7^(9Y1$urc$ff40FswNcdd(w!rA2HYK=8ADO{rTX$g zD|hU%_Ap9*Shh*==>hk_on=*yx%8aYj(eN7ijTozAArNxh>Wo4sFgPj#sNbNnuLFU z2}aY$8%)LEBviz}?V1PfJ$8^SB90#S(m0e&3L-sz_6s3c00Fd9t$v3&0mgxk&=ekd1c|`D1-lk()^V^4 zMvQ_D4FzDgVhr2>*m)tIi2GO`fZf8s13Lrq7}EU>e=d@E5LF(JOWcJdW+RDNf5c zJkhIiG;qA2o^{kij9y4be8&X*tUn#70`v|2ka8ra!zX$M;dUE0RDG}bPT6PVZMzrl zjBAaS$gHOZ6ZEZz8rUrnNk3{9bc;33t92^OAD}%V*Q%Qw*%d@h&WzjQ=;_-gv29)J z3>W2r`3tvr-75PY-eo<7ptJX-)yyMzPS0AKZPEFfa?Rco0K+qeKy8X z_u^)m3x^AZB=+`&4TlkS(O z+;GjD8SBdj=L|j7x5U$ODwd^&F_=fsavN-fgbQF@ZEOAldAC*Kbtm0EKFe6I%$yeI za5VCTjV?96A;>EvrC}D?bXQ9I!-1g>3VD0xJiBpZ*R8ifWZSO5Df>2B3$GP!5iaMc zPOTx4PWL~)JQG*bZhJ*a`|VSzLGP|ldCPaULHF_;tCtPzIwI<_NM?6}>Mcm;Qu*E^ z3mn#}m|Si>bm(AAjQa4R9jZlNoiq|Y9vG?(KkKrqvxgToqxX&3?r0^KpZ88`gz;XM z4u9LyBcAYvHm~#>(uZ?RZ*S*Ckh82>_WQYe)F$|==S9gHs>Qss6)Rux_1GVWgX;4( z?e$;d=f23HZsE1Pk%3|fi^9K0AFQvAh**8iiz6=?<9UO~pB{TKt2j{#*q;;mX^6o@LmW{ZhtFK|{t)Kc z5&hBdzlT*2uzw%pet&jR(RpiX~p;atqmdV$nGZ{?*q6d2E2Ka4zmgj6v3x6G| z-RZmA^1%G83frq6=iD9I6r8Rv-Lw0(qNE0Wul^aSq8?Mik@u&%YtI#4XnOh1@=f+? zx3m{}Pj2YnJb76N4&3`nyX}kP+4ZLeOJX~Ewph;-PBPzrI44d#GfwEi)d)paGv)s7 zdHN}jevsWOybm_?QS=fI%~-m>peN(L-V{fvy24!J10MU*zuy|RI-oL)NUhYpCjaow zUJLJc#^(>J)+{TS-plLJ%k-79Z`|sn-uLDY$pGQ$HcxirvE2>d=e+jM$=ZB%kpZU; zd12Wxc&?f%v8?)T9$yg{BMRTf2N#QliF}1#P}V&@L#S^;;Q=VRi-EDf`zHAC5@GSN zRRDfYk;{i|z}U_QkY)~6^C;`&Wnx(PFPsz4ufFa2AhzxWslI!E1GhYT>!EM1n7zSf z${lmd@^>FTju9peKa?BvQIa=Azy;rsXo?si;Lb)cH8l@Fa0wWAFgNkm;lvwAV$;9H zEY(6Z0GxnJrSgPXY8ydi1A7!dak(VUMl?srX8DAHPi`E%kGD78!Q0)^*kYmGTn8gF z+qs5DMs~zecG$`6e85jJ=6Z8U5iI=ZPatynvi`sxmq7Tq!3mcPybF7C*}m}9s0F~$ z3BkK2FKE;yv+mzA0HZy_%Fmh@fJqvUI%JR$hYS&&A`8TXXpA~!z)TsMk7oZ*%?~i( z|K70ggBHJ8Z0k1Af8hIdy;;8dYL{-?dZ+Hhhh)P;8A~jeYOR+S+P$v-WcX33nR44Z zbKWJNz83OACXBM^K>qWSBa%A3|m;1%n+a&E6Xnf8oJN#pP%_X8q$2}tBWVzmE@6rH+llz+7hJF6v>k@Au zH5dF=xoXN^h=^m7eDW*@b*auovCOQef4pqu4t{Drx)Jl#SpVz3Yj=9zs~c0-IB%)( zx0Nr*qUoKw!de9pi(5%Kw;Jh57R}clIpfYhExwtl=d66WtMUZP>}E*O$1jB{S8lM{ zpW1(2rrgYicagB5N!Lqmq#*WuB zqDg)J))Mw=NZjU+oKEj;l(PqinJTr92KGP6XNu>(f7y_)7;{J~??oUpqk)LsC86p!K7G%Jd1u-zq z5pAN5z$B-SnY6$pUx};${^n6195Bf}|Ea7otNdS+_Ged=JlZ)eoCG2^CKN03r;|-! zA>$Ucky@GHLtv%_!62RYSYxn+;v6l5ax9kRhb3d-(Pp}A_aeS_Rs4?&4Q~!&%Zr<(Bl;)ne%Y|h4Z{~Zfa$9x_8f& z+7-9kr1pFX$eH~~zJ)nx#dwX4$?M!GnXWY)dL?e#{B;Hw66a@JIjM9|Y{9o2ALbFy zrSo(%`qG28?6f&x+^~o<-Ne>IrTu8K?;TdueXFTXB2C9!%PRRQ}eCQQH6CO zinu?TiP%M_wr9oI_NjPvJ~?Meh#{YJ>h2YlK|CfTTutl+#wA=>T|C2crIyJJcEj#uk3S>kqeH(@Ef^7S_* z^R5&&Ey}nR_o?Xwc4Kp-(2Ih*Jq|-(kRR=e^SIWLYK-16_2XtM_E=Ag&!+DU_cm*J z1^4O|S1ZqOkHS_#2(ehy!x!AV4WV_~VB%;zOUF|lrv=1If zTBoZ>egb&72Kc9zP2eFk?b5681DL(ey9JJ_X@6QZ|9c!&qu_{G7$HP+LqkIo0FJ=z zEXW$6+5a$f|1&gu{;a_D)hV``c=Vy`_cf!drS9@?e}B7g%9PeZx;yV`lZpQ)cs+e_ zM`!hUYsHmDKbL!4S@n5`_nLst_{9M~&Y6a8aMX}EohE;Ctzn&vQuoTZ)m};VXA9CD z!>3FgxD@#@#q)8!{na(gmk`Zz#mpILefOo?W_z!*AYoz}kAG*=N@o?F_+(mRGMn-+ zXI|xuSfk>E!1%2)%KN>3oaqkHdc0ctX3*e|bnlz@dN=sFy?auXcDO4mqryUe$-dVt znq-sdTvj^qs)=@W*Qt$~4IS4q;!pczJRTPE&4~z`x5u%%?{G3~$h*-PZ2Uwn z_1^a*__+9Q4-PoApJ5w3iVIGtd~`hCwAa-2lOE%k+>-8EA#8pNr@+mOo2_ijm+qJO zaMnqw?`Ze#bqib{m9DrraJP+PW#?XRWZ{~QsahCDka+{psk5bewNd~H<}`&KT5(@H z64Pm<#J+zN-+ysfPV7FJDRIq|vL!ILAW1DK7~y7RXSbdA{34!88ZZ?$QA&1t^mt~= z_li5pm%=|S_gWGp_eiU<)Ke&ieo1x~`(4@>uf`3E+w0~}do;uBipVsj1yMx~XFjTI zT=6jDfC8I#xg_@NS?krEgyJzYdjinx0U|fV1Uzvi{EN4+*);Fn??8u$fr zw7_fgmoW3+;y}Cm$?tkb_o3w>VJ%kKnSuA4_b4?Yej||Wfq*YXx!_CD_-CB|q5}>6 zQiRM!Ou_9zfYbqFAPJBf{SLf%EDw;{`tOkXFPvw;^5*{O_!NNde&4uny2a1*RYPH- zX5g~}Y?p6^%s0!Yp0Rd!qC}MoZ{KA_G&*f@|Kb|c1rI6ob+>pH5f`M1&o5?trMKi| zE2+PIy(-kw+wDnCj0CbgRn)VeQmUhy9L!-f>3Tcg`)%YMb2J>1X8RWP_~cblB`P zKk@mCPHIDyVwul|g(tsB9N02F^;N(4>coqQ(-%(n;%zp)IIDrgA?Sz4G8X8IMooR4 zRZ$q&?wrq+sOrs1XtjE|*m~7Gj|(ZohBF@Q9L)HX1%GP3%>Dk!mCckX;vtue%VOF* ze~2x8Vl)4WPsDyQcaeU%yVKnIskk+@lrNe!oQS4$(dv`1zq1eJ0q6dDl|XwqJz#oP zxa7gZ+K)r0Yim}TyX;|nRr3j7?I7z^`2K9k)$Y_49{XEwxkjG$_Yp0p!S?a%@f z53viqwyUgY->=u(I>*Ovuem-n@A=tjwWpe`j}Vt6SJh(b`G;Z^XH82@WBqt_`j+;L zRPhYchn22h_Wl%mZ9JrD5~|lBdG6)b-S?iUzv-W|&`K-&C6^nxy5)d%UwkgnD6Z=I z>)2XzmVHa+`>REkn=M5`)<0m8z1`B@@*|E2$<(hAUM+KKmaoy$lXTOlC`BLuxT6YGnpD@jkdMu-;176Ic0X6XL{0tLug#A?D1gM*0%;7Ac0 zWq^KX5Cahg1AoGRZv#^VX*tmmg0p`BuMdQnPHK)pf2A?*&qEzMm|QVL1Z{?$l84V5 zOT#I-laCajGBz<0QeQyW5FqjH1;g$Vzp+#z=XQX_>2z9U=OZ0IHI)Xsm%`vrp9_7e zS9tMOX@B6Xp4Lm+RCqQ2*eLpAf&8`X4n_WR5vym;PW)gg$#3~t+Bq{n3~!0rXql5F zdoY2bQy*qRVqN8ZwvhW=qj;j^{lM0P+dB8B+o?$2f2}W~d_R0Qk&lxEZWU3%ir)U8 zol$|C^{>1-lijR*crh|#+!+V_tdhUD+kSJUMq1vGd?q7*L9WPc_^y=Srv^KF-#h-N zZ`XPa)hXJW#UhErlNewOh>35I#8*h-b0o1EhYyT>I8$avjQJ0o#3kne;ySK1Q<-v1 ze?GxZ>AP@LK`oM)^S@v#{Pn;AKk~9ASG+rlJ&FV8{!A=*lyGsu%*;kzk)nrlwlB6% z^mf2ZUXZ|LhT~(P5Q9ZAU9;=oo}uBF7PmOJIuzw5&bc}D3b&h{)2BPTr}l@7U*LMJ zY(tgJTN)HkmR0Q4-(dMb#=#)%56%2@XB;o9yEMo#x5ZiyU9$3fb$HpvlZ&!6>;r1Q zZBOhn_PL$r{Job+=VXCs%Bku2H~h zA6|eP5~op*K%0&qG8bVp*~MEwY{WV0@RMJ}91o>e9UgYbTInIyW4qhnv{|WSzW1y5 z`#i508C*pALla%C8%!L{D>mx(8$7AFxk2qz(pC9z)yGo2Bb(G)^-lQ{IE&e7Z`v1& z@UkUzGOb@mop>8NrN8CNJzn$5?kZV=YlW@xjM5I0o z%GOyW2;=s-dGXSW4Q@D?3q9K!aKbLHQ0JS(mK{^Tw5Q)e*TiUfoA*Wr}F!CE-JXZ ZX|!Fc)b&JThslR|&C`yx)(=F-{y)P2OMn0X literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..ddaa6b11ea1bf1180280ef6c6633545b744a6a59 GIT binary patch literal 15248 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..8a8968ac53e6140032be7aba1dd7318521fe0bee GIT binary patch literal 15248 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 Jgi9tR{||Ns5kvq0 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..7eae2403ee5426c9f3412a362691e61b8a50486e GIT binary patch literal 15248 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 X1H8nseqD)H?)`Bxn$O#62haXL0Cw$4 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..739ebb73a7605f1acb814254a8dd2a21e71dedb8 GIT binary patch literal 15248 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

    SOJ=b-G#)C?iM3HiIAr~{4S`_(tWMJ*E$ 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 M_7Uxc2)H=@7i=g%<^TWy literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..71d21f6489ffc99c4e43a1a63852d74cbcf50b7c GIT binary patch literal 15248 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 Vsoib$4{kfcefq0T3!&5={11A4Z(0BV literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net46/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..6fb64208fd3c0023bee7ec2c0048474794ee5c36 GIT binary patch literal 15248 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 gmF3EUSdu=w18!v^av`B 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/MSTest.TestAdapter.props b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/MSTest.TestAdapter.props new file mode 100644 index 0000000..84df3bb --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/MSTest.TestAdapter.props @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/MSTest.TestAdapter.targets b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/MSTest.TestAdapter.targets new file mode 100644 index 0000000..39a7187 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/MSTest.TestAdapter.targets @@ -0,0 +1,77 @@ + + + + true + + + <__TestAdapterPlatformServicesRoot>$(MSBuildThisFileDirectory)winui/ + + + <__TestAdapterPlatformServicesRoot>$(MSBuildThisFileDirectory) + + + + + 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 + + + Microsoft.TestPlatform.AdapterUtilities.dll + PreserveNewest + False + + + + + + + + + + + + + + + + + + + + + + + %(CurrentUICultureHierarchy.Identity) + + + + + + + + + $(CurrentUICultureHierarchy)\%(FileName).resources.dll + PreserveNewest + %(FullPath) + False + + + + \ No newline at end of file diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/Microsoft.TestPlatform.AdapterUtilities.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/Microsoft.TestPlatform.AdapterUtilities.dll new file mode 100644 index 0000000000000000000000000000000000000000..d64dcd2cfb4ebbae4fa7a50b7cd7ed4a67b58e80 GIT binary patch literal 28552 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..ad4f394644eefbf5f5bdb93beb10089239d1102e GIT binary patch literal 21904 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..bad0e0e9c4ae4b28df0acb3d6408629b9fa7c746 GIT binary patch literal 14216 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 z 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 JjCXn#{a@@X7n=Y8 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..e5db2e2ba4c409694fe1dd4a162c3a79e2e76d1a GIT binary patch literal 24480 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..6eb9ae9a39082ba1d0f19316ee29c21b35888727 GIT binary patch literal 18320 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 Jt3h?;{{yv44!ZyV literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..99d80b178e2e60e32426f6c9b5e865bedfecf931 GIT binary patch literal 22928 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 DdN|Bx literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..24cd1c51df9a2bf38662c56663d99514d1fc3183 GIT binary patch literal 21392 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..ccf66b4e8e852cad13f30d6bad989e9a06d3565b GIT binary patch literal 16784 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..fa5660415a5650caaff0b0b31b17294393114a10 GIT binary patch literal 24488 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≺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 TeD_t?ei=P?hvxUa820}FovbJ? literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..e180085850f67a5aa0590d1882584d1feb1cacfe GIT binary patch literal 18320 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..581e665064e1b0f23198243357810cd04ac5fbe2 GIT binary patch literal 22928 zcmeHv2V7Ijv+y~gNC!a_8%D4oBAn1sL6D*-O~8h7H9&w!AeaON6r@QJ6i`vH0U}tC zCQ2`2?+W&=NCK!>v0Upnn?qIaz5d_#-uu7r{l0_QoZX$7ot>SX*`3{J@0NmzU>GI} zpYPu>tOCB#V=hepK8b*8xlvVe*kQ?wqbqQ`i=$nAnOtfhhwa0m`%^vX0Re0t)q_Fh z1O-r;0aPnT7pgzoi=izmD>bHzw39W4+2JDCgoe{`-K{;s)Tq)pfngd@B0-i$&46zz ze3rro!xV(?6q0XLfcO_aS&%|GPalVVnXg5l=wI)5R~8k)LjYYz^s*GguJsUsye@{N zjEC#-bzJL3n_OLEQk%0WnKFHcUMlcWZ@u&@`6ZRGO?)y-ID{T&!;|YaA z-j>3PID9nW)8{dV;nLQKmURLO96WV%&9?b+5iD4{Ar$V)QIEL+m z?{wf(-G#?t2KaChggJ}>8V2>bE|?X(prKQrG1t}#zFi?-fpDj@*dCBa51``%1_8gQ z$xpZ*HW&)vRSG`n8}$Qy&^!77JUlWudPl;H#DZ{f?1eB@!aQ(!ED}J(vFq3@D6bNx zX2NulFwGXG;~_=(Bo)+ONo+CD90;j6HWX4RYyzYT7)_X(2vZATYAa0V2vcoL8as+< zV@lXrNQYx>kg8*^A)N?3YGZnsIiyoyhG=7!*aAprV-dJ$1cu3@=HWpcsA6e&3I$26 z`%xD5pUfeMvCt<806_1TQ38Wt&-MypG0ZT3t|yzrVtQa!438imAG!yNVZnm|@d)BE zFbgi1;qSo;ab@y;Rcym#G3GHiTqZlnA8nwtpa#C9HL3u;{_U zH}20=oH)RzC-3J9OLkxghw0<{%PRjsdO%1oj&o1|kLk}qZ9+R9Ocs;Zr`De7$zgNZ z-aPGjOl}aJ<-!Z{VzRYe8C;$daEN-L?dY+L;mHG;F<3Cwxa=T~Cxff)#bRMDAzU8A zU)!1C%>oGMET-+rV{^L8t(bJ505+G$^yGFIb#bFjih#j!VQ^M3fgJW9X5?SSbnfXw z?^~$vq?z;pUT^pQFQ`J-{MiA2N1N0(nD$7fT&$~cp=!3jz9<%U{H4Q@hr>^gW(|IY ziBfS~LWGLpV(>C>Aj--~l!q>!H&p*oLPQoe25d$I*eJjjM-v?K&Mp=-WJu859MJe_ z{)xiduX40w4#*dNm2GePy6ky!+-H#$tZ2K8jjD&Hv~Ih7{a(ZUZB2$sqbVuUoT-0C zq^&vec%?$}sR1h;C$#CxZG0;ByrpgQ(cG79ue}!A$!u!K&(Lu9&^o}-8u{slDbJlf ziT^tMk0SXKTTI7|Sf^;oP@(!C-K1~t*0f0i@A6`*h#ObR;Q1VSpaVO=I@psDh&0C4 zm&0Dk#Q_d+k72`bOu0uFsFrL_Ae$qc9~h>GW7@~|Q-4{jO|@XLsKPnHrGk=zS~0w| zF-#iA#Aya#hru5R-;K0s=zTnnsr3-*Rd)`%pSoihxKf>7xZj#1!fuFy{4bq*S%(Zx zDtuTyQ>AXukruVfUYH{H0e@Ol%ODmnh{G@qUy9#U-sN1Z+woWf70RGq*4?HUabHIYY!LeXL z!NIICe=HEnLxkX(Ru~iGLIDdv} zZTX4N62C5jx=Jq$b%+oor?k{c3*pRZ7*UUF#$TsE!hL;Fjd=u!K2#1`kAqk&GDm>>;iQXZnChyKL9}? z4Y5pi7Sfj5w12J3zC2#wWE~wJwzhwdFZ5*l>v*qZF$4T`rrAMiYh|jZN9gMsqpoTp zvGa@LVR%W_Ny#U#BiW>a=&9t$0`yo|IRB5g16IO$+G7XGO57sb3hdWa4c@$=>V!^m z`?;N)AI?zTdM`F*8~sl8wuv1lcFfC>-evwQWtZ_9>&z*kE!h^^zT_BZH5CoJ@UmE6 z>UDAT^P~0IrAo(jZfW7}_f9Xpu&CiYGByNNX+9}|Zq zeG9w9{XQ`A+4n1Eud%j*?b03bxcs74rGfmYW~J0LePzz@HzU?MXO2=CeUv(=L|Oe{ zMA|s@sWO@lHxx8&Wtdu%CEK*D8}>|kRy&b+svzT3qy>@(m9U}2sC3vyqeVGnsJ@DU8CUjVewqTEIn!y15wCcwu7t`flRfO=nO z{{g&j0ys~gEeh?P0sN6b?+d_r0i9BSL60@mi2(jtC{G4@fdGT{93ugD6V$5#z6G># z3HUStyd0=M2j$K{|1{u+0cw~kGw3|4MboK5YYY|0@lDTN62&vpb)=< zVgtiM`cyA09gvKF2MIY(Ct*uIkRlb}Vp)LvTfOY|yvYBugoDJyRsfNFATarNTJKc^ zBqB6qNJy3c8albY2!P&`e*XlZ|CYd<00s3Iwb=wnvwnx=zDU!BER*f`*ReZ5?gx$j zwT?MK>u6O&u6fX6=(o^Z0Rd??S|ahVFTaa6A9~Dz_Q=*m!76B?J_iU#jhr7GSPP=r z=>n7k;jeez$N;!-LL(#L)dhy8G~#~&u)`9Tc>!C70BU0ejq%`vT0m<{auzU!?YRii z{CbQD*(S0)M7-gTgbsk3c~Fif8l%SsYJgQI`p$e;kguhXJd!>`NQ5q2sv}h= znF#?TwI7k}01*k_zN=+ARs>+v`wR8gvO+pC7d}i3LI1cdI1Xg=`;+!gfe=U~B06f(m8YRaCZK3{Jx<9kX6)r%u`x8K8=mUR9V}6CggLQ*B5^uNS zAydC1o8V|$xxw>c7|w*bTfn| zQMYcOeuZ=~)4TfMVp{=m^52QX8k+Y6QK1?7^W3JwYHj+D=s!+r(h3HFtq1@P(6@)M zKXyPCy|J)`K*s!^$e`A{eP!>o>m@=5B0qKIM_#&3Bl2ZDSkU&Oa{=AqpLnnV_K`sk z!REjlX>XB|AdA**ZF@;Z0!i(EB54b#y(npbV)joccF-bPTK!s>SwKSfpGf@7>^?v< z{3o=&!G~U^i+=~z6*Lg7(s-ayy{Hv{N_4l{ZI@B(g8|lQj?{%jy$q;o-R<>XDt8k?WBCNYRDTVIW-Su_GXNR)*C6Cp0)>CP zuvdTGXx}x}CjcAsYl<$=Atua0Gz+~j3haY=^vYQ%CUW=k*CLYw6q|0^eNld#AZW6p za1!Ya(2|IB^1VYg1V~x^4k>ac&>cSenb24u)T8Tv$CDLsg9fwPu=Vm{1|+8b4lmZi zf#|lZy#(xlfYa|0=-!q5vpI7EqQ50la)#*QSz5MwCDZ77-zh6y(UVsH0ZI_e>Z9*A81wgv)DHR5#wKV3zY=}N`HBfLD23woCV0lT;U`P7S0H?QzqAx zllz-IgGC;y*RuNj0Xb=TMk+0tgkPaaOh{6CK3W*k^^LOk+v9yt`3Hw{B%lP$c z+p|zWO$gDRy^Fsq5mig_%MZ0w6bK4-3t#z#NrLzkT)wMxOL==lPHXu#T)aK0sO`WW zT%5nBM3A->mu!zX)RvtDn7B;qkrctM9nh#CeFH8j*l~cLSq^nj5tA(_P3y{u16}^Q zOk9QhrfQJoJM0RyE)pakCgCA^%TLMUC&YDiC#tkPBC@3}wk_^J4?GIv3PZh!3yYo>$T8uktZ&^{ z(!~)!C10>3feb?TX zmf9Wd+cpRak5DZg?Wr^2lmiY-$i@&GiX>KBO#**yE{TN`UDDZH*1kO!0@Y-!xr;$i z95jM+oo%V46c80-GP>UrLlkH*IwIA^wib7b_ zGpZmd4g&m0)Dbnn0*JX!yC%QJ22F0yN)hbHM4T@0XZ0NT_8BOn-$S)#G5i?;ygrEI zdk_&XeZ; zKRTH@)r!ueTe4Z`teMTB2633CYF>SdAdK%q_YY(-xLw~pz&dc~r$(iBo#@YjgKnlb zli}q6M-8TGT{zn0cMncizF(tS)E|Jjy~lOX#P1!~(SCT;sNNhVBfyIlLh{2E_MwLl zH8UjXfSw@{nvU)f06W?b`$W@7BZ!K`F9sxN3XEw${wt_N?mG4RJlLKv0ka)1hy@(C~K6wmo}+X#4gu zR4=Z9j^rlbv3T3w96?EyU`r*OR>AQZSec#~-RpGVw5xS@Roj8}=x!FbYoa10@0o@_ zlOa78NUo(Kuccx$e{DHPj%)#`E@`?Cu4~UoK@1tS7VU43tN_E=QgNt@1Afw4u&$&~ z+v@hU6{G`Vdqf34u8Lok499-Lo(K-cv}I)C3SCm#mk7se$PVE$q_u7cSI1DA2VO*99XKU*OkwwBIHC&NOb>Y!H z{aiV8PsU_fDR53bu2cj##w8rsJR5dUfERc{(oc%FrscLrZos8s2|$D)99Rg*v~RC& zTMGw-$fMvxka~2P;`Z#K);(2S6*7XP$kwVPaH61$q=Vj>*_|Ujd6yVu$Q;Qlu1Mzi zS+T8K*0t5wwpD`1C*3Gi+Tk?b-r~d)blU!yQfqe)+nmEycrE-SFjg zXX`&>zip3I%(=8E&+gOV11E1@6<4<%zsj$YUUf;<=a_fkpeJ*$O&>bn=8Ul-LomKz z!Y-L-tyAv{Ru3=Vs8UH;_CfMXU~^>N;@Kt>16Kqe)^c6^If*bnb;IAwIC#ss@*yM_ zWQy*e^?er1=*@A^JGD38_pSS09a**n?r>PKSoU;g04BWSz+edP4x!rbV}Ztx&GaSp z-}sIT8BxKoi2jX|H~Qep$WP@6ZYF#dEQPy%a4y#UtPs_Q*Le^CTLP&y#BE(5hUEx* zz$NhQ02^sXA!x1W%WtrnhIcr4g9qKAL(eo}O5O#80A|0(3UatGip%MVPosFDH|#gj zGX`D!>DsghK!||VXTK)|z=}n0K->@qp2&zLihFg3b9yNq62cI0jgtJ+hY%CU074Ff z0k?a1i%#)SIE>ueBKjzr=qcQcae*UmXoD(*=D-dEg%5gnpK!(r6!D(6t%MtJgo}3Q z-Fwtu)6@nDps*(yJ3>7Pg8e*-A8JG2QM`i(I~TI=NHS>4qYYB;dm>0ih*{8pHa4IS zAM*eoMfS;PBx;|A82}6+{Gj{}%naa>tk8Z5ora(YR<9I(mcf4}zuM3u>LEI~>Au^d z4ZTP4G^C{3z?&UF_z1Z|BNYf^grw>NfjV^lxF5#kXCD7*oU{SjLP(w3hYA-;Nj{JS z$O8>+puI;Z8^|IdFw z0_NnM@ff530Pg=s`F~yl!rwShC>RknK1N(pGj?X|2U&aoB`a!t5ELz^;5bd5kQJ9) z8aoqbh=@{fF^pI&E;Ugc7saEDD7a{r17SxD=~E(4NQ&TCmgsIu1V+$)z!jy6Pt&HP zO)_3c%lJ|q>7U%@B(>3d^sz|QtMAg}gHP?YrG+P-t5 z-hq#4Z%ytZiBp^r*)C>rX<#XwCQV3+i_8@jSE9^yp(zmqQAR>ZYCfIo3qc4TJAkG@ z$f3dkN&}o3UT{0vi>6A9KqXR2zrJlt(;&v7dJ&~jJ=b61Hm(caF10IF0cOAD$l zL8B3>Lu7SngbATbGuG2JFmZ#dE@Ww4S%UXp!e1BvB7ea@5rwPu6%>q}NEH0S0m`K) zQE=PpO3UTs(s!Rl?-sR;>Qv9)Coj>dziHpK1J|eLR7Z)=GjtfE_K!y?dr^sa4RJ7ZQ1{r=KJiU0ma9!H`B2|0Rin)MuR5l{V(vz{2Q!aYYTx!h28GLzs;Qw;aPCmyS*ES&Lqb$;x<*Syu{ zv9=bP;kO;~?##ERfTH3#QFu5=B$OBhV?A=Ls0uN-N1N>=aB&IHbuqC4A|k{{1Ry6m zSaguVMz?_$iMRZU%gY=nFH~3C3<+r@oKW>ZQCnih9&5sqHh~zAlt)^r&t+}LKn8h{ zn+w;MAt=hGIx{`lw86w61S+N^tE)#4G~J2%hDHV^MkGh-h@*%>GXuQ%PGVQ14h%6e zQaj?m?_3Zijc`RxjuN#eW)rqqGqS8>ExT@Vu3WkDhpU`{eoS^CSI3jXLU*}Ai$RA$ zeUbJqLCGY-XcA$p4fO=QyU#c-I+t)E=5*%?O04xiHUQn?{zDTyLIyFegyY{uDX_Ng zKbb|MC^$CQ)~Hg;%g&sB?XLOOVvm|gE!=1661R+xGZxZfuT02SX^VHB#Irl$ZgH=9 z=ZvQM)YB6-zFjkNlSbNe|Dkl!&mRrA09QGzh$>4`|NIq8(uCE+w>as z8~2`Vo3ho`CBfKwpJSQtv&o-^?25`789FCRe`D&1BdJvb*Hs)M1PiIBn-2XceY}sh>st@Ac z9LYJZwye6U^xMgEIf)@w6}7a-?~HMsl#UbQvl;_D7&*=~^Pb1Djt%F6mL0Z;cRRe#B2;eFDdVMACl=h1+ord$B>tn(%{GoeLY7u5; zzu>Uyk<|U2C3g}QDecN0+b~8~Z{tMM=Qhvw4;uTyxk{J*ZG}$9?zxli`<=WIdi>Ng z&+(bOFO=qo7n`js#2=cB9(ekYnAgh{PM?M-Es9C1V{LTj*r%-26+AMQ6MJ=FpyBZ5 zLAau0`>EHLwbf4D4ym1LD^SqgcU_T5L=6Z9H{e0K04cg$3c6bc_d0)279ukKzr?ia z5(Ju(B1#i_O}{f6e$HqK`VDbYPdbl5wFu(*vLVtJ(&Gfc6&Ml5x`crVA#?(U!YuL( zCT{Jvv{gm%HLfCEtq_WD(C$`*{yoIYIBuiee*K!v#R zFj3p8HOFOC?;H7@QoJSo%J^7@c<~vN>-Zqr^s5Q7AzpFeo0pDZ745R!(eC?4)5Gm9 zhorQQ7v0`Ju`pD!=;oG%=avo=YxiE!rt3UTQKvOu!s&9URk{1E6WSs{`Mz(@`@fyM zID2rXP1Pe~uY&x)BjZ6~zK)@3QJtlMn*^7E64ZVIF9 z=V|N?Mb}~ZuU+0 zYN?26$)Tc+#^FsnBedQ*%u5|@F!s1ffY%zAsvYtLL)Bx>cUFnSuK%#))fMOZq|I?P zM@RFY1ayD(nEcx<}KEW^vIOEwmcP~W@X`#F8ovd0>>JD0>ak9EH~dbXMKi6ir; zjS+d(7`jO3y84qqclkLsD@#9Ok82K6qL$n}s$5z-{My{vttQ#>?drBQDiv0%ty>z7 zb3z|+TE{%Bx5+s9^4N&^cca%ox3?ws=5KiTd{Ji6m;1%u%?(>4S9RRznB8hSVXu-# z-rg{u2*Em!;3bE2Vs6ggvABMvhQ{j-|Kl3TTFK@{jt!63S|yy2v^#k%*HVX<_95V7 zFm-{JlKaxMZDx*oF?WjNhdkKj(7C0!#wLrE-t_23e3EpxJL~{=*iI;jOLndDlyOm5 zh+%#F-!Glf&>nV9@{TQh=2>|=jJ$*CR1oB zmX(9V93DU2dz#j$o}f>-A&gO?;E4#wEc>k4v9?`a2)xzLZcgaq;77>lXM;jd1oIYV zElk!PXSamVTcWEgbasDqJ2!B4&V&=;(47ZoH~sINosMU>r~4cFJR&j^F;5kZ+)6}l zCL&XNgrqG(L`D5qfH(8gFzK~U!OOzx#^EwLxyQzy~XoU+b+Fj z;A78?8Pm6fHHFBeG%%KEYngpK&S~_I{#G}wP3qi~`WgFk-ZJlc)~gxhZgpqGq=Y5f zIL*B!vvGCPu-PNtPMx0Ue5LrS-xIR|+7q@5Oo!)QJ2GaI;FB;!*<^Ef_q703#>GpD_(r+XZZj3svtJ3`H{LM^ z|IqEb%JFlo7Z~dF540vzndyfXCin)h_m=aHn~RC(;hGv|QPY&{y`_(q z+P{08yk-PjIm~+R3ck4}Bj>ogvq$Xlk)DQIV;|mm`|-`->}}&8U(DTl<%PSa#gjz? zcEp*9uM}?-F9{kosE$rQ^6K8H;i7d9El$g6ym-LSdA{|1_TnwKup8MnwF}>F&6S)z zQz0W_)D>*P$&&54)2vsj8k}m{y*o2BRPEEuv{Ct=XQ)TK+x4;DuYC5_=4U~{!=67i z$_P=J{ryI%x^Ix6=+l?PXVMW*nNy0s5FMg+8y-Fk^7l+NZQMD}!LdGKzFKzhK;6-y zFD;}>rhVRbVUK%5cKr7F%jY@Fv_3lh?DiFlq#|beeGSQMsP*?>cGj7zBpd2WmiTx5H{AwwmWmdUio1 ziJv2Pz{KVb=Tm{nok%Z&YI7{qJ-jL;`$(0^O|kbe>y}&&T{-2#9#i)t%TG0~!fDTg zM%oWAdsN9;#JDlaJ>&A1lJWj;bEm4!S-GI>yX?oU1M3(UeA-7h$ZB;ybaFlrW^WgL zF+U`SMjU=xlh%AQZ;yrfwt~RN2d|tR>9X&@m_o%{UJ@5iw~lymHglBL_os;x+8@0$ z)+*4p=!+W{->pqy**x;_l2&;hYDf)9T01;DY6vVw27l=hu80UuiyHhK%G!EH2*oA_ z--e>=6kO!z*hCaQM_jsF3ltzc5rvzBY^Q=tGX`z$A|10(N(BE!aH4Ez!uM@ zEX|4Jg?Jv8op82A>y~8$CPJ~3**%6LPXBaAvC~sUNtb{PzAnv>&?9v9;MALD=thV} zQ1H&I$SZpyFA|aG{!5mnV+nO|C$Om;(Yq|Q@Q0ITPdc@Cb4eRVj3L2By86=LDgf2h z#f56^;xJj?WV+=fYds^2NxFJ^mb5N%B7MoZ!Vl#q!C9z(Ahqj<=~+<&=fiqjhKLgF z>i-e}boER`X=JYe`f%J8kRix`3=IvD31L9f zM*$faDP7~P?Ek9qfd%~EFYG(8Sx;wK*uQ+AW6Bj@g@U$8Oh+R=k=Vsv*W&zZbn z>>4GpjMcA7{r1WYSKQQ`{xassSr5K~uh-07IW47h+q+lW&kgjB@sQpgl^JI@&qMyw z?6e1hO^in$oRehi57C~)k6L;N!_G||(qoM1(pTsnK#RFblD^S-JknaPhSjt_`vG(!V%5S_JoH~g7eMg+N;g>`1vb|yp&nHGi+`BxI>41 zJ1ch=(w5tnWEO|r*0(vI976AyZzf|knh0C>j@#_A(W^Z36I-?Z?%SRBbJ)^ZuOD2p zzdw6$Yl4*eqCl6W8wCY3c7F@UM-+P7Pm`@4Sam7-LwUpXZ3O+9#fI!SYvM9N#!LaCF?Lxo2m_%&{r?vnhUl zN#V1qC;6Mxiqh<7$KJ1aI=h6f9!zhiwbg%L?f&}S!YA~41(S)b&7YkX&#X|;{8T?O z{`>K_W7e#A@sb;3Gf|egcbM;^)UUcLMy-5)O^#1p-o3Cl1S_c9XBqE*8NaOYj0o5= zSGuvJ?tXZ!GPbneYCLnVvOD&NhkJA%#3#Mo$cWiJ^++w~<|M*PqPy-7`)rWgy=3Wa7 zzG*sWhQzr8_7cS96W***@8fwv@>fC(4VzPFqXQ@q8 zPG;lgz#K!X=;-HjU*xI!g`fY@yvcBK-l$M}yr7}x`!iXI*nx?U@FO!6V)QyZ2iqnN z4zWDxwf%0U++<4EO5RG`b-G=C))V73>MZjNld>%fD!&HLK3>!!YyP>Zxo(Qim0_={ z-l^72nNJB(@}(%Qx^*4CN5Vvppc(7x>KcG^gs`(PtB11xX4m~s-mK+uo?Yu<&S>e7 z-REzP38|I49(DEWiyZ?7H0@_O1f4l&F#kQihBfO^b8V&BkfnOx7dxKz{*dOf+^so$ zmfN=qL!Y%a>M}>xD_vfxdsIQCZE4st=V+_)ybU&f0|vc4x#C@{)4c|(Gs_pxp&4aK z83(NIxG8^YoXctxIwkbPfv+59(a8LR?+xn=#(CXIpHek!m0m%_qVObz5j&l~m9=?{ zy|+yMvU}&Z4K9~&JYPG{{^k9e^?RPACLc1(t~KE7qk zL3~zq-SYiI7WpiF@Nr|R>PXYC)XUs3i)}VR7f&qFzpt2Z<7+N8Ed0yuUDglFI68O3 zmPAzDJrHjA+|cg*#DIN@bK2^~L~%YrM^1$Nm1&i zCtK#Mp;zLfti0&a?n?+>>gLV2DxLn6PN2Uv6gNtT>q!@iM2yE9i6ItcbL&>31yXO!THu@?^NUdxRbnVFo$`na8-G^ z*|KKsf^KhiAH3OZLa`^H0%0mKVI8cIdqP(fbX=pk*ZG^*iEVXJsZ(tXCR|qdt|R)Q zj~o1@ms^Y+0k!M=L#8VdW)~d>J7SA}Eox(hqBhQqKsJ{NS9U{$QJY`7ng5gk+V%JI z&L_9+UhLu9Xu3IN(alTSR8A1{NSEzMz)4XSoD}sOW35p>IBm?L$GbSQzwBo}T|B7F z%wdLCaEbV)t)?`+BPKVGEjOHY$BVW4N|1?vwLGomSn_99WAW$d~M=L2p{n;C@PR(aqbCG*Z--L)myC1}k2 z%KMpbH<+G!>-&)Le$TuEAJWP+=8nHIrq(>GerTDZ;y`!P@sG^67$5xb=Y)jgHA9MB z*G@0}BC{)TXhQ2N>1C0}B8N^N>KwGr@Yu-Xbgs6R->QIVT9Uzo+EWkhU-Zy6hbL3> zJT;=pR4~iTdx~Rq>?hq}x3_dAzfZ;AUpmG6`reMiR>%(`PU;tj-g5dTwcx(_)YGp1 zJ3Vk9PH2W<7Am{@3M&XWA0}aNOB+#csus`L2>BOx!AbbvB*F{U%lY+``+G z`SpB*g>88Frn>VVr?iwS*B`!QmP?xxQ&UfAh}yks$Vlac^?~17k6h6hmLQ#Mc&Ezl z&+Xr(+Vwwm={za63u9!l@a`9yfheyuUTTq%E==~-;igF1yJ8ht=;lqu>(g!ZFWRq=jkclLH{9@S%!06SWW=8Ef3utJ zb7(6jhEc>Ye%Y$Igqn(cZ)k*OqHp5XQ(%Pt7f2`|RuZPYaTrmYrUNELs*34OGY^Fz*;zQsv?o2GPj^P?eAEfS`WZD&L+k(2$Bld6$E{LQDt;JC@@(E~Fhye2gG z8qfpJ1br}3{7^UKVBzbxNtqj)cW$s$mA%=nB{AZrUj{8oR2IT2l0uE%^zR)}VVLz- zQJubF)+l@yF{~#T2XR)}e&M#CLa7rgr`b-G3SP3#p;&ww^~9-3`+~l)`QvLfoYxJ# z>0@?>i2T%t07Zuu`ILxkB_dmh$XZeAqE&Z>E2M=Qe-o8CY5SJ8nrFry;k8d|s$UmH6@JfQc%WbX8(qRL9hi;19VB^Y&oc?ug&c)r2ZXLCm zbgQFr+_lZBLjq5U-TS0p<#S_=<&q2R^`|B)2bEX+ILx)$&KJB zt8gyPw~u(O!LD;QHfXPl?3_7ltkS6yr(PK2@|QE4?>`;8KPbQ4d0*=Xey5*H?$hbX z`!m+te+)jM>O--9mKu>B?PR4K#B4VyKaEg$$C3i#G&r10q^ zu30fFFlOD?1tCU?nsau3X?gfbSMBTi)@Ls1zHTd)S>AkN8PJ+_xq1HdOiPnHA~~jO zawT0x)tsHNe)OFAxn_Sf&CaR6ROzgw=sD-hjq<21YxAcZH2hv~a%G8gn}xE{9c-!S c7SE>ANx7ozJ+D<}aZk|>%V-u1e)Q-60r(w~VE_OC literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/_common/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..64cf996f67f88d5268802a149196515f7a9bcd4f GIT binary patch literal 21392 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/MSTest.TestAdapter.props b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/MSTest.TestAdapter.props new file mode 100644 index 0000000..c923a1e --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/MSTest.TestAdapter.props @@ -0,0 +1,33 @@ + + + + + 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 + + + Microsoft.TestPlatform.AdapterUtilities.dll + PreserveNewest + False + + + + + + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/MSTest.TestAdapter.targets b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/MSTest.TestAdapter.targets new file mode 100644 index 0000000..1c80426 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/MSTest.TestAdapter.targets @@ -0,0 +1,35 @@ + + + + true + + + + + + + + + + + + + + + + + + %(CurrentUICultureHierarchy.Identity) + + + + %(MSTestV2ResourceFiles.CultureString)\%(Filename)%(Extension) + PreserveNewest + False + + + + + \ No newline at end of file diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/Microsoft.TestPlatform.AdapterUtilities.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/Microsoft.TestPlatform.AdapterUtilities.dll new file mode 100644 index 0000000000000000000000000000000000000000..e7c234401d816a6537d539c0148bd83d8967925e GIT binary patch literal 29584 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..92acd17a9d101935ef53e42636d2746ea42b2bdc GIT binary patch literal 15248 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 ZX|!Fc)b&JThslR|&C`yx)(=F-{y)P2OMn0X literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..ddaa6b11ea1bf1180280ef6c6633545b744a6a59 GIT binary patch literal 15248 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..8a8968ac53e6140032be7aba1dd7318521fe0bee GIT binary patch literal 15248 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 Jgi9tR{||Ns5kvq0 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..7eae2403ee5426c9f3412a362691e61b8a50486e GIT binary patch literal 15248 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 X1H8nseqD)H?)`Bxn$O#62haXL0Cw$4 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net45/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..739ebb73a7605f1acb814254a8dd2a21e71dedb8 GIT binary patch literal 15248 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

    46KQG*QzBM=Fm)%ym?E1q;lP<=0UbXyGqb8&F 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll new file mode 100644 index 0000000000000000000000000000000000000000..a43f218aebef8ce1d116dd1f96b635a9bdbf8d47 GIT binary patch literal 63376 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�UP1b|37pA@}_qV{iFV3V-C3+ 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..9ee9e46ce9e55fe5627d0849b319a4f705136048 GIT binary patch literal 15280 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 F`hV)$NgDtF literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..ad6d53a08dfc7f5862280eae08bd0162a6f02901 GIT binary patch literal 14216 zcmeHt2Ut_fw(#Cb=mJ74NDWOuG3|(cklP!8`!g_tXZ>W&CF^$-XR+yJOn`m z@bvdX&^hqNlD#

    e{a6Lf@%_Md4WLJ}09L%8ixZxN5Q&I}vNVZ^ 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 RNR60h0`_E~@T(>S{TBw^L%aY0 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..e45c2a044864403e1a4ec3dc56cdaff6ba194d07 GIT binary patch literal 14216 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

    ^WBBJP@+njL($X7-OY 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 L=~&)f9wPl;L=sGf literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/Icon.png b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a0f1fdbf4d5eae0e561018cccee74f6a454cdb9c GIT binary patch literal 7006 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/MSTest.TestFramework.2.2.10.nupkg b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/MSTest.TestFramework.2.2.10.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..f005a741383f454c431eceb0fcbc4101b415cc98 GIT binary patch literal 1337686 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 z

    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

    j!M@*=Wx4VcIE;3X?VL2|+#m{k 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%0D>e)mSUzYkw9ItGQYf3R@TdZ`?BzzdmctY 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

    h^$L#U4REi!R=JJqcpKOK9(cWI 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 lvcOpef3j+!DJ6Z# zI+R};i;`~uNXbxC)u8!<3aut0NQw;yLVd(Y5=*E=f;^+%z(;O%&zIcoVZPRwt*>*; zZD^mUxmA^QC-zEs@dj8^)PYt(> zxU;M;1iR&i%^TyDomd9GYLYw_;p`&nzH{5FVPn82g# zewDDu4+L?JJ$^ceUF15V4+ss1750x*5V%3aUt-X%T}>;!$K4J9mDKEuD?yPIM4W#b zi~i(R(&Q;VS1M5RGlV1|RKQ_(ld8p75lMHjt7-m?_NDTl@?=lojyKEac@3rQV~0V~ii*bdv^6WSxxWg>Dv5ul zumQ#fr(ulPs0jxY{L2ybtD~XQ;x`7r;KTor#8ehp-E9y%l6t73Z9K=yKX+_-c1E7= zIPUdbYZhuDp@sjDhW;8@eCs3rE;vvc>wvc)NvEe8jsM*5CEwr{!C0HntV?&dZg$le@(>&zB$E&@lE^*0hf|7urn#&3`$G>2+sZER zT?ycpFp>PPkZ~tCticgKU@=iNRTN9FAA!>5Zx&&qo!kq;^g^52j*`+EU*^syOGe0~ zjcW>V!fhn9Gp{7=^;5L)|9n9I3dc;BDyxg%&MBM4xL1I7NspAT+W-ri+{)?f#F}U zT02IrBvbA=F1GbrlRt?D@S+@iDokS?4o9Zpal9gdm zBp1bwR)VMuZ&WmOD5O`8BA@j_9-%~(M>b%eXaCr~cXx{@WKN;ADGg=Vl;0 zC26c&gpElEf#F?eMD&qd2dGWt6iY(X__@dOYy9ix_GXM{l5(KkoQExWj8ILfpKCI{2PjU@YQiW!oMPIU{sONUB|^u4nN z2uOA;r1r}Jq#@kGqYL8BUJUP(g{o|+LR}fZd&!%t`%NnIi_TivkK{~LMZ7y=+DggU zb$T6H%-cYRHREuEcsOWn_9$?ioOnxuw5>BNe^!3qk(E< zLfS}Ye1Thn#pM{B1i{tawbswCPU=x7O5Oqml#b;|itrcmlNn_i+RpD99`$(_Q%!`i zU4aW$q4oKFBs4V16<3E@NeqE_APCDDBQSXJa$!A<6w$8YBvoq083DvYh%a6EX9NQF7RH@;{7usFfAuY<45-6K2MhhX8>Hf^LhkHnAk_4k1_Sb9V zcf{bpcEWPPyXJnyp%L5FltcpLNBtl#M>vq>YN8jLk1+ zA5CMs$KfoPLhI(sE;r2uw-OWsiiMQn?KGyV?E^oxV2p9P9O8Qr>8IZfWoegE@}kq)1_5 z91D(MVTrjqV=dp-w+7%97>k|~GUJmC!o&u0{nJ;sWIEeSCicN7xioursJGNo`;kZ6 z`G?qdH)3emzI(9bO1`QAw`ud}*$?7wz{cC(=i=GoqUi|}hD59xI48_s1%=8bz@gYe zqnXy2$ba>^+9J{G`Y=(YbBJJ~F34_%HMpIM$~3w<9ChZ%l;&E&+1oP^+$3DCqwFEK z3E%P{hs=$)aG3S!vI|q2so5)n(inxAw>jGq7b+ikIjhZ)3(Pl@u>~bK3Z&9^pX82d z$iabZKK26wDnk>N(gI1s@mDJ3MEijGLfIlf1fL)k%f!Q$j@r2@pBCp5pPFDs8@CvT zeQtMxZjH8l<{M{>pVFK>>JBzeWH-XEtENwT0Vf3nuZ3Yo>TC;o!qa{f>(vQC9`k*$ z>J>KI0eXk1k;4)(@c zg_i zNKvbgb!NoZ*zei7;Q1z^;rUi#aBl!t3CwqUP^yzEeBV1Os=3u-(5!PXYji%!OF%7z78 zo#T9Dz$^sMMjm@T;@xps)zM0I1E&A`^!07jPIs{Govu5n#gZJ~in=;UioTb3_}sk^uzekVx)Im?M$7?I5AJpTYVN&JXc>|fUcI+Ue!(+AItUneR6?Q& zG)4Uh%TxP4W1OKYxCAWVqA1a{n~7 z#5wdBDle$te2I2qTMIsXSWw6~3+xPsic`g@{6LXL{IR=4;vIE)STd%)z&nW{`&u(A zq1FS`S=Z5luuCJO2vi($C#E$xV~G?luEcj_o+a2kt_nxnmwA6ROV#Eu@cAX{S3GPh z=niTLG49t{VeUaC>paw6Ev(cRisiT02Kl(u{GR)`R6Qgd2{k5$ER4a0r;levd30a{ zQ1ismv-avXFzUw~Tc-^h)S!XJa5C($LNWfHAqj-2B@~Z4*5rjuxJx>|&adb*dBG=~ zXbT*cUGxIqBD~02m+qoK4&uBs=?H#a_M0P%!8wbVIg1lGTbTMm5)pI0RTIn!j_mU7}%Gdy##E;jjuOlw5~inNfZ_nO4TrLDoN@_56o!HR+)d%2Jlw zj5db;r0mw7PCKJ?th0OWT2=+$TH+ixxd{F)GaC*pM;0t| z7OZxC9y;i}%+SYMk-O~$a-22JdS{d4(LWIhJlTw9VxxJ(*Y;w@2S|?vYNgL2yuKH; zNROKurW}eh$o0PBwGU22I5Q_d$73*;vx28xva^+o`%zKC5c)O*n+pEBZ# zsI=t*@0nK6a6j zZaGZ^(h!r_F{2qSDV?yG@p@WJ4YxYtEYznV{wqBP?o^sua-aYx3>Vm>be`Mfj*R{C zpAE=!nhwPVvIA=UwfkFOw*u9!a=t<~V_zf#1Tjc_$JVqK)@wFpGhhvutWCi*B6r^rQc93Dt7l zc!uUYY=@-9Mg=xkNxndLjZEp+UEPAnEe-o_&x?0!-#zc@d%|yTKF`f6>?8H(kY&L& zn{JVECj1phj_c}8hDwooD$Oc0|8ZW2a46 zRHm?~D+Yda)u6(#L~@M|af*Y*Yg7}2Uyyz@l2(D`LA5FgDvDFIRbKezBJf5mF0Csx zkSiyQD<^%P!pp5(T*7{RL?JtL*zW9bRX=Oz)ngpd3+H;3At&5ZL~z&04Guados-Ui zB60Z5AHt8ELU|)nALzkn3{aM>c_O!P9=swin%{RCh)g4)|dU zY`{s5RoU=ZM{EwJ@28`u>?f3Sj*8RnYEI#557T4wS187+)#u11=a}xxIOJrgHr7l~E*Z(Iof+#I0`fRbA4ULDyS&~TXL{CX( zA`|~2*U?dG5KgAxOE!xYlb#<#gQn#%7X6OOP5sM0HR76Oy($pM%(h(Hj#qg%;H*^q zlB0UPAXfN%ra@%4Y&Scu4Lj&Qq9fzOm8l8-sJq$kJd}G6(-F~Z=8Z4b(nyRBEui3BS1-<}m&)-UI z;!nGMhA>9Js;#}?QBPge`IZP#)1!>XgeM88)SAOb|aXFlI z3+Qg^I6WX5a~v`OK>E4q=<6o>wCE3W>qZGpvkh;oyXzSjVMZM+T*kuQFUv_-H82Ht znumd!VwS9=A3j1>^Wt%I9g?_Tn2q+ zn3Pt08uoK&o==Pu`Z;Tvk&J<|tbiIebG%7F#+qu6u?v3m`NRCRj+sge5x0Y%fQfQ# z0i9utHC`8Bw9VIkDW?GMWPcV?6L;%qmaiYGTCE-Ul?&q465v-#a{RR)IrcSvn*;D9 zyUh{C3U9n3h~@r=vnvL)+d42lms{i=f3kf^g(dDC_k?o^9{NPw=rjR~oD0+1$_Yt4K#skMi`ZuTk$`W=l6&lyM#hvNUdg z=4lqF(-^N0kH?#6FpiRQ?XsWBEsi>Ju;)b;!vytLJUzYP3Yx6K!T#S`r7U_hr`1PM zAi6#WH5JKZ6I|7#kH30gp2}(JB3%sn6lf2sds>3}M6~*Ryks;45W32X)P%x!Jst9Q z58N2uicxliiNj)g3Ns0RkbX`ifDYaVpv~pgmr@u7`;Vf?jc*{;j=I`q>6yN~J#C*) zJ|MOfs_V=aYL^w$ftR|RWv1Xyi@wf|m2Ho+`jsPq*STjfM#kNr+XdTb&@@fig}-gI zO9fIZ)-nO!4pIGh*O*@GTt?4;`>r83E?RhZ9n}HTW#9J+z&PuMO00Gx zt*|&z*rjWOn4GM4U0+Or>nL7bUe#L*$%O-^ay|8%D40+r1z7FX;ERD37Ixm03}Q_n zrnYxY^Ls^r4Icb}yRDX7nEBJPv{j@QTG%_tmM2p9xU>*?P7r=-Rz{K`{7Mi6gL7iE zZ=X00S1|O}3{Z|e;}we>)lgwd(HLr{x&`a`a4tSV537fP;yhu%O$#;9$m~DXDXEkl zJVMjG>K*bME!ok?dWCt0ZD4wY&rT!D+e_d<6;fICG%)NU%Ymr*{UnDwb%gzsq<@AH zAOwxY2dq01(-eOd415*i5uO#OX~v209>N6^F+8|h)5n*D@G=sVrG|KZ2PjWshnAh( z0DhWukU10G5b$q7#rt&@%=+xF7Y$R*GJl*v?px}>MpPc6Nlp~>#(ADkrR+>7QYcK& znCy8mltxvLTi1*srvi$<66855dRhq5qFb`X*3zMyNVdTm0{i`2H_lW9qz&5@wT$h< zkKOhL=BW9)dSj_+eT3xU+55qwx*1yYkEoYjMdIjvsPt1aLH>S=X}d*S5vTo+Eqh|N zRuFb==G)6D+-*l)IRjC;7P&_?8>knRdz>YyM?Xl0kpb7NZthO(>IICEUw8mAPfhO* z!%bh@H?sRZ^-sQA)<)#&)GNx4J1xZ5X1L?Vb)!{Prtvmz7l*;MLQs>;2n=JKQ;_S; zgU0nrx}U6mJ@l7RP-_E@NP7NY`vhyIwNnqPrvs-y`zcrHXJq4#wUE3Pp9OfyW8=>> zNI!DC!};KNal8TGl5@)a?3w8rk+Jez12t_&^Q&%FRJinUj7wKNPs%;36HY=fhJm_U~dFW3fStOX;RppfgSX!67ICyyx2}TY#2Z8+N=yvqUcJKit8mJX;>^*$Q7VbBXw!foTHpI5>hNoO_tE4n>B@`Z#QnpSKdoP&#EhMzRhNG{5(n`D$Yr$r zLd|IJsR?rqWIH!XSdo>vB3VBHRM9Z^>@fAL6W|fv0~w{KaLNz5fgf-dm-*N7ib2U4 zO_Pb_*Ol{vlsz|sG)3xyR8SP~fNk&p`L|?E!c`(~^Pc2V$mX}6F_Jd|r#lrgK{Bh~6d8i?biI2&T$0EPAxCx!`Lj7ON+vvo}A6o!u( z83Z?rJ{~-|<2)HS*>QfI7z;(V&<>W4W?iA<=Y#YjM&p{- z&JqR{b289`I^objL<8dqmNiH^N86}NSwsOrplcamD#H_usV%Q}SG$5?^*-M#bw2j@}(aCFj=8l{NS@G3O`h5WacG>lu-%v$b)OSxx_JWTb>wqc({f*78MRu9I4^b{Z$Fwy zYi+w9;_9gT3pMqDj{B@WyNGpDxQ$MnLw+P(v@0!Ffd?aSgIHc|eI=5VxC*cp%B2Hn z8y>;c3vqVK=&oDw6z#2s@3kEg>st4!!*>H!Hiw_t?3xN8F}A6{ts%o;>sBTv9Hqsi$t z7$=H;!>Kl5@&10eaBX{ZN=|9)e6jEIsI%j9jNMquO~D`w%CQ-I67gv?XgI?{wzwZV zaU>$=j#;=We4C*KbWjm~$dz=#esne&r{yV^KVT|k%RU)N|K96M0i2p+lbumNvHcM=} zm^h+}?d>h*dJWAG-l`|c=qtjMS2c{~mLgjFteKS9=XSs6SE)HNSmj*=`ipvYBI`N^ zQAl0gk11pGG4nV3C3!Cv44N1MutQ}iHnmfuaAr!GxI572MHjj_kdc$9M^`6C2$EBY z4p9UULJEBq3N)u8c+A+L)L*JGPRRj!62=x2UPqin@{-jY0K!Otjduy<<(@H1q+_#| z%p8oRoq1$R5BAm`wE!`~i!;JCdqi0p-ERK0U~cf6MG)7FsKYyQjqVT*_lE*^kAtTx zsof4#Crd6JYPAbtAkTjtbfLy=4&_gmP6@+yY0e^qMV0WZ=_;YWg{%c`+VHCMy4@ev;!R?P#7<+I z@C=Y=o75&|7lt7+S|CH<=1#F5pve6{4Rq=MuYo4PTEQTc=YO+u#M$RqgoS(5Q9biC zKVfstgFv!NusZVivLiylN~Y_^sb+>=`LuK!-pd|f55Mm2W1k^+kY!e7*Q z+j?gkbn8->YlT3^#UYICUNJF>M*4Xc- z9n{pumzy`u$o+%SzOyXB8Q=_ahQXJHIetwTV`gtOvLD5SiYkw^8Fz?@v}aR`&q0Ze z+;Q`umBtzdEq-*tdKwgD&d7Uh-^WqIb9-QG;tnVB0*=K*e`nF5aFzxUWriLj``xJ| z>-e8E!&aw|rmEf%9Dg~~11XW}(0gs~7xMqAGX!L*9)C=AY*nMe#-AUVCUuoO@$!yu z$ywv`jJXgj77pkNUB@z*(dliHX6ibdbSdM33E~v@+jee7q18DwoN96CG|X6WMz`mw z*{O*w)jVur*_k&d9hjM^%)-q7kj)U4c9_k_tDxvJ?MajQjF|*2Xc6Zg;{$cyL6OEa zdmOr zjJBa<-*rA77>3N)@3mzI43asA)1&Z(`b0DJ?!9^0!lUB}$Kd6Rtj9wSGd6X1Jvw826$FdfVy zJxl(-vmpUMH7r*A9=zsv9Q!H@%4(7rR`+etn`iZMCJcgB`z;y`kfBoQtwJSR!D`_T zcDhf(Anorz{{cQq-~G=mBkZOA%nP)T@Yz^P(}>wx4iI0EZ^MkV$W{Kq?a=~24SAK~dKN0g!d?-RZR}HH*SY#XcG%Y0pL9J5()MkBT17!+iyaG$ z4pbW*yiAO9qrZ@!SrHY}UsPq(j%{8#$;DUol!_t01suzT-)d{T-)xZQEdPNJ{)FX^LUm57? zoFx*;x%BrJ_TTdzsDLv4*)iYNE0L1CWM$(@)?MJK$?#K-0vtn;<5|If$5ukN-6Hdrnm;*Y~s{XX-jybWn|FolU&@5kB)=(BJAZP<>~ z5HUHd6Z)Rl^W&e0@Ir4w=GYM)P)CEsp;5zt9-`I%oNiHd*$W_?;}DNx zpqEzh>XQqX!TQQSn$LE+k4a$(4iqPk64x3;v6Fm@gw8f^ra9*CQdAa)@FGr2ON3Ff zUGyS=@aw)%NKh+ex;@f;3~^WjXbi5Nss@AnQ5`2O^fWXQW*_zgxwWv8cwkBX6wG5H zY`E`j>}c)8q2ewK1k|m#R-Q2kpV@uYvzJQQA#&5chE&K2LjbW;$uUf{TpwSKe`EONa`*=_(edMs-}j*YBI-^rAEXj=J1C|hx$Z1=)H~H z1tRuXx?QB6QlO~EHY|$N6G@V4@o&|!t4<~9p^ngM5lp6$)1*|Mlo%Da6b6%ddt)ou#0WC_+eaEOMwnucR|S(Hug{ z@V@}WCO3mDG<8ra%Rpw$zi6;b67Buy4{d^b`?kzAgdbDTV`4(TgOBCJLXd)u`|Zt1 zYH>)J>bC(pX_d;NJZfWVVXGHhb+*V0M@hiQ9+e4q z>Ihy(?Nu16bkHiX{11|~-khRv=@WH?(;^#;|!0#bVcuTNBQuIQ}5UD zq283%=}^WRwpSVL;;Ozyrnvp+EB@IWhO}o4nj5fEswzQ%#r16jy=VUO39=)ibiX4M z!`4?-tvhj7S_FQ4#PyX|4@^xa{v`6jYBsXE!VLlSXnJa4iU?@QfqTtW_ZHB9*vPHhDUOTpp(E2%AR&cy zl8teBgpQhH0&gq_Z>7hK`-aAxh#MoPTRmx2#7j{SPG+jPPxCkXb% zvJ;#`+tb4DAfya5BVT8YE)80lJQ^cMZ1QZY>=N|zJG4>w#swD`?y!^8#T{Z2wDX+L zPlocP8Le>(0;`#cXmUw6ygddbBy~1yfsl6xo^_?~BXu{w>B~ba3+d*n7^1wCeo=my1!h6{b_%M>r zzRv55f3M2hsf~85b+2^G#y)ymxtO{~ge5r=5B2DqVZRN4;)2_*Wh#6V#X|cI(tnT1@)QNo!{HW_i&M&qLw2 z=?jggN9kbtojF#%XPEREsPq}BuF8*<-{r`CfAu+wGPPLxY) z`9=w84K-ap?lf1DouGxCO@Jp?VJTMw3mPBaQ(&T= zo_h6YI_rDwX1Z>UB+u;X%eWpU(DY)v(<{F$qRVi{3CK#ep+3AG?oUq&y8TSEiklfkfnjOM2CpS?&*VD>eJP;A2x73f4Is_`HCi7O9??yu1 z0RwArf~;GbN->hVV)3H$Sw6NgY~|jTF6pm;>dDv!?6RMb+V9pdBF7?9Lij=B?B4c! zgA1>eHR@uq{z(4695)HKjMq`%VNXyww!1zz8sX+_8hNC?9$cvT2G^77g1sH8t(G1lK=<2R9+DmH%y+A_+kL*P5JxaR4_h7Z^I{5f zt{;J0_)SvsG-D*3^buKT+8A|Wjy-(`!3dxof}&CuVWphp`U)LPwcsG;g|>1(8qXk3rm z=`PKf%(lhO-{HZtKn@x%?ulY;^`Vv1rQEpJ(wJkqk0ME@es{loTZF#`-C^rhi&;1S z$T>@B<=i*2QEr+a@3C6{{o@Z_qKQwVahq1+^lrnu0@pbZsC1?-TT;HhtAMBEg-l1HlDd)NzM#NV$PpOx5xr!==_3Po5re7;*+ooM1uqEhLQ_g*$$e<-fEWQvHjv%D-SIvl#$YuU2Z=$w z#f5k|f-B%pp-e3NSiJ=PxYfbczzfdeIgpzi0P!Zel;|;`(KJw8XY%&nJbf^TzWqfgelZ9MeC)}NCR z3t(r+l@-zacBK;H$OU&N3&NTA1^Hp9)I|%2)EMcDeh<{P92m+=d9TsrY(QegDnPj$ zC&HOA<%P|08L<`5cF-$Jdd(ww#qeg(a(|5{tq~=kE!%N2k4J6w`+`s04=r7-g;;yF zti&Fn$x%q>)R!)kHgw*PL-kDSCzCdzLw5yQ-*jYC#_$x#KE?TPgd@F{vvYJ*?nZ-z ztr!jW(w4@f9}kG3m!K`@Zyjb1G%%ts1{IqGQ06Y%@0s-8ZGGfT=_?U|GP|w`eN(Xr<1e&E*ILtL}-Mgm}Qp!OIVF<83}C} z+GxAh3R}dekmtC>(&sm({129bSXnoN|T@N*W56rhh%dE4`IG2BHe_s-4IT9zVQ zu5BcR;nzikwpb96Z17DSs{-xe4MbD%UzfXi(t3mMR;y(%Hs zzOHh$aLM*%%?|a3I3J9h_QRlojJMi_P4Mz)Tutmd)9ak6u+-p+snaAXH{&A*C$TOg zoKBo9uHPfum3UmpQqqq?KZL^Eh8_9TDb~KeGj)g>IWMslu=x4{5r2h6Y7Z?#C9wJ{ zXJF=;D2}!JhuUo~L9Fr2j_0ZHmdgQ{3C)-p;E)qSzI#M+R9hG(D~GHIThJ~Z7c&-j ztAuupgL$0`qDKfv7kN@_E=&s7Xm&xj4Z;c}c~TuV)j9s}0uw2&73?R~t%sW=Dfn}* zndIVu6uU}P0MqP?crwY;gm>}1`VxIFY-Nb84JYqOh(^HN7?lqQQ1UOHriq088cIy; z=Z!-yMz{-(H!TUyg#>Hz6N7RxxMH#(#X5Va`FK??vEqZ{tl2^~r5E2GsjM&1Gx#Ts zcSI=p>h9R10bczia^xX>#~nM#)TAfTn`tiqB~jT@Ug6RDb?)iwx1J`bUJc2P z0eQyvrV|%J08opcomX=cf{v#us}=vCVyhu?LFH5$KqOds-pBH`o@$uyogoCug_>y6 z-x?ab_;b@_3zCW7Q;E28wB1El-eZ4rB&ixQipt_eSwAU+XI^nOF(Heghw9|Ug0SqM zgs`C{g<=6U?1W-Qf6MsG@JKUiEAUs;7$LKxaH_W}!|X0=(mwQjO#DgHC*vB49WEa- z_`2@%e)Y81(1JJ+-j%b)nJOUv!oOgqc>Oi*Hy7&a6uY!Zk3=&t31tz?Mz4SyW`55h zeSHkU1Ixzf&h{5~bF|R6H3m7h*GT~XG)h!m;-Dr#%=~6Z8Gt%wsaTr)#lvm?yVzAy zeO_>hj*^r$y_2pd*^9%Qhw=KDrG`_e8d$!)Z3xH8X&i4Z^>W0cbUT;# z(5IyT8Pg>FC-b^HUjprX-JqqgN3yA`g2vDBNs3WWnFMuo{0W`(7q!<(!yV!$+jZB6 zSywKpEFMzPP?F^rbrFsj>m_c=D3`yCJbVl$QsgY zltI|$lqcSm;I3$f(`(Ms56;)9TSmb4a>=0c6UDyJ;%?s;ZFEVZ6Fx+LAtYnzFZDiA zL)g)e)IT9J`gR^SlvpvP3#DoCtS&nB?g8Jg%{air>1_o4lzbqWD{;Oit&b*;2A%Y8W^k1v zS=l5LuK?H2%xN@wZtE`DetBi1^>IIs;qDoDMbkFp`6`*1TqlkwH@vNDshY)nGnNR> zmKoOr{E3R7&_GnPmF`_SxE+Kf_lhd7jBpj(O5(b$Gjctv?LBxvX$LftWW6E(l2&5; zJpUJRzHi9SWY@L8$yjrDx;EMd65VO3quJ6ZvG{5VG&$gaUIT78OVS-km`Hz@_b7b*Gut4fm zt-1nH5vPnduopF;il$%!;}AU98&i8Q30bCA+@Qq$H#O@S5Tct-f?FmZDyXBGIhFV_ z0e3`w;Lv26oum#)$|@zvBZLObj~f{oUeiaS-w=Gd7Uc=F?v+$k40b?R?@G9NeNOip z#+i@6_NuMo(gmIFgSXvAv@V<*i-oK!??y6urf-)Gxm<$-lvD-PzO{KTdb;SNfg-)Z zWJE@zMbcq`oCaJYk7v|{RLf~0I!<}(fe_MqvFpnO#b7PW^`ZKYOb$=ny!gaHLyFi5 zddv_ntEW2FZ`ZDRA(J3+{kn$+2ga+(8!szh4uq`my?>h7C08-8*%Pc#4#d=K(~K50 z{6tU|#xo*>6*vKar;RSjzz%6fALXQ{8Fp(5Iw}{MeXh}-^GB9^7)c?uK`|E9 zQN~>Tre%R8!9te0)c9zAVWWD0=vUekOc$gaDDUrO$H}w&Gd)%kLaR^x#&_qxxg&78 zozduwq8xg~O&VIPc9uXgQuPjXBmniYn*(@E`V%dxq_WX1^8>#pPn(LU#rAHtW@Ik6 z=ImJHfaB8~R*wvEaw7ZY!TvK4`E(s~07T3qxt`O9h2B`-%s2f12}eknW^jDs0|L^? z1pyKR0s^wJG@`dNbz!Arpm%Vg6;k@YQC(0mE*3tGuM`dUKK_K7*?_}OeKw|p&KG-~D7y0|#@_&yw{~#bn0{v$) zm3UeouNSUeXia|k-%7P6s@&1x`I4*jf1GpNhTv>Dp!VEq`j8g|ba%$=UOh9t-M&Kd zrZ;;lS-yAz?c@_5c|VYX2nSdPp61Z8p3_|Zkc@T+(5U@>D=(V6B8@< z4XU7zXVstkxzNoNg6LqONV#=vKwiEww?uF06}qotT;IM;>LX+C9Mds)LITi)G=D^v z?pQzJvy)jndvC}fvlV_tl2jmr(nWYE_%Y-; zt=W{R7wQC7Nr@1NX-mf*r}&&~C(@yx7*XBZc`C4`A-xa!N`zup*07qTOorn=FL&)D z8J>S}dowW7&dS)jk1G35o6map_t%;fv-zyTxn*_fX70BW`6gQ!p>DjOWtMZ=vm7?G z+wZlXbm(MBmuIuMJKqhiwm&d$R}mI*2Xu@D}hg6p=$;auBQ64 ziwoP{ReW3SqtKd2MY(}YNunfRCQ3Cl-t(j7s~P?1b>Ki)-nE8A1Sd6>|1V=6`8-vpYaQx ziCdsT{vhqwKM1*>`!crNqtv$LJx&e=#EB8?1r$cF*AV6PMA7?Ly8Y`zFxkhmo4V}`jKy4MIRck0-l6j^^M11l3}>?A>zy%M0#3xeZhfbR&FnjG}`qc)ui zWea2MY2Tok$m+ev#|466%zR@(Hpk698f>-P`Pv;fwa76s$6=^%I8kEv&+ek{ol-zM zCm9g$rN+G#am~-w=ww9Kvo37QqL0Sz6T`&?DokU9;vaoS>R1i_%A=lkHqf>;lGA&b zqs3#nhe@~}Ph=3fWVZNc0d%07@X_jCOp+H=B^v<3a3H~+d1eW(@SBfFR1@!qRvEVq zW=mG_E6HF?N?AU6)#g>F>~ep4~7H_ z+p}A&x33Vbg{X&F|yPf(W)C(*w0Mo;@V_<@Js|g2K>_`!&dx{JZy6&36xY2B6 zcf@t>Gtr;fw;lJHoDLf8A|_V)KEP0Dw&ma^h8Rd*k_8ni_znnO_?kojiC1$X#^!{j zV||SNIpba|{WVQ?v#+wSbekt{MCoN2>08NiKV6E_ie^)C>-j53IiyBQTKfwF*v=-< zT=ibz0*yupoJ$>)xPD?xX!LBOO1N~;3okHkvoF8l?e0WU40IVt6h3WcLo#}~Q|@o6 z=Y&h1?rQWndkXu>oH?5#Hu^(dv%fn|vj|63z!JkWVieSyhG5f5Zt(3}eoWs(!kz=G zO~`i+N@&~(wTx3q%!l0!eR9yIIBX10oqqX8g4i`cy+F1XV9VROn zK+=Nm+oVw}Np7fzwl3ibuPBj>HVwNL7t)s*Nb#IwFzE_h{=|8Vt&yt^zTpipIcL*s zyWPXEFqQMP;d1R->{!N_>KYLne(Yar;o&=WhZ)u=Gv-IBOm+pkDLpqWGD$26ed^Y; zqE|v~fVK48R*c1hKM2oj#u#F22IFCfrpC%V&iKZNNccCI6`z;MN}L;&XR6gpuW6LU zWy=RQ(aJqZe;;U|#=$&@GsT2*|Z^F{(#8+o>*P9B* zCL{pHP<(83+Icow74yQF<%RK>E0u@!efNF~52%jIedo8Fwk4eam>F=qVV=ZSFTjU4 z=QF`0#XYV3=j%vJ8y5HrOIhya?n{4J^hD%JfXB~jjPa)Z!{U~aer1F2QlLS*j_`3! z;)4WIV!~h`mcOyD>tK=;j5m8`R^h87k|pS;(eq*xUI`fIQ}@;W`TkrE2hU!5L?;#p zRn7zWlu`b2m!Y2|?@OOP#H5=QzgRvVnKsR8g41ud|HZ0YSEJmCIb-vy^6X;HNk3|h z{s`CPydj}S{LL?nbAKp@+q_3>VEHnIGQo(!2@#n#V1)qyynv_3lizd8Yi1?TL$QWS zTrRobwjo<4PLq8DlR!W4(xMMD%y`Z4*?$3@#0!iMK`1sOoW)fWyb{n$=pos<0n%g^ zrs}&88?X0)3XvJ%Xy1YB7lSe$! zku-!gX}+5T++6ZZLtsog9_`0<=|NP@F9xDMHpjNv1ojDH{_ZX#JKg(a&)H_*6fSD% zcHiS=M3W2In16^PnWR+AJA7WCpPIEnD%+UZYj47TC0_;8Sk>tQCYRdg3sSxbE+DCP z2g?dO&ve$P`ia}f{ms3qf+TAdDCf~G7is;-a3S+Td==csP^2owVhKByN+hxogaOU2 z+nsjn%9J}k`Vjy3Uc7^0fj8ZPO(M&Tim;#e1l6`DrEWmzj0n0fCB#s@Ru- zhegcL6cwv9zMjLfX{s^PgU$szTH2;4XYl&aBj?lh61u0r1^mxj)p~@82`2Onl!pUT z+$v0?+h9s{%us_6zbgDHvJKAkHAX(pP{uk|A#*?WmV5Oq1z4$@oUY(S?qOm{BG0DZ zHUdT9F%cDvSV63)>91`OV3yUCSFTkN=KyL0*xKx3yF1Ki_jNH>-eok|u_v)CObu%dn@BNN?Qdv( zXeOx_0ruG8{3rjyjv%=`1EmF&@tw6lKAkhKavj^Cbr&~xqwk;hY+@wV`}dED~)X_)j+ zX`P`ZHLMpgBzX+$l+FGU0mXoTs_wq$PuKSBBJVD9d60=L2vB!90pz42>VSsgLm_jx z^O`#rmib^HOBONb@VYm72PaU^Krgo2mXyypZ*qgR3nLz`$@`bIK`CisZE*Li)b05J zdR6>}UOmyBghm$6;vOP_zYkXnAO~V27?AR?7cAjeB|bC+R`QW?TA1duQDy!YXW!76 z2^Xvx+jctE8=D>5wr$%^$7aX2ZQHhOCml?_JF~gl`3q-ps_G&1)HFiiex#YFJS@AO{GpT%8)CKL)G+PToQIz!6HPv2pIR3eyx_`jOK>bcJqhC0F)_? zn8B;Jg50N;xRE{5Yf+k9?vOpQS9`eyeGZeSSbH7|#7<3TuCeP~J#w{t*xCsBxZD$n zj74BDzl2j*MzZ{dBDRB2(MmYh;dj-IUoW7_yGLo%Mi=P;7BRzOBb9-v%{VR(uFt2o zau6E#HhL5KE>b}_!YMk7fMW*R+deQ!Z+=r9!e0!LY`C!{ucWnjsB$MWU3fNyYbK5Q zqJyTYKE9}3vq;SsckWu#^Cf#FpiY0s%d#9>3~fppfD3%w zeKA>hn&qL{<0-hctSqO+J)M%dJF`$QOte5_sQtG;9<=GEujCcT z2QGLfe-if2xw=sT1)vmTqX6P4u^t_L z998aZCIQ;&tucdDjdhzmyz4OuY~D3#a!zkqJT}h5y2Ib}rO2&OLae0Se(JLG-h9y# zvjDE)kQ#%ktBiX-27Aa?sIfJ=GhBYg)P3H9z2m6y5J?D_)ZW1}GJP(#;-26rD~@B0 zpH%A|;y*{P5fMSC`mh%DeXssW&a?ErGZ<4cN`BP@oavNxUM;FmO(4KY-X8=$<`ZM7 zE)kgqTiN?pmbM^2{qz?_uj>z*e}Z{Lh}&ppWHK5fx>LvC)StRdD`v9vAY}KsR#L$c z^MX8B5gwW~9H%Cie5O!X`Cdhrt{`$>0LI^B(=0iqxLD2&sEWxXD`N$b9f$l*$=Z|1 z6n=wIU#)}0+weHp_BJ$r5_;_vB)Mo7^J-R|O69RHXQ`<8NCX$_0`EJk>|0J?u5QT>UO z@dc<#U=uwFOgt8sW*ag81jMh1sEQWN zeKsx8vQ-Uyw5XfZoipkuyTlTpM;RJ){N>Pmqs{K6A-ayZfK0m>l1y8Qbm>1zu$Lxd zBPBsvFN1T~@PPDPW3Sw*Ld#r$4U~>5K+yJY*(=s?@Gac$WL`J}t|$YXP6&=2nZ7KJ zHMBP4W6tbn4YiF#J1q-%1CXS}*u1|#8z^@CzB7$p{RoApEF0C3(1(B~WMG$UXGB%+ z_^f0h$Ns2_I(xHMYeB4)F+lJyL^JLOs-c5&O-~$9Uqz)fIIeuY>5VKJp80&=4&6MQ z%4l-nRyT!Qzxs~L2(*_qU_+5@2D=E&Tl%&a^YN%)E_Sw|7x?4Q;}Rv?{f25SWQROS z&6q1mN$V z`z0JKcth+DfM!qL$m&l7u2&fl^5p*qOzuS}cL7CP(XoJG4w$_po4uSYzhrWE>YRwk zMEr?MwDQ<2?L?s8&Tka4h@20LnP(HVFNG<@`M2ddn`=~>iZ=9zD_=*uiIoBIccrC^ zH0or^fR_s^sw734-}|pXuKF9LT?52|v@J%9#5ssad5k;+yu8pJgyYe{Ty%{go}>=8 zNZNWk>@{}Wx>|9&_-*1Y5l>toPIEHldHxfoHrht%g%&=pVX5M;bFIc^Z1fTW`VkYK z3Dx}lDzAsq#$cHQ_qgzX;ItKCw18Rl+%>7(x(PckRI}9$P>y$yJFa{;BVEyMeJVL4Trb!ABZ&?+utBr>C@)Pw7xTy~*MFh`#mh3}x^ zeHsK{A|El%Xy>>Nq=5R0WTWI}>!N{Qg1U>;Wz-jnf?YEA0EiC$w`x;z}HiVK30J z%w)){=c{4yK}H3-wAiEw{1j`XEyYnan~Gs>t^5ZalJnHHH*&oO!8 zL)X_J1g}cU2sE|ym}!TWi;4z0l8}EJm4{B;fSh1pDb~tgcp!WBiVrd!Z_e9M`M1yN z`70Tw`$xR(pxggB9_J5UTZw-#9wzw-&r?aOKH^Sk{B%ZSuqHfc))BBCf{F-XfwjPx zZ|7g123#2|;k1l)>lo{C3L5_37ms{o6E;ki|JgLE=V>*F?s|@% zqg5z{mMb*|EV6tw0vd@-7m<5qv?u(hQ33@KzlWR9(sjr=Grj`@3;h;d(?k||1s1#h zoT_^_y;|Ni@pfzG1XgRZGBdC?nC+2OxK^&$S&o$BaRMDSzT&2m&CCzK;M8J+1s1-%8A>J5gPUIk`mKWw+S+E4Vu?(vP52e9t@D#j+ zsw!vvZS6l&UaO+KYFnSIx@4$Iq7m&}ienKTNsJK>=|Ad)7G3{peYdv%K%(AAkRWE1 zyttdRs2eg|IbSb1K}}oHXpJSS*Yw^P$=9WvN<>*Td!**Z{-X3%SoqE)65iunvziKB zrcoQ4Vhy4_q;U7~8=7&~5KxTXI9Bn@P9?I%#izW9Y1tQZlH*Ts)JzUy8{sR-VkoyO z#qn+DS#zyVh|Xo?tC;w&!g>(aIeY*2;Q*~dQOB&wn>PpZlWmg3f_$^Ao8NC?>I<49 zTJr9j(b5QpCvCBOnfMz@L5l2LOCSWK!FwvR*2I5~L5>a-&qAtdRpr)XFZ`r#55tnn zIgSMys_w}K7=(%OFjhmZR4txRO@6c)RpF);YADU8rgK;Nb5owC81951+bc}l^(!sn zhCc!gQZ$kP2b!p<9R~aGC0y;5u!b8F?3h%4K(|vKSTNT$kI-T4v#hHCgoH0}Z7Qt2 z0Lka!LBeMAtG{Z@i*}5g2~$&jigbVu+F-T1A>=-krZjF0g*oH2;bxzHmJ1~92VIa} zp`O(02iri4=y;1riOuAD*?0C9O&WIAhmO*V1UGYku$rBZK=hv1siIk`bEO6Kjm zoKv>2r^)1$<_PQ|$LMUXumA2t380;RvPSKJ>yRpP065|M%a;`fDB@tk^WCSG3p5H3 zfDdWgL4H}NJb24-=}6PLQbrUBNk5qTpkEywZSz+!-Ez#{>F&iEeMsEE^uQB-DVT?E zF7%)`7{4@ok6}RotC8nP6V1{MbO7+Mtkf!tO?RB9w|K;WN+|xee%V~~Rc0bJAkGI3%MY-dM5Pa%yBd6wY>(vILo{_63WSgEv zE0J&8_4ygpQEhTMowFp3={LU_NMakA`wsXB8;%E^lHO6LKx43>4hVrNBsbKc_!+%l zc)D}$C8gL`M^UpyZXTlvVh7>2wbmeWNlKFU+U5^b9xdvlE4&wPwIgsA^Fqa|q%*1o zXG}m||33FPBRvKxyzE^jT_^b^10^x?W6?f$e@e4c@xK=#ki6bd zC;n0FOkW_ck+e*;*%@9SL{x0=GJocF`1l>A)VLI6x@B`2qO^GPb}jjLn$(SF$? z`RS48{ToR*d7yyp!SJoBGOsKD=r=G-X2qj*)EJn|k#ADEALW!Z;Oj}L(_OZN)0jHRvq+pkG-Q#{)w zX5K{Z?a6a&1v=Usq5@m^7zsYl#{d3G43D8s$Xa`?rrm4UJ>=c{(c*p1oZ2Jn{cYV( zyku9f@8SqsH5_4I$P}vqg-S@r^LDA{`>>{DMon^Zs`quoF6JXI5xhWJO){8p@T*w+ zGYM)5&0eFuu5gJ)8++Q{+uc8yCTLipB8ePGy%pACZ#Q!Xb_+P+L%qwJxla&dJU-9w zMmkYTuT>ptAb|a?JJAshhQTMw^vnRJt`+_N!PWBUQ8(F~Zcqw0CXYr!spU7@NH3oV z@7E7Q|1Q)TNPG3?UZ)cf8N7QH7UgWg8Z4B7=5>JM{eBfMh`N}{bcNO|$%ZoJK8T+d z6HC9&GBSNWnN{OPM`Yy=1)@&`8{{yxmUbz!aIGSF+8s} zeSxD?qfbMdf|ICkg^5^W2!rE9BFKvyMu8N%U2{2QGcjeR37!y|caT1hV=m#li@09j z7YLdLg7L>aQ?_ORmR@B`~hlZWEPPKrv zW;NxnWOA1kHZPlHe&s;>rTKn6VUPLp&y)b=Xf@ zRV#c%txV`xW1>6WN7`7$1$51by%}j3#5+>c*;_*6!!n9Rlf>uMN;t#MBdqMf96ag? z*Gp}T#RXUPuhMJ+R+JDf;Lqj80FAaVOh11GuzpBfC?3 zn?E7!Y5#LBmycDgHp1)SxUn6YxO%@7U}wfxq4k5NNrA&dWo_GT&tjEUsC=>H6hp-q zYUar{U7OA29D9=bOnB4v-g*)MBcz5UzSlW&dOiJ7LzjEG!a|P9i`h7NsF0>MT_V3R z1|euJ$z2kT7>oqCs)3La~uF~%4Hc!I{uRjc$%^DNz#m=|w1$`s0nketjGxYsUqO4Je!Z9P4*LzK z`=GW1{o0x#sjp%1B7?-OY{^8ndlGXA+mVXMXW1OdsCfiH%Pc60Kk#eA+$mkYo`#ye zlv^@)F(4FjARE`^si7&GbynVrj!U3ovn#|}mJ{PBB{Hv&BK)do6@n6E!o+o~@-lwV z*2HFd{3dVWCPrwTJcu^$EAK>36K~^M^6wC9q*W~FO67=KX`C0rr!TFM;C7z7H~i)f zTn+w#1*qWiIMNHOZiPZoC!eazets9q9={f07@%6q{-yGkk8W=(IieBaqSP8Gd1L2y z&CT52is~j$q#4Ex0d}^AogJn8hJ*VOF*ofUlG%K+uLAMpQym~`92VBG{A|eCWD`oN zRU}_=8J-}nTED5^_ThI$Rk``)UEPawlodnFe}Yd;GDWJs zh50fnEE@hk?{1zi^lv6&cVGL27-})Ok}4_(ljnlYQHk6#?Dr99Wo8`I+3(t;0sLIS znb38Y%uYsH?)&m(5}}Hbph{tQnS8dJUNpspTFa(d25}8j1RvUM;)!+=RtyWkyzzHv z2n(C8-tkhr8PDiX&5Xwt9ySl-Muy1H>P=JI1 z_BCZ!5SVI?d|_YZrX{b`Fd>CN0MIY6*IPCsS}(T;37Mc>olu>JhU|(w$8IL>PX3bQw< zgwLqsz?5w>MZk6FXog*0=n#iN{?uMH>#;6Af2Z-eQj&fyx#fp07ZZqfcyCaNLZJ_2 zU9eQxu0hlORh4E<%0gH^eaU9(E6Qn48P`J{o;E>L@~gn=AOpUA?!FQk^z1pkS zW2S>FlQuJ|E9D4X2Z3fSR! zyR@Z#!$e^=KUYNHLRHhhdvI`Ez&(A>Gmj&-65FAM3C|2GDm?0j5Cko({Y7Z#K=S2z z_3ZEm5pTh;Kc=xD^X}>{Nq!ljy}4lTj{|>CGr%^2n?z~wPt#jR)^_mNK}~s33y3PnS)qu<&)r>qS{x+Q&0(J^mI7^oYei^67c z+2IFa7tZ^zQk?)Km1tU;#dIq}dTHA$Fi>boHN_i!D?~0(G<#C+cDFKz41d=xV-j?hA)q;%rNwoE z_7-li_S(k%_`4Vi=q4#YdegbbGgvROoOc+e?A9C&mE&_NLl@?L2Zq*G38S zf`$KG`GUJvGD}cX3{@TRl{H>5)r_4jBP|n z&IQ!ijN&2)MpVuNn^_8Zlh}{@Q?`b-3?^KD<>kx1BRPbDwVk zd9%+XjMcdIO31J;Vb%eHt36Hs39BR|??R|QK?U)sVbn0*gk!Y6;i+OWiflVLRI6GI zUwFwJwpL3TwASAWcm?Eo7HCBj20;(=bg_2t?V3Q1#_;PP&}+9Z68_f@ZJ}+;y)%A1 z4rOmjjof$9+LU&KD4=tR5jB~<;+|wMR}hdR)A0`@3Qo07pT(SEJ^iYE(3)0gu`dh; zKy1g$r;og@j~_XUkrx&-%hqfkK5i79QE<;JNfm3Y@9|PT0FiRHb3S`h%%gKt3sszf zKCk1M#!&Ll(v>hicCWIeCpo5wCA1DP*Nq=|Nk%AF#-`T4w8IqGA<^G_1?a4N3D&C& z(^@oi2~}gIGP~BZf7q!K26uJ7HwA>p)ueY9uY*ayX_Fu{?3s(a8+@_xjUGb?KQgcB z8Ua@5s=Y>q)T>C`dOb!3@Hj(_QK24Mt!@o;zU#bQG>*Xah5rJa+}t2`hKEgol((!e zQ@UL9>~)6i+csnMeaG6j)BH>&@uG#!m+N`e*{4__uZ?v0LFa}dK_w?4TA|` zs0uIQa&NBuL5}ps9`uwr-8_Jnee7OsNwWl_#nI7GsEPXHE2!Ehnt%IjbeokRV{?}I z5(SaMWp!ev+-Bu(_=p5r`S{U|d+>2+cq!dlzZwfcO&3qG_3Xu}Lpt#QDFi`8Fpul? zt^Jnf$c4{l>#pC#0qoR*8Om^xCd`)!*7tMd_mb-L46y*Do>%`*x-r;UXMTFCJn{Uw z$<%Q{L#^c2F-)(855jXyq-EKj3?dAOYBRCm3QY^PGK2KtU=7-#R>;QA)8D{Ov1FIJ zWu;osXo!31p0!gy_Jl8tvy}fN8E17)Znb1xRqaa!1b+&>Y5=mmTW4YRJ=SL*s zV$*BGfWa6#dzo0v5ZC5ka1H!bMfXv&QI&pAGu@1$u3{-kJzAZE$@&#@(-_0|R+k z$&u$E_Es=FYFRI^b$|?ih~Ks&!d~-Oc{6sFR(tT-rOsW!!tzO>a zyp02AUYiX~wrEoU*U2$6%Yi+SrBVueN&fm}{v-*)fA)JA%OqmJC#l9T=3K^?rU!uwXr6Hp~u=J0x$TR{_K;=xD|4L2kAqFAiSg z&`o-2U*IahimZPrh+>Ts#n1bhVnNRfbtvaQ5*H^qn*x*G@402kOl+Fa z@1evXu9M>&%=Uw7ueJ0UMrCREEc%8v#SM=BLW=mJA*nJbPr2Oynx~f*<%}3UEXm^j z&ky#UEJehA4MsfKgAL5_(|t;XIr<|3T6HmZ<~{M9Y?f93G?rxLsS6cE21ey)j_OAl z^OYi%0`0^WdEifGWd4EaHnG|IhW;L-^P~%1#T5Oe;Lk6~5Vdn+`=r(V4!eAxHE*#3 za_2U7n6AHvAf5}Oo5XHw5j%VHLjxON2el!QDKmlr4E`IeTCu;lR4}4 z*{HKQe3?w=ewAjPKdnHsl}`&u>h87AU_f?4iN%%w<{P}nCPKN4g%uHO}x1ZNJkP&fH#hdYmkxSa7?=aOx>2)q%UAL^7UM% z+2T{wvcr`Ijpq5aa5mKIof7+aCLkyJor=%rM;B_C|k`F9dCiwskp*KD2rdP$r8dV$9D1pe=Qj=o&3w-F$1^gmv2;NZXRFfg) zXiH2hV)nr_=`_H>Nb|>b9>jBPoo!%*0TfClSxa;QHSO?v&S!JGGSf+DZFH^qt(Yz1K66>a^z!=4u%gz-jwAH-z}- zZ(%09n>3FLZ`hwz3uH2tF=A?*?se27nJ5B!PY;1S(h9q%Y4}0*M|~m zmkZ>>_6kiUC*UM+!FZ*%hOGuoK_tSGSJ7A%l04qU0PSsn^xBgAZ<~pso^zpM!~O;r z*eBrMR~{F#Ru!2`@}PNJ^Wk%7{l+U1blL4E&g+`rwyb? zz1(|}7#F%K^drfb(Vx4?&~Vp|)3qq^yXuJ~ZHFv&;$0>StEz)XaDB#CVx+oi$)pGB zf#;Q^_xk-@S-XzQHx_U@aQG_}QtCX)H6YPPx(`O{9(UD5rbB6TD^xjP1i4mN=B7{s zmnNe9$H9;kP!B4SC{;rT1HfT)1XmjUKmuYvCScw@wiyG0#G&rj$!OC$mJaNbNdaDR zKC9(Np`FT5g;v*%h>1h0d~)T3k;sv+5EK#ci6O7mG9X?VD?!7F&V zJVJF?&zD_f>TE6fuAjsM24w|Lr@sLuG2*I(P=cC5)nkd%Q>r+p;la7HFp_tk%3v#1 zK|vhgakIzYQBA|cn?o&%AOj2|H{&>yu5etw}G zIbAG@(6P!+C(9fhQp>=_MkD_6pUN{{tX7zpb5QND7%(?B6pqyhei31GMt>CBd_!!1 zKgjMaudp}YcU;SSxMMsF2MS3+&oWz|1}4qS(P_c<^jmvGs;XmOomp+yB&h;rq>W6w9K1)b0rHmg5u36Sz0(p_C{Y>VGwpz0&XIZ{vFb& zPB~5kYj#iYjq+W3P5+Df14{*-4&c2i^4qIS3!!_%xrs4AfbEEIjc&w|6Tzf$d=bi8 zpZ8yam$XoGv|*D6!;9!8mYNl)rYdcZ*4-2BqOM(bf^YK5KxjL-+U!N{2xkT}07cC% zs$PoF+Ga~idTL=aPg=+_aop6<+BdrL$1BD<_nL>yGS#cv8`K#UeMa6rOnm19(X4yb zI54MA=V^bjV`pEi{{9C)#&&C=X@E$l3(;fI<(FOKSF}q^X$cL|^{+V1>yKGPuCloH zoRs8MaUEvaDeSfO(8|dH6(vH#dBB8Nt%ra+Xic=R+r(p|ajGG%d5U3rF0pOGNtD>T z_Q@l;W-yc`EDCq6u~iWL1j^qt&R-2pd}^P;78%V8?l8t|i5nQj@7kRjvr~{5K`HQt z5BJW~$+*y(L+8|r?{ki;`u~{bSo~F#CovB5}nWuB=@=u^W|ot!2{Ps$`~i7bULU8mYnB zyBON?Q_~v})bU9I(8WCY#L{%24Sdi*SB$5UYM^w}+bhJizpAwtTS+W!>_i4}iq9(- z`v?S=V&yMVihqxuit$8OwuB|K*3PzpfYTZNy+#$gOnF1)ViY*%(w;nPZ0xaRtc3UD z-63*k-PyzFc5H?pR}MJJKA-PJJxPn~@bvWkG9D;YkR*rpCqi8a zH|r2#XD!)?kzXoqJRlF4WYZW=-53*__28>ov72Yg5eo>7ltEpmfcJ>4ukI_vE_A|w_r z-cc-gNRNalIbKvXZ-BKV1E9`$!QmI;tXt$^+s+p`JqlJCZy(8+v^C$j(L4j;c`Pho zOG9>eZLQbE$nz2IC6E~Iwk58IYt?m+NB(-S9p&A#*zW55On7^9gjMXkj=dDEK+X0& zL~=XIZYb;xP}Wvfu|M&98g!>jgfqHsthoUS^`5p%yptK!%*j?w)$V0BBH^;>ynAIC zb8CdNn|(z_q~9mpj|o%rnJ_vM-wcBDJAjTsI}MY~nMii>k}CkU-X62SJ#HlL>KB2a z@QOfgVcBz!ZmXe*iX8$Z+?+{Aeo<3!Cj{0z^g|!*yC-eoGszEH#EZ5wIZoeE#o3oh zHCwdkslZ?v2fyRiTxOx(7N_5$R07+zk15m0p7R!|)7t28&;Lt&rZs7J8AD*9%)~#< zN*|KJCCZ{$*##2Ln#4D9d!e)Zoje@trwh}=O35NX9O)}LD9tQluvQ!A_e+&Xesjr? z1ZJj5nz-cw=RkzuAC+2RA_LvJsb<;`W5*F+!9rJbdI@n@JyL7_FCjgN+zb9C{qu+M zBR@Kb_rp^eQZskOhn1D@$A1+&dRczVp3mrC*QdDMs*fi$JVJ(Wt7E(j!&_hrblu(E zzD{o{8FQyueazi>em-}orE%Emc1B-IxCDElUmwu+CD(^5^yxLPb9GLS=U<^)?;odU zJ#=R|seYnb1Qmw?q3x(f#)IpLGjiu7x-ZA$5OhB)NC%Uqt3$4%8APP3z0R>>>W3`5 z1?J60pYJKB&xrxBYRBN7^Oo7 z3@w2<3N*&Brl+3T5YtU=F78Q=>E`d{z0f4YIOl?koDXI_|8Cp5zo1aa=gdx-h?2Y& z@zOO+lYT@h3yU2JMUppXZmBD3dTf?tT@D0GuyRWb5|oXWCQ< z<7Jj%S!_+b-`L7Ny?pmboIwQ|FGR~n?xk1)llS|qWr&Y$*^)7-^@Db#H_ESQY}7qy zmB^%Ph|aHG<3vxzX>(|d2(z${SS3~M(wwF`!Skyfc2f}w$rj6F3|+$;ki$eSv zV;INxsc>J(1;mL9{|yWh=(|aBwC}|Lw^e7Zd7)L&Kqt`1E{o=kcG{+Mcj>mQfCb~n zrP4Lm{*1_9EUiA^S-KCV1O@%E>NZmcl2KH?X!XT`AfBAhtq#A^-89f_C>ox|Pfl8> zMo#w1*0H>jA~Xl2b9i$bJY^gUa-Y+WY~*)~`QPb;AnB-wW8zg)IqS=*Zd*DUbvNUN zKjgg)_A-35=pU6Gle1OoZ9h}QO~ z`jMstv2B%q^`>+*94Tzd_X4Z20>b6lYf(qEN zoFP{-`LWYN$RtNcErdCT2w^w|NTdTd0y>)x;T{^@) z8+ShSCKTm^gfj`e$=psC#n6r7Z~+iO5XM4E4c*@Ysx{RqYvh@gjfo$AT~6(|{0Bj3 z{DGw6%{1}CNaoHtKNdc|_s6r6AB*!#B`l63yS^SF56;Ki?oQ6<&G*wHwDqe=Ur$M} z(>Y?7un)!x*4oUC2K8VeSLEYK>MIl5S% zoM4Hwdqnn?y(t%Grz?d_*~*VMfwQ}?rIQ@KB%i-)|J-0-eB-{~ATlgDu)Ig_Ezmd^ zBhy8)Hg;C8>@e5B ze|>C48g!9Rb|Aw$7<<>{$(Z00J(-^}wO}43^vJGy%=${Fcs)c;+y+_pJDy(sRER`e z5QS8r>iRCM9$|dE#A0n@fvZ9lI-P-oySi;c$!EByOdx4P`__*#gzpVAs_;^GeR9;Q zBWc9oDstbWxIYr7$zS=>9P{JTl#KSi_m&kYT?q3XFcByyf)AW?TxYefM9TfWocvq> z<2pdxM)(Fkc;E2jQx9gZ%G4XZLZ4KRltA6A6cy-KxKzSW0Tc3rtrJDVB6luQ#Qwwn z?r)qLXtznPhWe9A4YB;0nIptj%LhWE!N7LzQGM71dDI;ttGotHRN61QnhZ7zuIbzW z{BLj{IP$91l<7hk$m?Lfg6Ih(-?4+0R*2`88UTnyh+$JZCfHp#m)dpi0M zLmXFT0QV{NcFM^k0<9GujTP8zxAox*O<$DFZ2|4P-#)EIhbsiD@WYRN)2js_*AavG zy%HD%AKgHN8V2r}Lv5nE-=X=wmQp!vD`+9?RWmqN;9CtSC*QH{7O2Qsv6cM(dNuE} z@QG;zZinBJr!)+c-2}1On6dzqRLWVYjGULPRif3AmY$&kvPVB;BAtSBZW z(P5C0D%sUKm$6t~B>Y7bH`rq5chRqHF}7V_5`<}FDaXWoDTCA%!CO=MiLg|nq));| z?Q1#yHj*?q`s8F3-GLFrE`hHias@$2{zcdGrL*qKJY3#L5iWngYJ3G#lk0Q9ca#-H zJ+=LH4y=*ED)xKBnOd5OyYOT*z08}28QARF#1l3A8~b!jE*EQQC1KlxCTEz1IXfVN ze_kW{A=Xe_dbp=8og?7OP{uU)EN`y)$!8Y-R?YG zjciz!1C<2&Tp(Rq_UAsTPpZ&1hlrIpxRNvRIRdCTXJA%DB~Ii$2(eRRMBirv`|4%1sOK| zf}}96*C2dwgE=mXKc8}(Mc9h8Vz*&4lJWh)Ocskf9|TOwzh2|L+wQ?!FcruVIvz`l(9hkf5Fl%u|nd%xqRRBFKsC|=87)R3T#R-<}q#D4eOk#udMK3Yy{(&-%lh|6wrGI1vT^G(>hIr0vfTO+nKmZD= z-l$;tIeWf+H;$?+c}AMk``dEs>t{ViU^h4ha#-%=QSQVq{;j%r&7rFvGKT|%hob+c z=u5SG6G^q>!5b4;A#_Hb{LAGiBz0tZBSo1BR1}4>vsxg6D$Y)`ASb2li{iLiT{+;X zqz}Q}#RTxyd*K3plf`p8^Ri1;%Gt7Dzy=T!YMfZah+1^(g6D-?a4*EI##^Dj(jb%o zmu%+Wa!4yomXW=ILyP>4l0`hZb6~yixL3*LR9Z(pVo7yafpE@fuG1du3?05FS611O zV0CKUJ6mOacdP2q_00~Psm?RMU{G|Jo656v=ll(KHdw$Xqg|9(N+7J+GsECDC;~jp zx^R5a${<`U?hjH6CNz~EpK{sg&tk^t+Gdy)EtMnJ*4*y7XUnV*N&Agf0zZjipee#o z?X)+8IfCzgms$b!wWwO%camzOUmgwA{WRt40N5h=$J8lr5e2>$uDe3d8iAI|mTOgls8opI24l5|cDqefgNnW8Q zj#d0#WVUVQAqxk0<4j{eQHp_ex+dcRfTUe3e?gEzY?2yRthPkmQ!_V^->+0~x;vGy zOh*Q*-p1v+2Ldcna3W-rz*V-3il>Rf9zxi9PkZ7v2d|>yJCp=l(VVi$$QoTYdXwFJ zBuWCu=SDS0>fshLNTs-|gFPr(yZSd$6<>jFX}KGL{OKy-a!_S4)la0u$m9(}Ju-$R zLfd$?Bx{p6>)Q~nftfK*=f?Nm#QDw0TYC1gh()f?NF@Ttx)!4^*0ZT(4Nfqw$i=(U zCceGHO6jWYW;bcrbQDR}VcBefG1|;xm+V`Dc|z>AoKm^Gq~~k{u5fYi7o1SM6p{-g z_x@HpnC=r;Nh3ORnU77@FV0THReUB3U?yIPU;+93EQPgkH)Ob2O|Ty! zrL)Mh9EeiNMAasG3zJiNP*RsR6q>Wb*;}r0wlWYbZs{Qdo;{Kew1+N+h39tc0Da)E zJ)~Ay-v*E&U&xeHC4VwiRfG&Pt}{>6Mr#y@MjC2cYtMtWzu}KMfkYd^oLr#?4i5$r zvcYYWNY(toXmsh060=vRLRlHxX`02k<=5jGz`Upk&4S8job&{H(k@6sjO>~Vrx+OA z?2_iSJwtCW5mK_c(`-i{e_`q0JV|ttxWBBX8&n>ZyxK2~5}DK>YSNa475o(?=$ytR zNq3`nys6}l+TDK77Q1R(uj}`KI}XHnW&KZ}Vv2j_Kv^1*xvnnRhc_^^i-okPn+(vE zd*qMEY>N@m;-BjnkkgxUw*4#5(VuDMr;&Xb@tSdO>-d6*aXbf34 zM%pZ>2G!Y%Y7MDM_mAm=vS~X0-vlX)`YwD z-_G7k;MU7Ip^HPZNFQpx${p46lD!NJEHeg^p)jwzFyc&uMx%Yr7p%`<GoVM8MI| z(qHC^nWMB3AS&CO+EaSHD&MXiB5piMYM9r@q`cxhMF|BfPo)fosM89laqzIQn<&h~xr+jx*q#x1(Kgk3*&ynpu;?s4?Z2K&!y{)yP< z!eng~Sml~t<47XZKl@eig3FCOQA~Kb&rE?X0jZ97z+6A7n zWXtxMFLq{1+GFzqno`kd|L{vUvkt-NBdp>YYFQv@U{wHf2Q%PabLtI&sSS6;bS*Xz z324ksT`eP~GCu5YRJ0n(DXVTGGsxa!7FO!OyaQrLSZ(Z3tglsk(aVJIVWj*?i3m}#_g zUz5=t!!TPrJ56cTc@{QxL<~+4>)fXPsrI9x#$_#1{=y@! z5<^{a#l0fHT(P17@>a^%A_^-PHQAI%PnA+QrkxmBZLAEMn9t&Yn?itT!+;j$V~7e& zpip|=O-Pwd70cak*Z)It4?H-mLZMW?ntd&D=CA;N8JRhz{iKDkZo8SRm1qk6qc|h7 z^fQ47gMuh&6cgJ$-5To};!s)6=XQSvjidNeuo?p{F3#h!DJ3lsO7QA3sc8`vOj6CR z0w8RK>SzH2`S=VJc18=9*x1DQT2Y;Qp}mohgD6v8frT z!owPKS9WsZ8c4@xcjb-go@cs{OQbvvs<4y>jCuWT`>qhT%28r3q>-?tY1r{az)3X) zT%t(JQ#Hz4B=aWk`-6<3-&Ka^fWlJEh*f5L$XB)PDIJ+Q2UduI1CEv!HY^~CLlH+u z?wNgMMiY^mLz!Szdo3D*xn%^kNi^dIE?zCDtIEv_Dx{2sQdQ;aN2tn+nRJm#6Fe!O zY}v?Q9&awe;ZZJAXCp#k-dlirO%5E1?jDJStweiL!9Gcmnw5l#6&XDp!B!;{RMFYf zz-S?9@D?1!rh5zM0BU*~d~&Wn+qDlwoEHGr0-E?goSoB_Ai$PH%eHOXwr$%sx@_Ba zmu=g&ZQHKCb?0s7an{OjIGGtIVuvq;KGs*zqfkH1`v(I55CrRvXURs*4{h8bWBVeJWW8kr zHNBilpT-f`72t>u2}}eE;EWx0JtJeTClRm?m{jVr1R6q=`J!>6XToi03Xe{Ex!HYO zwPL;P%*x@eXzHC`=KpA-C)$2^siBfHsvMPy&w!)myBW>3r2j*n8srF7KKT6kb;_hz zuRAU`0g$b_fVf@VVd6zhzdbfN@N69OrLxoV{h+M<(1RrCNvHN^G7P4#dU)~>^Nxn8 z<2IH0xR5z;++U1RIlj#Jur1P~Z-~yt(om$rmSXtZ5{9caP3y1pl1Hn;4* z3iPW3Y=MdT<%B45t5x>1Nvs6i(ac4uLQ|OU<=iY5LQBEId4K^Wc6RXlUo(cVN?9<7S1wWqzaoLfvTK9F)@(-B8|P0O;jRh z`mh*eZBt2ESAiDZG^w+t_0rh+&iMI+ZM2NLRLp@I*$HBGSL!8iF8LT}QqkJlpUnrb zDlSKO7jsndP4V>Xp9B9a&@{YI!a$^8F#{1UZ#5JyiD^5N^Xn{Xal?j(Vr@ z2fnTJ>I?xXi8dD|!F8a$HjEc`YWdIQpc!a?r`&W>J0%ww5^YI3J?PoZG;%z#~^ff#Y1?TNF7B{*-2z= z4U8`+GFMeMxiH|(uXQsv-&W_vD@G!rj3k-)ZZQ~n(6k2=d|GFLP+CmFBOW8W7E{_Q zIkAT8JR+X$pX;SJ5fTPsYkUKw(Obo<;t!p33a(7_Ap z-~TzNgM_|H&qa_ja<$x|T?%x!vKQ*b4K^{iX+li*2cf;R37P+xn)DL zC-L=&xD6;URcm{NcX8slgBt4wt@h%z7(Q?qb19aHc>{be!ueER4}<&DnpA+QN;g!H)n>_P#&{ zVd`|?Pn^wpESS$7hdmMl!gG+H43~?IUjxcG`GQyV`4LiA>P*zu*p+OzgWgo2~wJ3LoRiNj-Jpn6O^ayBcxEbr5Htm=(xSJ3xMot3Rvo_ta zM(=CBAYrhuKZs#d4|}N~Of4?}$)buKQBre!q0ma`VvNp1DCg7YtTP5o!VfYiWh+#qUZK6YNfI9?FX*szWmXY6zK`MUysA)aJX z4Zs!U>4F+_Y{T-i1&C5>L=~gmHtH7T7@Fc|lr6lK6H1WIf(8lj8N=fU8(CXAUK+xb z=7MeJu>0;Zv?53-P=x)buK2Xn9d|n2+#TAFG^Gw(h|oeGfp<_He7)^*b~WVihJ1Fu z0sK{rkh6dQ2f@J_cTxm-Zy@oGlqj=BJoS)UrFGC4GIeHJI#veTaRY58jb*o0``K=@ zewzvp&K&M_pd3vx^BXM!P2LPceTf02G0ZQ3sh$R3na<=dQ0bizx)}Lv0@aS8fL8bR zqX8QtSkXiY_`Uamg!fz0fxNg~;k*E-o&z&Mc$Y|pXwh04^;&hs1S%!c8I&sZX2;DM z*4{^vKu73C*=wA#6-R0cH&_^3NEln065)WNz>!{nkt3e$Rt4r(hEWF$VzL;lhD*U; zt%p_vARd2YV^kxRo+*k&E(mmEBk9-rwE7Ot<6J+YY{g#+=e<6YA{#;|9iau*LWLN> z=3w%#@$;YiY}ml3ZqWbQ(|8&o>=1MbzI6+`Bcn57mGPg`(9sF=7~2{gN;_x2Z{69%YN)o0Bi z5CXVIaI(yD(l#$zo;N@r45MO5ENjcbvwGstqHC0m5Q)v}eJm6)WamVFox6DInDMUf zUdNX;)e_yp<_|&*aAm4EAA@Ksm))>+5AcrxYG=Q zoydWmPTHi`a?2_anlsc4ac*Sj)P}OxsYXHE3KdKFYl##q0r0j8)A<`U1)29FFc)k> z+w6i(aPstoQ=Q+}ld9Slv@PC>{pDbD7d0(B&)y2OR46#6?D-#*Fl%LSinH+)%b@x30;TAZPbPNbp?C)tcm|B)nlcI5nB-xf5_A4p?QoASL(%mWI{%R zZ4j^9+Rdo?h>?zTtsz?V0hlMkc+u6Z!c3e#v!>?FhS60YLdYvLgbKKT%)Eh}_p}JQ z*t7xE?9)*;^43i(_Xf?^shc#$7sCe44_t}#g4_a20p^nBl6*;nV= zW!(Sx5c($yrNPN&NlwNX^+A)|PA-G^t}I|vX1%md7{m4vWBeSR?PWZR!CaO_C=4Rc zHj?MgdJ+{ec#h<0?v}VT%mhH51K>&YYI7b&g@ew5JdNVx7YjL<9EOzG=qHgxKm6Qb z%H+-J&WagOWkY3&Q<4WDGru7nMmvm({JXJCma#0qW}dG~CI|!4-bMF#y7PyRCIB+h zVqqk_3cz!Yk`72rhAmysYfQ3mh!fG(S&B;{I1;(hZR?zr3I7N_)2)VWjZ~8kZUGKU zHEf!xpm+A1cAlhEWgTX9+~&#kP~@*u3RY(n7@?S6QV~0e9yzY*gT;WDeAdh)3$VNv z=90cOfqkV8PLE1PR=^ZR0p8mHFl<`;%-~s*7>%^AfC&D#W0tR*Dddw%ny0R}j4h*W z^Sw@xEy!_i?*q{q%d4FjCLN z{KU*5VmuUizuQEEs`q%Hcs-=nExG1^B86iQ6^g{ASdpe>sc$2X6 zZU44CC`ciBwhFVl(yho55V=8VMXg_oVr(YAU7+iMBud`?;B9zxx8W*N%{(iS1ZS2#I26f3e2O_#Dl{c4>DE8QLWm^?D(A()ln|`^{5i`^w3o zunl-8Al~^aCHr)u++A7G&FfUURbK&jhH0@`oTlcxfq>yPo+3sRC z)_?f@fr}vK`1?w4AViVh9n3O7?TV^GxeN$$K4lN-6(OH5t~HM~yyZs?9cwTxah27L z6a6}_vlO?z^#Qvr9`?}kQsJe3J09gDq9BF}Pta15y zm%k(6U-KW<#c<;~@=$vXJT;pj=5LS&ArmcwQvZS8i!?~i9Srx^5p$xj`)P#9R5>@&{qJBbh-mV_LLy)U}v%$*|&`H?*+%sS;& zkgBzw>oDc`Te2=Z5`fLNDxDRdQ>-eMl{U{|BGSwhBKBkAYDtRdmMWHSR}L_k;|?dq zl%9rM!oW2T6vW0Zv9*~vSeiSQ-$MIPoB(g4lopTOSB44ouJCC+TuyP1r;7f%}ue-6O`n+A9qwXKu* zs`3;~phmU?VWca*;=3a&XTrF?T#o|L`8djSONdpy7Q%F9GG}=?Ki;PB>7PrV(FjRC z5wk`4V}qod2^n$s78)ouYUSQObfC~6A-9d_Ss5aXca^XTV$hi6WL7jIq3a{gW)xf& z!FDsR*FS@$Lkuh&;){WC!3u-PZ}DpQz#4JIm{SktC&q7#^hyDS=lPD=`d|=BJ}Uk6 z$aEL3xh;5x3=biV189xHtkbIl$XC&uX;1{wo1B#%5L*c_lxC@ZtD~2f2oW4c+orF~ zr`>THBi6sJk(QK{#vl~%XM3cl8i5^O)2*j!y5Iv%Qp;^8A)&J~y(`SAm5^H`Z`s3S zdl`irn1lK*3IKJj)P5~G6#r7?ry_Gx9mIJ zkUj`dE6XiUtxuduqc)*9Nt$%p|IU~@Wd-W3sq9K7?^E&A6fI6GjPLn^EI9zSP;1NJ zYS@qt@gI()_l!wv^0v6AswcK^l~vWZ(lk}T%{+ZLn=c6I?b%2epie1Cd-XeIzYAa! z6z%+_63YZ-3YpDJ-?pkl+kT+ITTKT7C1d-(Uj@aXHBMYbL!~&y@(bf5;D%SxQdxnY z>RQ#lmWwCkOx(W9;hU09izygkySQ_8v~>D5L$1XSF2=0U;L0)zErAniwfiMbN|rC1 zJ;O#GG*nU#g2`~jW??um?k(UuFwV#G0`jBssbRE1+l?{22qdc^;@=R?T!+#(#4R+U z?t~{4+cscjcT9^nqYd6vuVV?UOT`TVL<3?RCSd?f0o;u}%H4f67sjW~KxYC5N&{vI zlhNTxok<%Gi5is1$@VMnl5CD0O8ch>#1C<%EE-J)uzyZXFv5-o$LN6Ch5P;WNSoyV ztv9af{8j};8Pfg@3I_RHnz|5u*1Tz(-{c&f!hHh`Zckdhq?~O4rJ-S?Njk4Dy(-JB+Wo*$b|!)| zU59O`zt)sE0&7M-#ZV=JKkUgvHxnkZmcKs4-y^M}45|Jb3WMR#RWx!#8*g=I9U#~n zfM~0eHba;v_$w%K7>YHN8?P<#-yZQdeBs%g&jw^%n^qQ)r7i2+)on}&3) zF6gGH#cw58hBMcnj@gDRz*zJy(%G?qN3{Os?Tad%R{(@I{W-!SV;m4Ugs?u|D3`w9 z&;b#wSxOCL3#Bja0-#m*3EkNo7UAe03<3=d2&_%V>AICthBiqEu9a@Q1JOhfab-Al zhp@to0`*#`6H!A~JFb)?YksR!+_JyH&#ZqwV1KGHYtMyU;8PaCMwh-P+`*ou#uh~6 zwh;BOIs})H<^^Lf8{e8d0p2`92M=XgTDJeONHS9_N?13zL$_YI z!2JjIm=>`Y~LESY63}qwb zC_P2}sAW`VIF)XD7nm{3h|Ls)Y`U`Do(OLD$Zl>P>0*g1_^-;Sf~im-`bOkZ#xn><7lLY# zs~ZULEK-0A_<+uWxF8F_PR~oEKQU1b4A%_-*<>BF9UL0&(6{%Fh-}RRLlV_&R-{Z) z&R<77n$ZBHQK42lK%RZ&^!spYv{%uSOE|iIX?_JjJF(BEaM8EP?W@of)DZ8a>Vkea z&Y~N_^b=rX3zbCv3w{;4Wfqr&l-GK(3P(73afyMMt%y|j%F%eQ>niG?C^~dJ_yDr{ zgZb|hrA3e%*>8Aq$#KYV_eC?QiIr*vYnfaXLe~`dt*CB zn~ESVog<+}5bO8WnIu~84CcTEgNOOS_-b$D_vy=%t?@_za%R^$-uR&L3F^b9lCwov zCwR#DW(?l~7hyAu;GM@{+O)9-20e!a8D4cMgpagEOBqBv2i}`Wt5k$^RHgR1{s*KY|-}R*%WxjVQ$cX@&{J0?C;l|JG?_;WD9im9Q7$6)V*c zE5*oRDopw;SC(vsZHlQ`$J1TRx=Weo6??_lHg=iSBGQux=1FH=I?#VBxmZdD)?Ws+Q$Moyay^2S zpUwM8^;E{Hu{=}<6&LKIE+d)E5KB?zvF=z?lO&CV(gr{VzU1}>_;D)ZDHxa1nPUpU z()I+rA2e#T6s%wHSOz*1aCA!C`U$;|YNqDw;krdvi#XLF>anyBwf#U+nv;p1 z1-zk%KF@Bfe>O7Qz}y3{cgt1JNw}UPV!%=;Lw1KT+s}5-R{PMuzL-GV!^Y}P9*W?U($L zvo(yTX|a=a5-n)yoS=})vGFK(G~M-I+V`@Of~KHY(BeufxD1SfYqRnh3R2*<{dXrF zKk1NtWdS3(3+Xhj0_`CctR6q4syBHw!=9j&{q&N3n+xB?Bn@gm^?kI@Z{S1HcGMqaLeFM-DPAi7rn^cG zf~P4OZAi0to5*E5ShnzLrsys&1XY!hmy_#FLD){sp#`{G5E!NE07i$qGES^VpNY5c zS;8K<@UA`Cb1r4TJw^-ee6=DV0xW0cF&a2UtFlL5=A*fLvyn znq6>!8h({lbg2|;Kn_?pqf=N7i<=MXtVd z-_drW31(L*Pq=Va4_FR|Rh1I03(1lI)Fq~e1QrF*$Pa>L1RB`J!xZ|9?|BMWlI4#e zec2y&D*TEI|v%dkKZebjS7z$5+%zbxfh7N!kICj;Y49NOA3>f~PFW2RKK5Jy z7cYqTY+WUf5>X}k8Hwq;`e&wK=o)&uabXg(D_n&LM)u6bTUgbs;aB)y1v7Vx%I z5>GwY2#tTB$_>2$lrhMTb_eiU@LBy;LU0~_K%Oua;Kn$6Ea_bW@JCmcnEioQsKBrOdNPq^CK zb9u72bauZ24KIJSd}dOR3$mCb-j%gxKM~#%J&_d=Rp~-2tc<~sCz^?J=szFbXa=Si z4g`*y`bV}BM=Zd=A{!B25=O6IID@x{xrzg;Q~fJG1ZP1&`21>5LA5`$-xc;On?>2L zY6go}t+a`nx+;qrT^fC9XOvtE_K0#3Jw~4BW6?d4MfiMWOL7T9KBvpdZ7(rig6rZ3 z!?fOesV2YNU_tP;q)VQQ?N@vaz8D~IZQ((z)?ZHywgyvdrH+|c$gZ0+>~s`#TL;y7 z%*``~3h&E4(pKJ6lcx@7CyvIt*abLn@sp1ZhJP4lPbt4LArPHip9#}a#R*_2^#IEm zap0MLBxpaN)+KL&(7+Wux%;3sRtzwB(Z{bVD5%aXr-nN7?3O#SuMuY?!6BreQiW^q z{DZ3hNAvwU(k&p%on&Yy?I*HpmX|zssx|{*7BLEJ3h9(w%dKaAT4w2@VVBJ8!~-Fw zdHFN#heb+_mC&8ch_VukknPQB8UKuC9=O0}+3pXoW~Am}%?aykvdnFHUBmSWVdL?6 za*4nl2YJRzv&J!U-~|zjlFZGm`X1o2 zkR>9@dvY7x_=q@F+elJw(i5?PQz#`cbbQ+;nxjyn&cQ!Gym+MDB=JEP*|uxBPrMX4 z(5hDO7d$0X7&3q=k(8aNQEGdfXegG6Y<)@2`=7x&0%ttkO(}f3r?w>ge2p)LZzVU{7WR!nrEgA|3kxE6oDi` zS*>Drw@K$ruUqdpUf^*~gAY8JhBQ~UX0H8cR)7C;!llSf!k`vIOktBAEum*4dt)TY zegh}M3bZvz8$kSAfFvhc7@_?*(L}p7Ui$)DKCY0VxKY-g%L`hVTv%?v{B=pJ+>I7v zpPDzcwF6$|`3sX#8Kh_JUPFcBijlyu{r!TlaSyOOPyGFIc)93ZNVI5|1nK#AnJzwx zvMQ+`60rN{^6kKK+;dqP)cBZoOo?qm{gyK_!Lox>X$(3Pena(A3x3{o<3!WnG-rXZ ztA<{84KqesR20)SxltMJ&xPB#tCj~s_?lyRehq!_k~6>hOvzgVOBge>qUk=3=}4nS z(8to;EqizDIcG$73g$Ct!!(6$r9|;|q{l;sFEM6LWA>`i@}g2BsCtE8({ERB-MrSi zD_k1aeSs)ODniE~@p89j0E7lolYE5@T0k+Gb1V=2TT{o--SK!elw8AlhfNe&5eMkA zW9oX7Jubt)3Xw^kt%dYn!-dH0IjG$-DdfODKg#WwpbcX9SDn9~@U36k9&jsKcc->E z>w<^DY*i{JQGbVO^itY@@jRPVUcswhS|HA)gHeGK4>%1tCnQImoMq4&k#Q6=(-)tt zV;D^`laogVZqj%HXsLTSY&2HAmxs6v|Mc0=pZL4jN}%<-D+~sHsDem`T}9X`4m-VI zz~we)dVOB95LKkIA%7(=GtF1HKZWSsLY!WwORKDi*d>4fM$^@4!;iQO?1c1FfPmOB z*U+moPVs1HzdP8~a8HBMKsM{C}7ak%83`gD73(@tkkcK<8STiHW`Lh3lU zU`Z2#ApL=oM3@TZg1kDJas~ye^(dygHi99djaS}20M{tH&MTPw2QBL4a+Evf$Urr_6T{U~;&ajezAedS9(3&}1l&xQPm*?zGf#$htSR6jd)bg6 zeVIge%YNIYJYZxLXbAI5+F1&3DJh)PLgYh4bdQJ@NC{#YQbW6F!dT_{xu5wAzK0}n zj4HC~JYXQBTVfIj?gpTzkx>_n(y9Z-fU%1Fz$7$CC9JX{NuUwZ@8!W+1ank(Ar&?V zj?Mz3Ln5Mn((y^djsS}0zurCLY!e*sK##j6w=JP*gY_{BG{|yL-x&9D8=qz+t&I5- zBQ54y?8Ny6g1)BwKi1_-R+3E|DW!b}8Iz4g{E{njNnDqoUyqFK=vah&)r4jGY(}AhByTE%@Fs6FP_pYi9HKq4h7aEP3 zIj7=spN&Lxbp-0|gc*z;=El18V9T>kQM@nWL|EH%7CQ2`{44WrVy|(FfgZXs`PY=_ z7R$6XfpV&tH#-)DjJcr83S8+s7DO`nFJXEOZ(ls=4^8E#@COf*N^e?_e1BUGF*TnyA9Zn z+2x*=9xm+sQRfx8wCz^!NEnhe|Z>8+#V;d?U7x1 zK0ZMI+5t?SC9u|nXhoeFtDAL^`c^_#T!z&KRvJyjq(FR(a1 zzN`Xa&tMFK9oHsyF3%k%#;F#fA47;yf~%X2ze-+AfUHTN7~6quM;=jC%wm1T4FuET zkDr-wp~=o&4lYFy;GKBH2M25N0$s=BidrX7a{A?}vrb>es;ioL+@q{ab8UNU$SsZm zws$)<1l?Y5?%p9}UE%0u=%~zqR+x;`P-6@JF_H}%u`b%`VaKa)F>L1a89Q+~7)P3FqYOha)*4uO2IDj(t$7sgvc;S|%X}Q8d+~ zmIuD8QtpmUEt`3isj#Z4d9_tkbmQ2oiq3_?gZz%WW;hEipPP+Stpk?Et?GY~1bTAP zP%46-;(&I+e=B7zJ8gB4r;e6hxnmr@KToiteB>n#%4AcF*h4i~2K{YF##n?)*kprN zv|s;3gN(Xh#LWmTyzNy)LuhD0DkMe1MxvFhN6mGTGUGqR2=QXk{Y0Ej&&?`M3WxL* zAhrh19lUX49a;hka8e5`I9jKV@tANsuqhtM<;}IJLR5rrpp81gb;U7<4Ra0dC2`E> z@2~M0IsF2Gk-a9;IZTg$Y8{Ded!EJuH|Di|y=&6>>qiQFs0jrW>RH!>{XPmRxkTC) zXxBwX@=wz!2N;-iZ2d^=6G`(a@O1ilHYXYwF*~=Sxn5Z=Lj6(|6maP(mizBlN86rM zyZ;{et@K~hOYG8l*o+1TNA+s~Mzn2}R#AnuJSbUFfOF$*7W=J+DzE=Ck1bgug#EcZ z9*+YJK$t6qD?#V3)*uOy78oboIRniw^$|=dDnf-|E|IK!V}tuUH#?N)+2rzW|K4_k z-vu26y;`upTKezxvvs$Z$CuCj38c662v*OeN3fqk-$V>P2OpZj?`DU)*G~Z*W{q3D!V0|I++n0cWG z7Y1KX{{W|hCgz001uMKA?1rkFO^!PomDXQvKx2|-(vz@*;j){=JTD^Olx5Jj%lRNa zr2Hr`4okX_m3*#U5LphCnSbIuzZ@Z7BGfWet>jL?%nPaO)29FOvNPX+NWauo5a zshnl7aO$HkOAegP{*nZFdTBof&&ud5g*zd|7%Av|75`ls5eX6ACvf&hr90Jb!6I-I%65IqNKuQ3#mQ3tS5KQTIBVVpmrwgqQ%w+nIcF+6 zUVEt{xLP-5a3D$AlUtvgD1aFn*w5O4yAq%NcAGhr!+VRT2U-?!>Y{qcd{Dzgtj@4- zLsgp52-j*j=hWL#qVbn5Fg&W<3i{479u30J{3wUJd^+;mTvV?AjAOT)Es0;{Z*S_2 zdde-Cv%gvP=L%Ad23DS!<}?fD#`}_3R8E^XgkXozNk4}=E4?!EoL z_2d*Qw6q4)zXwtm3)v>isL0YvdR7O!Tu$jY8%W=Ls!@H+_;Q?tKCEIx4}m5@WL=5A zL)y7~E|M>9cJRFK&FOv;H{JM@ zU=rUQ*T0{wy8r%M`2DM$Jy3%A+28ZayN@J-c_9mnnSJ6;z(ckv@7Q+c2yd~th?=cj|X@JG3Ah>;vsRSF8~;<9E502mozvxwF42!;{!;|@bYoPw&#wgYJ<*P zY05t2nz1mu8*0(LE1rvfFQmVJp}HOc^Kji39nS)F%Y6GCn8a(~22H>^>7Rcv&puxN z@m#n)x7+|^Z>rD!^MplQXNTB3{#nW=sGvg~yXm2b_O6w+@re9Pxcc$AKEC$5mb1*_ z9x9`;IbXyM$=kJhU5Vu?70f$D!wRI7E2!s(kqj0;Vd6iVP31Xz#4AkX8F@2F#NHcr zS5n~6!$dO%ZXl7O3{f^Tg^?ucbzl!RX&6U(D9+E7Ba^SpXYZy=&!eQ)@6!dM|3E{f z7hNS6e=3%|zGn70QguyCLI4NhEZ`zf$a(`n$lKOiWy>{jBimP8mm%wH^^c?4S`Qk% zfJVlfg&`tyd1)WVyDq$fj~RNQi!et%9C9=fLgFtCeqs)h5fzx ze$)VrN7XHi_Kru#38%fX%ja?@D5&`6yIS`V2Kl{GvI`iJ#b_ALCCsRKMx1DQQE6B_ zUXjC059HbdwsHxUPJL*8*G-a-oudd2zns8%S<>K- z7guMFnAoog=Fa%$lm%JhOMeXLoG`j3Zvbu3-`yuw{e7_>qmEdiLB#Kcq_ex0wt8Jx z+vRWH!ZAA>6g>MK`BaI&dGU2<@cpTEVcloNT^dT2K%o2w=^ra5zdM>VO?sNrekH>q zIG1KHPW3+hG#yX%+~k2IO&>~Kbft>;Zt4Zt$!)0QGGY6Pn^tS%!guXQ3fKPZ!Mgfw zNsZT9qY9EVE)-uv?JW0-?v7enUVmtiexb|_44*HQFiMv1{?wLxn1SUB0)9B)JOBsb z65+ZmzfKrp4*)Y}4ezRntAOE$fw$iqcmwOLSLcLI5~%r(%cNDjVY3!qA9fWWD3K<9 zJ)v30ySAFApRqz`(m#T0RqH?|F!hy)}N&K@t#U=gy&OgydOA$o#8qqirL%Jk+$hH6E^Q}<^e&x}c z_+t=Vz}}a*`g&)jr8O&X2i1a7G($;#t78n5*;E1!c%Ay5m&O58IwcSJG&2*MsW;KgPXLFs-z5D5-l~M99w;;3830RM<1n7;5q22wSJ86OoxzJ^gs-j_g1v9ZL3<6c8c^g59T7O`L8Vi|VT8*-L#l3eN zN8w-#)u|nvpn>&ZUw%2t7W={<^rrROD=&$*CpDzvdp>uM2`SWgn=Mc^e%qVdj|G$c z(aw(rXY1K2FvapZ7(2moA>3*n20P`0p=wegsEgVh!PKIT?Ffb?wmGdYYqyC4_;d~p z&loC0g1td_2SZaOWteNa!_jIggsZ3!krJkrOy?}R#JD%9Xx9m?B4lbEtXodFwba37P_d(A>9 zk>6=ljBO5znZ4nT%Iaa33-K5vfCJHlNXE0VbfRZf*!qCIxv`S|M= z{2aN#i-6FwldcKnkPfc`>A3Ig*cQQ8UUr_%?eXwdQCz_kf=@vXSSmlzgt@X$&h|-o z|6ccc2ilFTw%F!kl|a*H#n*Wcq38~4?;h<=Dobxp>=q-t0Ef841epk>wGT+R_Z4KS zMmYsv8N-NuL|D5^L z1zVBIXY66=Ed3Xj-d7E9&oV~!+*6fJCB=&dY`SRN<|rpeFT*oKUn`irr(x*a(=9$rztZDzoWUIp z+(E;=!RM%=Wv$~EesILthqOiADllgG3Cp*cVHoNcjQI~ov!P}EALm2UNVF&}&Ygqm zS!90V!elPrQK_ryvQ!AQjivvq9SUXbG1Zksfslpq;zyS0QF<{%b9HDzKpYz^q2MMc z)BS^*p?7ARaSU914~mFDeY)xq&RMvBPY;l1F~1J*HCrt7RP8x3zGDBATNDYipkuBI zlX0|U+}(!g0_nky^1;)T)6XFH_qz^Tw}j4^dTThiwU^lbeKy;Df3*|6eICvCiAXEk zhZwexb$Y+K8#FO}(>A34(=c1oN}PVy2k z&=0r6Zg6`sR&VB#Xo&Z*GouYO^i=LgYB+Ud8{jQa0SGjLG|gH2F9?Bj>E5M0KKNq; za*D3M6O;p_bbu}-Zzc!5pdmNDNgE7y5~=9eeWGBfGG72E`=BEvxQR$b}Jr@m^Dr`yfw=);ex8ni93ELlG zQKqTX?(;>eyb|wAOnXi@^bUney3I{JoO!#wN!xnkcD;0A4;mPk?BlmuuH~<@x}|-Y zC-7+fQ+vSU1};m&128NzI52>ATQH78E9w9qRB|fV-x6}pbavLx${dzYxZ#(87{qNR z>RCB6H(TsAXTWMuF0Va5^)eaH!3dA=T}%#Qk)JUGh6jBZB>06$*I|&hUQ}7{l&=SB z2*GS?dY*2`9sz%J+sHx)cAopxq}i)JZn0Q~3b2nWeI{^>!OHy}m9oCW7w1>-u^eH; z!9;zpKPl(H8t6eM>e~-v4o&6y(|9{w6_sjBLPJT`@f11I!thR*V(k#K=;l?ALM4>5 zI5fOHBc+u%^@^@h+!?`EpO%e>b#8=+XXsMZT?W;kZ*j3C!8_>3pHb}DNf6n0Xv=A6 za4hzUGqRH5JnAz(_b~Q-|1cX8QAYHN#&w{o_Z;0}HIwmAWo++HsRJU+a~`U&6!BvJHx19YaKJ27o# zcG(*q7`q-gW7&$aj4Z)1rlc0yaUB(eALm>Xd09G}0nhCt%5lW2u>yyW@`@>?e^nv3 zT>~k{VQ~y=J zf~OKNNEkViQ6$76uaLnN!4lZ$%&K#Vh2CI)>~Q<`V~3EXWIE`^21hvrV{nfTfbvxC zn&dQF+QFI?|H9o-sZ$9Kdy^B!M@f#8U|=)pJG70L$Udqdei=BGX5ryC0MR`(2XO~|F|1NMbn`$i?ll7N^$KbF851B5E=saMOM4bX z94$zz|HL7ApK55^y*6d0MkqP? zXK2HlFnvB{Wryp{TL>)*QKkm$o<^tT1HdDb_qW3K&nQ`?d`B0%MKy8KnILDZ%)yE0 zp%3|Nd&`!G;O+8R7w{?HN_kRhaez!LmHK5+lm)Br zTqx^)lh^E{+Y1DHNq{7=AnGJH-W!yUw*$gBqZ<}nyz%q6%0K(Q)97LpRjea-F2Hy} zC3ynr@*hB@HG(ab{_i3=x|Z{24o&-xk7-E)G{ls@^geC>CK{`V6^PD?*2&h>u)kw9+0n7Kg$ z{~Yb|B$+-!CHpCaa)<f_YU%Gu^0*Zq&Ay z!gM9Ny5iZm*p+u77uvJHbF7z1f%X15pK4g{DkinwW~BW7w3%<*>-e^qM#V{aEX|rw7jA)f2f7E*8O&y zYP8a->nJQUJ^MyNQYg}7UWRNfv7g9z}UkK7-B2&Bn)7Ao1 zZ!9-O#EIk9`+eHP=ZT&wgyHcp)rf>@FfXT-_0;P%e$^7cyg8qHv2lUf@1*QrnvUrfU)3wFzBSiMcSCH1as1-5Xgq;w7g?>5I#^n)3w zgqA{NAX8b;8OSsbWLQkm=7>l7Xw@e=aRXX5Jw`xkZps_e+>lmpJcAWH7ZRjpw`Uw$ zn*l_=uZ@jr8#{#Rshz^;G~&(4^3o7FOl+=B+7}Sil4_&U=IR*wjy_Y)c2&+MIV@$o zl~QGOr#-y{Heyi`!=pNsRWN*F_|!J|!~&}J1xwly{hM!29Qo#(-yVbiuWGAxWEW8n zgfzE4SuyVe*J5q}FD!>`+VndRpu$KdzyBR+#B5%VaB6jJHeS!M^F06K-}A2kY#m7i z>rpV|??3q?{k%R&`j-Cw6aNUR4i5=-9k}L}7l9)ek!}Y@k1r637&hc~EwD9QcxfvN zU(L!{xgH+j;LM&dG0M#Zq9J5GqoTqg6csUrW(pl~hp8wT{xi_+5ztk@Ft4SF8lZ(z z9L4~S0UQH377;SECF!y-fo;1|}uAOk}Nh71hZmL)^xAPK;*%RBAm z8Gc}xUS3P)&xN&>p*b8du2<=M)rV87FV?UszybVn^KYH_7okoBkag@yw6a>PY`z^Mu?QwZ{HSiY z;TKb6rpUo&)FD}AhFx{XuCN0&hGh)Pg3YKyu#81_Q3lo$RJ{tnC52-ZK2=${p#Nhd zcY6nL%~#Uv@I+U=Q&84?%VnYL7t|A~%1y+*jbGD@;zCm8T`guOM+!?L+W1&*c|%LT zgmJT(QP5+=bp6h#Huet!?sS20X-@h~Vi-BdL()+W{(KnCAB?-M$EimJAtImu35XY= z6oE4IVCc~z=+V6F{ow?2+R78Sq%sq21h+#+`p(AFkm^bqzA}7e_}ZfQ%EIgR0efc_ zvr+MO&AH14WEEk`+P$^lSw$op64Ie8lpk#|P5PQlrM2hJ^^sTk zgT?&v6yjnd^1~)gWs}3U3+jsdu8ADd1f-UECHh547S8aB3jkrU36Q{QOpIwOue7aM zZR{~%6E&J8UlLR_snE9XXj}6z6YhvArvx8ET6e=uMJNgu+^aFXF9YYN9eyL!<6GAZ@)$;5y2WTxF`Qb{!>3q4|= z6f$nNYylL*a^U0JO zOiBz#+92B`uX^M#%UKBLozJv$#3@ub$*5?HIa^w>lS(EzN%rE2yUK^MrC8~c5IJ=~ zfPV%AIYFhF8%PK;FUJOkO9zz7Pa+y>7*0sel(LnTvfeI)IiJ!YVIARe`{Ey>eU>-j z;C`fgw=qbn5t71+D;Y#Fh-y`cVgV1sOE+F#l+=0#Q+7nOD?(xZaemVw;HcylJ|ZI8 zLB;`xj=K>Y-`>{WEK}XMixAmZP$U$FhKo03N$mFmMI5`lSd)}idOm`>2s%aekr(5Y z6|%@0ytA`3F@!2;rk5?Rm(6ik4)Im&is#78x*dtg$5ITBniNbid}8?2s`$hLDF&9M zU`hDr6XXz6I8VO&N0&yd`sw5ieprE(A&cK^?jEVi;|+(|K5(uA$dO|#bca5A#YrtJ z0oD2#Z7dNTXO>z+37}gB|_d!e_mwvfI<29q&D*rRN=ET4A_5tzsJoGZ`?B_Ue8vGeL&R z?mj8eE$ZTt`ryrvMEs{0w9z|eiSRngn_~q_o7i#M_fy*FyZo(rmn?FLm{%;#_~x4v zru3bTkuQQ}>$F$%`s5?8GEt&+DI)fhKd!7|7HWWSF1EAcy&B^jij@3_@#%(Avu37^E^tZ6io+sr@E~???cH z_h89OhUg5@8KQg8!w|hi5S@AKPDnqk42!WcZaZ8m@NshQHD38vq5oycRtD-U+1kpu z1E2#sDF_w=Drhr2PM>@Q>yDBTWn5~@{A@iz$-p5`i4O&9YC)G4brS7Hybf7Zzi7zt zkN(2&uPpwxX(-O{uzm5c)dOY*&YcU+SA?M?9}_O7lF2gzysT7twrXn(Pl977?;~CR z@!PJW`r?5;{UfP*@A?n;Tph$D#G#bx)pUGrDfj-zYI=v4$!Uy!0Q9gE;g~)L&&uz; zfv+k((R*-sCeZn<^XqE^o`VH~Sq#a7B8VzcLHehB9b`)y z9OBhPZz7pchq)UGb%36u|M~>iM_}cKB!BCYWB0S`BuamPxhIA4CwFVJ-*^s1n^@E` zX>#<#ewGB3)PWrwZREb8-TOJWc3(@+YU6u=pw*Z-^8pv(qYJW2ZJPdIJ-;@h%}wWC zxgJ%mk<({q^9NhT$SZI2?^n^PS#~Z=3q&oA4?U`r0G$~SV&7gir*~0O2`YJ?l&U0I zHTsD^jp)x;^`%LDVZvfHa;6ILp?_D+XV-8QrO_^aHMu69qE6==vTQ$m0ZcYVwv?#d zq}pa-9moCxSXVr1rfp1WqifpI78)Y3O_nVp{{G6{+?;8LM|J@u?dHtIfTGPF*|o;w zx{i?VjuLC_FzU8z!Z+t`f&%wLD&v;Xfe-N$s_?b~I=F~QC=q^F-FjsW)oWk;K6Kib ztDiP_vb^89=Vv}@vk$m4QZgyTFz6>kaN51+5KEKQn1MIyp;bOeV zr4$mYfJa4qrev!BHwlPGQi>`Kau#yp8Q@g^0C(nB5FV(4s1Sbvuwy`qD-Q4Jyd-l8 zqb1rg>S`&8evv2dTp$rL&Xm^bo<=agZ1@J*m% zFp=bC!Y4vhT z1m~8%{D}H(=4ZiMiOIVMqAd!7He*-rvT}^OtOXxO9uH@#1 z@G@;oZkRvK*`eMmcVxdrUwW;Lr*kt~Wx57f7dEEz9VUUSe2pEAU9r3+I#niEiuaep zQy|#LN|`Jw+hVMhn%|U9f7n@O_GRmnQV>ZdoI9;$=xjqCMqD)QhQSj@oGi9t12(6%AX*D3OhLQc!_Ri z)%H^nwY1$4ZRNca-i#*QPTZP?QAjcA;rG`W+&plF&Lg{>ZWy-Va|w4Rr*pd_c9usw zLb19=Tl=%ULVrS}J6M%f%g*bls25YV4p+8%`w`xK@=X>_lN|jaY;5B&8D6^-0O}I%a ze*05NUOsn|oZBGPg$nsfxEW4bMw{9xj85z8KLH%&m)G+9`ye*fTTtz&R`$w?$IdXm z?z_e~mx^1)L%a&AAy$2`4)1pIvXuJrG6^{AU<#daR5fdmNNHuYD)KwZN>z`|7N%mJ z&u+4cHOGIj7P&Gr+phqOVM<+hR~W{4KAT}oV=;z>C+!1xXJOtKC6(e{gTfPME@pei zp{bT=mo0a-fNsXR$-1L46|L4BD`h*H3Trq|CupRtiAPMq2GKINvoeLhox)Vh`{^yB zT1_gz=nJOb9Q&|+t`sW57TT5xy@NVl7` zWI|C-9OKA8pR`FA4j1Xp1HQ!zly2Jsm3mFp_)G{q9tV0y@8sUUDB~yLP1N9%J4hM4 zd3lIVQp_UL%PjzhfOa;-eu?;e3rMRm%0f~gGE>GY+nWXeH|ZuW2tF|y2G=Al=DJSfws&!FmMPv55d5Kfd$JWFysn=Tt+U{ z0I<4y{gzUjnbK)HPB}!$f*~7Dbq+`YYnIm9!}0G#?FglclIcoAbfsAa9UYNQ_xu?; zgj5g7(1M`_bNv}~`GBs|$z%^8j&fQS9B&0F179^k5>f5R5q)X0u)KrtRJgO3-AMu?4jLNQH3X9!fMmS0p*mPFH|>{>0^89V+Z?^Z37N)-Ct5d9Xv*RQ0CTtZGIC3^N?+< zb+{>;$z=ByvfC>}+ffA0b}VRAG+P*-)>ft?;ykK1Bukkm4s(SQU^Yowj9o0Cq~+BEiZuw|*We)8x+9;18FwqPAy6klt-9@=aeLWGWLC4=_wmKIzn{C!T3)yJ@Nqw*}k_{r;P>KFj(F7#c^4yZ79-@`2d zH5*oWfP=m{pWnX&Q_H=1V~2jyIc?*PaUP4Z17XbBZH=q`AQCprI&4nqDf^uA2am~8 zn23?xzF&HGZvJgH^Hc7{t=#-`ePXWFtJjJdlpDOQv{Djji!;&^thf=aaJ?y&WKv2; zBNs{VAGz(cwYIQ~>29a#uAlrf_&Cq!EFUME8P#Sttx6+154EvT%qWA$5X7TukJ>zj zOAQOe7)~*qY9E~H;E1d}LGz-dwpR2-fNgH7VtY7HVEf%5zIITx_lkhQavRGId|Xaz z=~);lySG5DdOF@*hy-fv5b2#;n$b3%6&{Zk8{^rGN4wx=W7V0cA}J-d>ue0$rU-Ft zM-7~^YKxD7s>hP>c(LED()3C(MKu$kAf6gZCStq_x*m(AWLXenfkOSE0R(E3uc|P8%(A%FrG{ z8$|#s`)pf%W}k&7gI@y?CQlzqk8ZTkKp0sa{f zP?Rdw4vt@y^ zKJ8B!kTM`GGNp}yw1cBwhU%e~%J6<0sn( z2h=eQySqT%ZoKn6|7r{-fKzI4auitWsI{pc>#I+D;uP|$2ifiWnB{aPKO?Y3Tp_7x zA_X>}Ql-i;W2I8t2>?QWn-GHo1_zPY0wMCZKI!$+L$7U*C>IJd1Z+~Pd4`A#5g8(~ zkho*v8Ov~5AV{@Ct3#w*pj1Bluv%~x+&Vw=>q|1ps2D3I#Fymk;G-Tb7Lk25%gLx8`}zCnK;U$M8Hlc+N^67``)nXZYTn z+(^_@Bhj@r#TT;wK}Ze>a$`<06-vSG7LN7diO+Od|F$X zw)YFQ-Vf;YN;z#j4Qfu*@Xa#FqjoS_Sk7o$v!Gb|!~-vV1DUqoCTP59uyl;-jDq*; z1MOIEp@;ni>WCrb(7jIY6130Cf;DRz9<%5THV0WyQ?jVIQo(8Nnw%1>?UM2ja=dJ@ za*EQ%Br^2ubav-HZ8MwZ&htq{@R+rGf^}EcF9r1+Ht;wjr9@TnsjNMs`nym5uWyg; z+1P0{xI#JTdO@a1DK=%X zC`I3~HqrIP(b?~a*AtMVO_0R%2{C>lp$zhBYyd1K3S~IK3QDW@CyY*fi!yDBW$P!s zbHDKLz5aYvpWL_m#a6dv_m{*?of>zIim+E)Me0^r;O}zCiMLnM=GlG6v?Guq*6kJ% z6)yoLmeLme7*hpLYH`CQH5j=Ro<1`~nuahiI+x$N1AplccJl9^=imRNudn3Nue1q@ z;jgFio44FCk@2cs`i@l>s|aq6?-BdCHI_e^*A}0Z-rYxV)QZo@OK5kWpfkuxDV0Na zu#wxu4GDDuKg6WP8=ue#D2ux;Kia9H#5)C_COd#zOq$ZUR?@NXXbFE?J<~j? zL7j*cHSQ_6_p0&v`0yjz>}LMX9(f*7zoR6?b4}QBPq_(`0ctcs_)z+mE^h_KC!vS6 zST8pyU~J|xK4=Bbl!@)j*a8D;@ZN5kTvLoZ0D94f<4)LwnSUc$Wy8*Le%kVw{_F#0 z5y%=oPv_odeBo!<-a#2Ux_=c@CBMs~O+3|J-Pfibzy*R(T@YW6pMVm;8e(i8Y+*~p z)??EV&upx9k#CQu_1H+iFTqfyzv~odz5LIgQG`3JT(HL-OE+i@x+mTiOE7V-S^l^D?{r zi{H%sp#)#9k>Kttf+D5lm~ep?;j>@B1jmy)*~D*uo3XO0x!oVYL5Dv$$FN+O$X7GX zXHrRU8(jJE@{3LB16tkdO*#qF*2?$|uDZT>kj?z$97WsvL7SY;r4Mpzq~kDmhQ2pM z{i?^94yV0+rjNX85gwh6#o$i_nI7>vpG?HB4vQ*((>K?U7lcQxb@K|LmGxWAtG z8{o`q?$=56)4zW5w_o?GpVCYWb({;!J0wcC1@`7$zoU2Aulnn6{}utZ7MrNUg?~v2 zWIyBrF$q=k)QC0GW0;Z$W}HN3o}kQ(3}=jU24{FB1g2OW(4D+60%E%3tgXD#wq~`l z$3#IVM=*_Z(k_WnW8PUIsq$fQ513?U9;bajWpS@WT`}pGGkd&iA2)~}nI;J+U@_S{ zrC0whnk-H9^$Em;k+$GUJtUJm0*pLbBA>;de@A})z4ddXSXXy7F8&ZXbv3JxT1#Ui zt*$0ZLlnEh;}ttYwG|TIkj?PD1z>4A$l+D^?#sk=LHwFerUHb9Zl(d+ldZ$K?>J-F zBS*RH?u)|6_r%)LfP&N|?Y+^beQG=-3mL@au#fww>|r>(rrzh5P^pNItQ!(!~K9&*72K^>6dpq*D!Lqn46 zv56E+%Jlh7ed-p*Rh<11r&S2#dQ+-E1Bl(*`uZwY{1rt?n|J|AjX&xW4-DDz7z3j; zuEp8>g`^JHHha$v4ynVn#IB`p2QJWUmE6zisA!yn9R!6!h*}+7albG*5)r)zZ>|W` zwT<~t5*^MQy7^5?Fy_9)>fYi{6!D`ZO7)i?doe;J*iw`rYK*T4yyAO1t&C+m0tW49 z6eu4Yl*IqKm`Wyl#K5U^2jyJX5xQC3)#?Vupc?mdF;QB>Y9B!ih{S5sS7_6KzXpOW zvQX54Zdw#TD@^S_QJ0Qjz$br;gfThGtNdA+#0^&jC6!dqCX}HhKYS6ctI^Gk2pXJ~ zz@hz05sYm@TI)~)b=xaI?S*<){S8pwrkNzuJ2|cPh;iX&7~IUg{}G%x4nxkn z7EA5Sj0|6B&bAJ`IpN}s<3+QU#NkH|@j|(C{v55OTO}@kQV%w#Idq#G?2V@CigD#n z33Z?z9!55^>UJ-3nIE*R{RlZ3Xbs8lf^6*0pO*V;F|)>jIJz0n{f4tYfEZm;Mv4g` zqYyL#Jd$O}WX>60aTUu3*+>Sqyj#$=#*CLV6AM77r!Kpdwai(S2(j&r>ihL5| z7I4+RCJd@Ya%f(Iuw!hraA(at6*jGnO_SZ@g^5T=iykx)F6;IFrXq>bzv;YRV$SyY@ROx#`SGgD8bK(4k8ef#;^ zNU-3toVd=b0#=Vp@)-$?nw%o%RsgflODVDHNW=Lv{0~cf37aOijAC+Z1+~7f&5@&p zMmGU^Fqp^|Jr0QoRT!VvA8cWlpX~Mz5WyJL>5tc3M<8)J^yDO5t$p{%I#-Ezl8#SH zYj_4OyL~Tzu$W(-%BIJ#Th#xUtwOZ985n`cwQ4kxn0O46fv^%U#IeaS3Ur0BLTF;k zV=@MtF^1zDlwuPdkQLXB(Gs2ubnsf`hC4)XP-KwzM*xbBMov&X=3vQAm6Fopf^t>m zWwo&>LTz_MTX`QLKk%z-=l{!W3srPzAdbI~Qq;2o*`YiyOM^iV{#Gcl#lyfP#b!2#q6^z#;(jLboK#bK{n3UH1qC2rzUXfWFaPBLAZg7j*bO{F@+x=xt0UJ#@I#wFsaSnGZug1 z0UouWy&jC>tLAf~M~q2gESXXOdV=yq+n9oA3VDLNyx1L7+qgseoPGSIF!CgSFrGhn zL_V75OdJw2yNLy9a5?F&w*DjG4}C&Q@aHnGC^bk6aS*7q;OVY1GSi%ezbs4rGT^0O zU8XG<^!1-eTVP6G3oR3^SMW>7)>C30Z6xRqKNzc&9?QMUKvOFM^cevqdCXx7fT$y!#P90 zcXrFdr{fTK;1EVUq*9XOZm;!8Z_Bsj-bq>kdy`t4(`y|csEal z`2a({RZg9|sS2V(j;V4nUgV_ff-EQE0;din6mF0{i@f+DmQqw{F!A34Hz3{M_+--f zP2mzE$8#|vEgUZkoSYK7$wP7U`YM=fxdLcdV1cQJk~s(fD=owVtCj6ozVEL1c1NEw zqE?*&8~ySY4(m`4A1blDmRm{NGa{s&9ia+Oym43pj4xNIi%f&iioi+`Sy{hVEUDru>A=hxUh06J7hk=BAz?@hSQkn~b>;;qXu4@3b*+QF$>AE- zfhL#8;p-My4U?QI?Y%`y)7RzF4N;J*bXTxP^T=r9&1LDVo880R!NagjqC|#uy`;@# zdJ{~UgX@>P=2y`IRGNJKMg6jzkmN*g7csm0NE@9XuTr9F`mfzZqg4hiaxK})esb5k zxG8R=i^NjZps(I)q-MBT9+q+p86&%#ymC-lZ{={a{&JZqR(6t_X9~^=N=#1B4U#Go zwy>(Rv-tz(OP?Ab_+E2wwpsAxr(6C>H2~#WfE`Wxyy#Hs4bh;A>*VocAdT`|sb=X_k1EJ~HP(d?kv~|^ zW`1g#D!Jz#h7J{p3QK!DcpReISfiu96sO-PP4QTUGbPgssv9LFG+rzIB+1{B7qkRU zxqn>E?k$00+d~rl=_-aK-|E=GJLPLE-UaFkypnrO%{H%xV-YK_jZxRxwn zO(8|KFjc*ZEmSP$@H^v|xA2{i+Qe32<#;3~FB z4Q2#yPi-VXCLRD70nH=E2qO8u~QLjiHQDE#wpkv@pbaxZS>H@39B1?wPwe*Xt;Jlz5$ z202<3K?=_by{Z0dGVl9sEqJJ}gsxJm^ILb|Cp^vCZ0cyOo+PTmO*P=VHNF&7g_C4X zA^)la0v9KY;#9&Zh3g&WR2Z6zNpYdOx$BpzA}3M~KJ}?vxy(8sP2u7DW-lG-ef zX#4LfiCfsxr#JNU9QN?XkAzU#2OQ|jW=6rQ!tV<|zt!%o6*sudiy?s2-z;OXxz`b9 z>_dbPY&OfT&{E+56iC-MMal% zwhoK|47$mS-PHx3-aez|KA@k{qfw{FS<{BN`B|?g3s|K_n(rU z+WmlGLY%uQ#8PA@{qw6=FZX};GU$^|M|JU0F+-BWB~C`FAK7g0Q@!Y;CjS9 z>GSh^QW3h2aa|XNukpP}q3h^>R+wMh`kQ#cq@NR5ioQfY5hvH3pB;Bo9QNrikHzmc z`qh}c3=nD*MchyF!fsq1FZtr{og%h59jvYrdx=1Or&>4cd!q#Zgy0N7Unum@1ek!{?gFzE=)2cXdN?}NLxagi=6;wh8E-Q#3#}5s4$EdH)VXOwyM_Y!&mfocgsfi7?h8mitR>?$M@2z-_yMyhh|;)o0kVkshZ1+{Qc^hE z>mAQ{P*X+2lMt5h%puqxaP=JO6=3NaLF~06;0DRROpOyN>FQa|5gPLrqwlbIv@)GW zrwVuU;vJlpRY2!u-ulRCqXY?!_lMMGFG^@WehQZawK{Z5L_opB0^)}q6qO&<9G-4_ zW);Z>J2l-`crh*w!gE^&G0u9Mx&R90Hi@KqAh<~+ZPzMV#pa|$$=}sAKmnha7#yk? zAXNrUM)_n~8yiI*#&Zv#i49ZA5Z$<@DYXABp5rTSh3tI5oub+ss5qWhxj9S4hAPf1 z_(<+uMw@sTQpHI)5E0ViUrC9@7o?L5suqLb=|%gSsQ&#weYdj09!>6jiIDp6a1|Qy z_z4%|NSOj7SyEo%R&(h&cfE-p!7x9POFlaumtyem{|8V@0|XQR000O8DsGxof6e8L z=tckl^>_pTKmY&$Y-wUIZe?^eE-)`mX=8G4b8lvJE>>xCbzy8%baiBDZ!T12b97K_ zVRUA1a&0bDWpi{!a$#*{cW-iQE?7-W?S21~+cuK#@2~3p4}9LLja@aC*U8rVA@=&- zWX4XWDjxgnN%F4lu3k7KB=Jm<3PH|Tx0V0>bvHop8z_+!DN+(rwd;{Y0_aBf2i=WE zSM( z!+AXW)#Hine~uH^3ukwX#~*z=o`=zjKD>+I>Blho^7;k6C)<5dYWVdEKEXip{fMtD zeC;1k?!MpB<6Ri~eD+J=#rVk!7PCv){FTq_AX#6=apc`6F?*8hfI8vHYGp^8(${xO zW~C#v9MOhlr;W@?ZM>*9^7@4sec$xlz;~YQd;iV$BFR(Dj7rs&4GU`zYK3!`VJz;OD0Z3B2p276UP%XEHTGsl~IKn@N*KLjhsCM$itJP7LT80I|R z&}mP)QzUZxgy+EUIZXMze5us$U1&M>I!+=WIEmLujC7Y?U9or>y1*IB4;NfFK44GH z5P{rP!ei*(;w-k}Fwf9;-5Hv8Fnb%gALjH6^i^T%(Fm~yxGszqXtm(*&}S6!ycO~D zhR19*yG?xGzW3Qb_h#0gMl+3O9;;@4>_am(YSvICeq^zjy(aR~!FB0{ysPbExQ(>O zB@0jpq9iCev_i;w@z3^vik39}mLsR2?rsu6(^d>!SnMlvlGqD_9!Tp=W6~H)Lqb0R zfi{p5xQGvFXk|(S2?*#y4awoSV)r%`k+y*$3HgqVFI)34I*f+xF>6&)XV+|QCw`oN z>Su4xoDGb;As=KDC5rphygf`d4arjsmT81=B2lwC2A*ChWxqL~?~TEDEC!=StWVLj z+HV_2kTTRBP8U$p&@(MO*D<^XMe3fP8f#ByqvRlyL*MToyvX_cjLcIrfAy8d=s z2?6?I7TH}~fveA-E%mbX%cq+WbXYfhslYPK_&G+$coN#E<#nox2RskthQt)0enVa@>h@-Yhki#ajKRpOvk+C^<-8SbW7jML3FHs{xm;!(YUT0>|67$?byb@-;;0AR_WC9BpEKWWx0{}fDQ~s zOu>}_!su(q4#*Xh#tAx=&wVc#BZ2FhaVPTDUDoE@tEtK%p@)YU9Su{37A?OOq=2XE z(gPqJHgU5Hj<{JL0zYzJ8~`!2({Y_2Q#*uki*nYOFTJaZ$DQzjMK=K$2!ZYME}s87 zVw@>S@_6R?V`NFtmP=f<6AnW7{xgn&q(hEDJV!zUzd!Y6Y^FY;ogXZUT_Yc#U?U<% zl=b?|vIAGNCL=1cwe*u{Eo(qvW1)q|rROXy8_|uyAR^`#JNG2Rh(g!(XeNP}0u7a6 zR9m&y$-VD6Gr2=m;vTnxumnDW*|CnZDOzC^#^MR|ln&(4^L=az5jtfzbH|Xk@HUJ; zg0lKP>k?=xZleg{!DI+)t=goY#vpA2uXzrxx1Yl#a@gHw-IT1iL9#+>#Ok@hbrmKv z5>SDwD@Xzd><4+VIfy{GW>LJcU`d9V7Q!{cZjqMa*+)6LrYo)_Pbox>z{$`g0iq*C zz0Og0sqAk1(GorfW6p9#b3!Q5B((DYH$tFSN1x74YL~{Sm4Zo_TDs}nXXD8&Q+f+u zmkGs19v{c?%Pk|AdIdx2a*Be0g0XY2X7?y`*qOyW`+&!xQvn+bru>8ypM#Lf?JsGn zsOc-1HR3_no6o^a2}%agJPKEN(D{a+kn~^EngQ+U6hOE=@&PM`CvZr4ahJoBL!!}G zzi>8B$WC=^&Lsa!&Fq)};(5vV)=YqPGq-}o_bD+9UsB0Y4PpwZUN)PY9s zOK{iLzP-^&={AoOXyU2oS(0S%#ax^gCjnlpa07|>Bl-~!dotJq0)ms+$09!*Ted1t zQy!JXcN`w|vEBe>_(i(nd}4E-IpiM+i}og%ht(BB?m@btW4#z-#Mx|a9eBEOez?a# z>%aeJe}uGL?`{@B*nU3)(cGgqN6nNd4Sq5S5@n{2nBk^n(e%QwdvJ`t&#$d3#<{(y zi1K^!wTkj{06d$^gjNz}9LS+p&GP(+&+qjl?262Wj{z&E(jCH4@17cg!J~9{m*ydt zA(7?=UI1-&oNm(4g7)aeOY1&_{~I`2rZ`%Ri5}>*&^5&@#I&Z2NY$*IHiN?|91KW9 zw($Ht*v)AuwVY&$evCB4v00Xz3(AgM*|D=cd>Bh3O|#oDXsQkP=m^0#-Kc+HAk*xv z?JTbu?mW6}&JT!}Ee3CcQAe-$w~DkB-46&Xt&IdUD(TI`FMGuSPj%HRv2~wCkDy=Y zbnDlIp_jE1|3BzPH`Udww=EuA&`Ntdmd_rTpN~FANiQ2dEzwFxV|qkJWsHAz!p456 zi0_E=F&y6`8gUv^4iKf*r4LI}vRI}*yx_+I(2c`-^VM4=t1{0nq+cr<$H)hz>=*kN z!5GmRxVtQ%owc+@SlN(Oc!+@fU=~q42kbu&cXh+yfkiQP<3(~8Qs%gWZ=8;122fzF zLfj%1u_&-XywahcH2Ngkup<_HgUy1W=~~>LkKrR}XL>4*l2+CF^p;w}mX=w+h0zxf zn9e~fC3}yeA(XAukku;5MCfj#{uQbP21o&ENgaJ3G5GciFT;#dZD>%X2vn6-U<76) z>~*%M2!+Ce{~0l+da4ITwxB*)9gazK8f0W5vQ#s)*DtEf?0eDdv}mMamz|*mfOW^P z-s>m2p&yG@x&(R<`ivgRUIA@if|G{PdP^n!ARK@LizivY9zF|rW0NM^sh%(9=hFz+A+V+78g7jN2Hi|Kn=4E2?Y*QePu1fS`1 zlx>$l&%LGGwKXQnloma!n;`z~+bK9!)fw5xw@Uf1bFb3h4(?%9r{ZJHFn9S`wImF$ zISS9ZY(Qk`ilc5qRB6DCpbVVU*X@oMY8q&&Sv0eSP4aL!F3Pd)k$2+Gt z$JLRFG-v$)l$MLMEWmh~J1Y0BYj)2g7AH}_sp0Oxpy4V)L(U?Xwq(W;w4OxQH5TgI zuQ3a-;4h~bHRh*Ap3Cw?6?b5l;Uk%^>B^l;Tfp>MG?EWtvI)WMTq;(oU#U{8MWa@v zk+dOEa&-nln8z?+FbATI6cBhJ4e8sxPwhycmL+ziS?aB=gDm?4n1X4sb9VR2Xe`oONeB`p7%&gNcLHRO0t^8OWv-R{85fCWVmGwi zvs38G6t!40vjbpiBCK#dQcnK%d1{Cu$$AZ5rgWBabC=PF4tF1gsakr8TdA8}Q)M&d zNj6Ph&mYF&X?Zl|KUTIsVR?SEc_F$S%41DITEyS_cJ}S;JKAEsrwzFgJnAOAQs1`a z6;j5&uJNC;g5%z?t5tL2omXU?+NBmNe1U%>sn32zVaPg}NL_!Oanq8LvLQZ_!BC=N zGFuTfp21joTeYm3-Y)i@oTKkcMo?X%@O3_KHQhVW`mKjBL(22hF~iwyOw>4HCzj!s z;ftHBrKU0}`{Aw6WmP07i%3)h5xGe5j!45LxaCn~Q`i-$`9%5AR!Awk(zT6PdiH=a z7LwQrSL`W&mOp?$Km;L;+t|4v_`zZZ=^@F^E0H>{F!owhp=8@3r)dFhbrSZ0++fSm zq4tMc9&A6+Hb*~<0@c--Zi~`!9Xp2Ko!1latB%XNDA3QqVeD6dpDmIH3xF$Qv;s** zoYr>jb=*&iSO@SBqnnidDmgr20!@xFJ)HL{SVodV;*^p)8c0zpAr!bEuHZLs?X#N0 zO!AN)HWXN5*_3CXxQPDS+{%r6Tn2s+)9*)8^Dx-@G+2Qbjf$;)*O22r&vgLYJUzFAE=1&9y2LRAX9dcJjddPiv>vRz1&7| zdP z(RrP;ua#O*KKXu{S~!(eA9ogDg}w<~_O&x@So{DQfjNX$Fmr;w;k02f!wpg^4Ezm+ z(b5S9Ho()~gXh9vi|u2k2mGvBr3AZjrO0u)_K9rU*3Mp@X~H}fzF)x{lo2-T=~WV; z>I37*JhuHud&8fNO*sDZ4(zwi%aD)&YmRMTu*r6o(v;{i!rH-4yYp5oY-|sf&&bB& zZC-aSc27T2w7xU0G}Y6iIsU?mF~|M8R#gq;D`QATnez=tEneG|L@cFd{2byknG;PR zZmI{(HYD^4f0vsVEZpPyzQ>sp2AX?RhOYTlGc8?pZ_-nkCL7Y;O`J}_AoF_gV0U>M z+pRS!P~223hlfQxes=@V&=wcd_qG9}O=t2fj~?SZbUZuGmeJ-p(S0jph31KZWOZ%| z)%dY-H4T?7Hv8!N!qqZzC-+7K{h6MWVCa!W8JuO;x*|kE|Q`<4Sg{>wh1b3LPVZkG>=M9C;^GRcpiU;B{FkcJ65b3 zQUD6MRX~H*T2Taw^l~h!iD#?bQrXMBM6SHl6cQ`+$Cg`*To)j0RUtcjf#hJ!*jjGz zxx}rmi4D7C>+tl@sk*(%8EY#%PmKuTwJqzJi`}V6%VZ|#GFl`n7R0TBb4Zb$z9`IW zfj2q25PQ7fA^bARzHOdFEKdMqVi8VUYdY8I+k9FR_r7+q*+o&dObP406-o4cO;Hbd zn&7_@aj6Q(eB`kQrYi%EoeWaxE_n9%pJ(w(ciqX-RrmvYQd^SH_YGlG_vE)(B?bf~gV8%1?cZV~1;MFC7QSZWT!?=XGG2k4IRds3jF`%8|p+AZ`$Rv!b zk9+gvWylk{H?Kt7WX|AJm_FhGay^rZX4(|CkoVykeP7<*cu5O|6qKDqpeQW*$UZUNt!WZ$=4(yUN_OXD@M1H?3n zY20wNK!RT~izjuIRXv?h#BQ?O8mnIldb_)pc3Zm#s(D-1Gi;ly#Q%MS)e46PSHIY} ztJ!V48V1>TJod7G!@jG|S^B3V!@g|@_w`w4)9kPUz!ctt zP2c^&Ww5^EaNchde@2jFH)m^AT41xqDMrXJv}kvPyF*=G&{fgfmC6fxwom_OgP20$ zL4apBuKoEhqOu7&QNkgepDBy2HV;#8U~78inW~R9xAQQ9YDq%W|4CGBd=~g=G}W{( zn4#QMjup*<(M zLL}`ZotcE))r^GFrH*0{WVp6JWP$^a`?SiZhp!it03u&Kr_=J$!z<2BI?dgf)tA4_ zRMp0t%S=sCM9wSlI$ibRMDm>k4AVAyG8o zR5Wz|n>WPb#lRW%_G^pnTR3NPozc--D`YLBx$6GgWa1<*Wa2g1cLgSEjp50T9B{txCM_ zz^k!@xv=EBPVCEkrTGNc?XziwMPCW_dg4$ahrz=ja14ls1A=DCb;}ajC2dc8kg-B* zIZ2!dJP1Y=q%B&?fqX2!<(#=iFf~?)dhb(DF#CWf%&+wUxj1oW8q|A5Irl}GO+#(6 zQ-NIt;bxXl3}e}T^JhrUJUDJiPY%EUY$!&=()GZ8c(B91F_;W0$nk9^&9TYKE; z&*K)7mAGje0o|F@={*pRL^(sOgqEzMvl{^zk$-y9y4WrOt=%|2*?(5J3ZzL3@aYkj z5a6Dpsh5DxkXF9HINM+U`}Jg6i~NnRCzsB+C=diU?yz`omd3vIHIqY%`m4y7A(%%-6#v;2BbhO?ftby->TQfWV5z|Ga{}H4aUIo4^RkQZ6cX zfHpF(B5fnHp~XzXG+sA!*JayIt~#MEEhWJbt_c~`^b*%VaU|&z9y0A9Mhr?&yKk?l z|Eo!oSBNyEImwG^=EFYk_XMtDY9Ivi%5=i#fh)A_n?^*f<(l?G8apF8*|nbOef?y{ zfi%OXiUa^V7TgpyDZtYPp}WF4mv!Pn&m}g-TS|t41=A)hO(eqj>4g0`b3vj#C~{(L zjoOZN(P0AU5S4KTG87L(1-wOex*{UO;K3>#ziMs0iQ#b_`UdbgZVuaaoBf2BPTx3m zXcv94y=(1&U9c$qkrcKw@aXh-#PGm*hio{THY#=0=_4dJq6k9mvD;CGkR$#k^B?3? zzRM{tA1sI|tqZj{W!n_vwoHKd-6@~G-RRVOAee-*p!`v#6@vO~2fQ75zhX4OfG!gZ`)s=-;jK+Y^4#{`^DmD_vT9m#j}Ve$$G-3A zUD6xN6CDVo$9X-7!7an$jjmm&!AXw~)Z#&x2()zNdk#5dWf~^wI4JrpU^NKhK=T_;@=^d0lyL_d(CIp`%A;nHgqn z^~>6q9~%}e;*gNSihN8Bc}Wn^)b#U;+xjKYx9U4wjT{@(P_f%dh|$hDj0AzKZ=35c zELkW`#&H#Ilm;OEbPs1IclX(jdSf%9wORJbBQ8=)(bFbbQ@NAy`Fxe-zJ|t2eemQD z4p!%)q}UwL9GG&`*z$6LrM`83x`8S$SGN(^3x^1z$t+t<-!+_nWaLf53-$7?;r4ZI zgS?Qm2%UJUNkCTh6g{GAjdV&pp4OmOIBxM5@SGyp3lb?q@x zTCs;@Z4GbAoOUj@XTzPsIX85%UKem=SLE0Ka|W_ta5v{s1wa0vWbnigv4tx1+=BBU zq&kagY_1Xe2*&l)Si!dEDE4|9+jcX(T;S$*smN z1WJ+N?bhC`wGTs1Gr<8vWkinEdLnTUS@Elv?bkU={3hyw*(XG^KwxhQUEP#Nn;W=H zRcENgAs?7CX&mN(ePsm$)*y*e%5{^KjYtWAmRu)lFxC;FoK>{L?F|E;6a9ch-V=5H zj+D7Ru$bpw6+Z7=h5cg~qgn6!e5mg3qdQcWw_HzRFKUfuaf18f@h&3G>?+viE5Y$e zg!O>cH;kd4YcF1|kz|f?qDgpr0}0X|B;8+4-VT|26z+jTXOZB(S8MybR<&d)n$|ie z$y^hXD||7*9JBuYiAIN>PdWAj8$E?44Ww6qKh@74ivFH}xE0RQn7AtnaiyvD6JPl7 z5wdfe=27-Wk=Twz@61XK*+?2p7X;odqkW@`PPGz6Kbq)LaBCXxCH?6%XF0C}_4;ZL zI2k3s7f*n|RjojYZ1i%&HF8&?R@QL9V)yygOljngO~53)!tUTwqh&`@yKr{DahfqK zR=WAJWl~{$0&$1JH3<4mI&RdUTRNXID6l~pr%?E;RV-+OmRqCsE#_b0i`VyWagSB0 z51mSdnadN}oUbHh5`hCNHA$nC>MW5IXW`|aw zU7?!ax2n$1Ax@y8?H)z03I^?rNy%+Y!6ln?y(D6*0u;;$(1`> z@Wjh)s%U=JIw`rDju&tN@f5OQ09E6@O%yHnhrb{JwX{f(7cB+4m$H)^MdsqG#TXP} z(qeL@Wh|RVw6Mc~w}TBGc%q}KI+{V?k|N!SU!%z?gMhU{%`Fg!1^+I$#=;FYgR#NH zl+COw!+5fo-1Nq5oV)MRbN^yX?r_B)l}5B5cQP?v|#?n=DU*#zpu1B_5 zMtxgZX5G5^1#{F6k~=xo8$PlsUCE@7zkR3yk_Cm_w2rwMW=QTbbO=KnGdt1{FU;mB zVu*ss>6Y2%E2@8B6f9L_2J$)zi?PprG%9ARZz0>@Qkq#k?P5>ywPbn7V0EUJ zdW8&TD7Ft56hcWuaxDb)I-t>(7-cLx>*&hLmrzhoLi9Vd;>vM1O;J;H-<0Ccn`oZd zrlfMVWoc(o7C()|9L8FNXND-NV1{sOf-v)GOBPq{+IxK4)93s7dF#{d|N8`x^y~vz zO+;UFZ{=(aNXW1bsPh;TGh1y9((3x6=?%`ri@sQdXdiqfK_E7OmkF%Hr{e+tM-A_6 z_VcrqzvLk4b%)`zh7#z=;u+hyw3`yt&Kq1bKI;sjb}P!-uAd`&=s}!v20Xfv6>|iF zGvcFAP9rrI1o*@42ZjhkWHQ9TLKK7TQLp-!tN2#@CfFWOXcrX+iy7{~0IP&mG96}^ z@Ms`m>9dn8e5dWO8t!VZ9I*{t0xO^{S}BXs3@av26Xi)p=SXRG`f%YrjCG8$Ov%Qf zG!Gw4yfmEnFg>I-%rVxxoh&dPm}?$f!P&_aVTIso6=C&#gDl_~^e$Zb=@uV(s?AYU zV9{-G5|@*)cyUEIlsY5k1eABPAU^JPdFQ~{FP0t4CO?LS<@+@Nut6ATGrnv9Yy-9q z(_ksd?zbx$V2icIU2?R>nx`&!ax}Q)%s=7C_3sc-%suP;qXDjH!K?U1+}bM^*O1+V zonsgFMjY!uR?+-kemePqXAUtLI^Y}A?`dNsP2LyaejEO#&ap?9(t}+BA{I;o8t-up z7-T*xrq~_EITL@YOHj1mkv=HTW=xW3YhzlW-TD0FgAXk;F4QX|urE;38pBbrs7VR_ zVX+R#kgi7A28BXDv}5ve7wH%W+y}>Zzlt>D`ECo#f^nWn(E@W$&PL8BaQEg~b$CrP zUHnWTpZyc=z!IB<&BA7$WABu)u+i~O-Y%2^+yMUe&OM^t&WUioP$<`SHE^+2YJ?0P z|AIwY+!vs($qRs9jZo%*5gam(VRRkO4J;N01Hp>m7%Zd=Rw#MTt!a>AjG|yGyfDYq z-~a~Ed*32R@E%Oa9$}l{eS)9^QY@#xN=ZYh4scDq&A;)*82>7aIxEWwM+>eI&41+% zJVKNmcj}`CjO@XH9XlRQ^D~|SBZrZL*)xanOOIRAq`*Uk0*}bWpkPCwIq>u-+zc6% zqw}N)#}bd6hG8MVX-m}5NYJ!7F5^4II6~TOupkf^0xS`RC>Mq(v$n1{l0S#s2OiIb z!NG2SyZ?i8urpFKryogKL*Fjw-T&{W=v5fsIvgJ?no_*l(WkY7+K)#d$Loz^7W`c{ zY0!=h4>95yUzZ`lh``hvm8jqrQRpvd5Ht)PeC#t8GCUg1-=0*6!^U5( z&$kfh;QW=RL9t1LNj7D;!7!5Uz+?h4=r=F-z`oC9de6YED261+!B&FDW@Q-fRo;em z!an9hJZ2LNN7j&y>a;X;%151A@Vz8`iP6e(%F&Ez;B%Dz^@$j=ixqR?s}7JPS)Um_ z5=sG-qr&iEd}lKBVf@nM)@0Fy;FDd(Jq`%`-)(_~#$$%Y2Kz%%3!eaN4&;7EhJ|h& z{0$2YnN2Wgf|f_{4ut{3AYqblL6R_GtBNDbatN>Eapf5pZ1;BrJ~#(EBFAwAmX>-r z${V&)_VpVy*Z6FqmGJ-K~4T}94f&deNiI9O39c{#EBNB(xwT|jHju<L9=U!p2}?Wb?%2Hgeh^ z_!vR(eY^(?x&)ttEtE%}ll417Rm*VF+J-y_@-olCA(h*uRIl1OW@^-BX~xIVoa{p& zr*Z|%G#G*d^MZNBA$g59b7PZr=2;LN;0U^(O9TQM0uO?P#6yL|-udrB4-G70lX+3i z5d3@){fH3Ff!&e;xF^TSVcbu}?*!~Y2JU@m?Sj3MgMT5%$7h%l@Vhm`WSH)QqyZua zaK4sagzbUwv;l|vX6)InURxTXO0J=Nm&U({To#E-hm&)QH6mycysIHeop;&IBu>S6 zDf7@c>xI~*7D9|3N9v{HMPH9=+AaQ$?03Gf{{6<9w#ZrJ8X*_-aJE)Kr=YBf2-mP(=1<1yZoBhZ!cTZ2uMmi^az4 z$A+_MEiS0opyezltzXY?G<_)9JX%zPV^M4&Plnxlz_wsoaD!Sf=Vb%uIWc4LnC!^1I;Q#HPD%=V}0MezRov?#8!!3-=PwBo2FRLyuzcn?ZpH{uhaE7ws2}AMTe@3{+yAyPl zBE+=Xh-PP^#TGHd?6TxJeEGq?C)Mxk@DFZGa`MlRr0Jgc%uRp8k;WZQfYA*ApV?wD zT?UrL{zjm$&2i*x=KGvJUG}zYiw4D^6f$-G?_9@X-(c1Ye6blKX+p}RRIsg!9vSYZ z%kOF!eb!8oVL{Y?C-goF?@%K~CsXX(*SIr`T@NDhWDXo%&<8`;^h=g%^!@!Zq3%k9 z_nqT;mB{?k^tkmk>YO%%$|TZhW2AnLWV6hV{~J{Q&k~dm-%%uSC}Pw4`%ekk{ry!r z1tcc0KbbCi-xYC{+H~)XD62k~T?_j41^NsYOgjRC-Gs?0BTg=sV$p|O98*eepEQ;g z_?9R(Nxf9OPI-0F5juT>fP9i?R}>P2pN`jDl5>lSkTfN0%xX=zcA3fuh166tA(IYM z{?WH;ik`Z+GOQfcV5-D9n&28?M$8)NM`^`}vCC&YO=vRS?IwsF^ZDF5eAQqg(r5xO z4js~xqHUv?2s?rWVFQ+Ek2LUUF3A4ATu>r70Za-e))OwC zX=}v&&gM6C=`Wk363{7_Zb=}0Er)R=fR-zo*i=6=dDwDhQsp5IJxnI%g+ic`9D|D< zS}C|(7IE2t?8k_~ncWNve#hYa!stBF;{a?8wr-BEvDKdY`oDI3bt&$Hoq4MXbrV!3 zFzmo~0So`nDgW>540Gb~-!cF1k-dCZKq7igvWB*k-b&UPOneQya_DEI%ium>Mv)yP z!V%pP3Z#)`mav~A#Jq}F$6 z5~&f-y#l0uS526ua{GNFkCG1wEp-td%27c!m=%4>`9F#>=%T3(8|0&|V8BBp?=-G1IA-+y!M{|(-Z(V+8qrhpUe~q0N@_v7 z7rIcWc#TK*DRZ z;Vs#*U*hPKAEEoMxx)sn^J}VS-_wYFP`3IQ2uH2fLWc|64t9+RUY zrlU&68Ba%Fs#qG{3_}jk$Tb5^Wz&fiGn?1FnqrPv|9(fJLD!cjeqdm3(4~Cz4d#u1 zUpRZlUCI9DUtI%lQ;u!f-2B^12@4e6PxO`X*2Mm`lmaicGqv-&ZqyOcE^< zT=1;`t%zE=>A)FC22m4&v%bm=6kOkYE*y(18cZ?jJ0_cJYc<&6kr9xeAYmj|F|KKy zMCI41Y=9I;iJ`U*jZ;}Kqax3&>?X8wHC3aon5LZore?7cFzO~S%o`L4a>o#|4L`gd(5FlOj02_{zsh>+JepER4VzRY$@;H zKxIT4F=jY6e&D$;ug!PAx&BF)jj8gw7N%xB#!PLg+EY)FSNVZM^kcU2z_#Yp{TKik z)ATbi7#bY*|4aS#Q;5B_HMg3WqKXW1>5Q{Of5>UH=#PjWAPbfy50E9BHM(Ey@H1k9 zvBTQt`5o^RoU1G>Zxotpwwqrru*CgX5>htC&!-yfgWVRs6=6EJGsrR1c(THxs10KR zj5(e7CV3-J#>>xI#O;SC=pV*lFzg=)2zDbN_E4VD@S^LEJqzRq9`%61 z!{p&I;$cEW2~HesWY(~3Xu^FMt!9nj9E>XxR0u8r6P%GN5_}1(_}z`mC9USn^BenT zM0qWGxV5lV?;#7cx^(i6`n5@HRXu`j2bCkb zce0@$eBDfOUg3VIJHx@^Q_Q#mWsBKDMa(aUT2g4g)q>A+_4{^4?z97Ho(Lxek!$%QF*fH_g7^UIUGqTcVR81GHJ9=ky{|PFLyLEQBv&gjQ&sYb7q73U z;XdD9{`htl>f*%fY6I9OExVvday48qZKx~D>2lh9d`s;$!-rhmR69U>Qyo2-##=jI zrRcohc!9)`ATehH@jG=Flx}RrZzP@m(o4>AWlh#X;0q-EHD$X^wBFg7C5d}E-s}b6 zkI{=wmKS?7euAZP-Qwp5SQM9QX2(33UKm^pW*4Jpf}M+PH{*T+(zpPITbcrADO@q| zSh@3na?Z9c|Cx|sKhn=poY+I)I~j{oqT*%wVynF z(Y!L@Z);vyXkJn@j>&_u>v#4iu`x+zE)>+Lurk!~Hc|x=`o^F#t?^1&#v2;0V@w#7 zUHx~q&Y0an7{wEEP&b&Oi7B4wU%oHHigZ1+Sz%6pnyi6pJY~*S<6+oe6_O)?7qf70 zsnH{LG^c(Po9NR;;WETe{+2U>e+qk0u0Diy!cpIpb18l3aozwfFp~u5W-`Cf046iA zmo`tfnVKowHYfZc-6)t>BWR=P3SJ4w7D?x}pHx<0Cgso?RDdBpc9{2gvO0u#cLDA~ zAI2<-3;W2d$NlJ5X}o2&U-8lk?>}I1M`>-p2PQAb?{29Z+tjxIurT@n8{-<*=$AtT zYz?+L3$Pla?oOxRjXk>L^ayd~HMqPTW(KLUK%Wm#WF{GuEVy!*5Vy2r3{SJkvZ|j1 zT--n8;VYIaubBJAmNE&oHK;~qafkUH0JcST1%*}fpUNI;nBxpR4d^R!PkT4`7P!Ei zA-t(F^PY_?Sqd20WwZKY)UN**;gqQkc5L&<sNu-gT(7PZ>`uSr(Kt7C^}M0{OrM5Y>XRfcL>0Q?0{ zm)xqRTH0CJoeZ`Ecf*d=!fataFDL%u$(2$b+23x+qkFdSa_WpmIHqk(Tc{+vlm{*A zDaZGRZoL!^c{w~7H(AI(jpfGb%qH5O8rT}+{IG~Njndzx?wLGc{A7q|7#+jdZbhy$ z9tz-9l_V_>21&_YAnC?H@Sg|NwMZjh3z5Q=4095VrhrJCBd#@)v#(<_t*yi@#fI?C8AqBz&~}*bX^EK z`?P#DK1!KM?@T;Cx790wl47Dw$N}|RxS^5I^632QW<udwE3T!0(FV|u37$Toc z%x3O~9)_QG9W zG|O1iVwQ-j*CQDDs)eRd}+L3gkZFLxpvP9@J2|J z!M7V@SC{Dw8iw$o#4m@jlJl;Qo~DBttG$b=*~4DO3qJ?+k;+b)K60fM3RHMY2CVwH z_DEzp_=Y@24C)H@?fmurw)EpQ+Cx2f_`++fJOfcp*Eycx%0QZjOO&V3)3F1WPL<_5 zCBSA}dk>}tQ-hmW1KX0lF2peQZ7;5!uSxJZ*qjz4gdM^j;Wq|xSHwWhV+E1ZSve+> zM36r^T2lkAts#J@2iMEC^43y-8i0DXDYOmu&x?f);FMg;z~BbTwJL$#=Xn^Q08jup zV2OF$y09)HiX6+4ah_i&V}u6OjFLe*P!meVf-HA7Strj+CtHd?SxU?d++dAJ!DcmN zryS&_=}jVEN~%wD*NRqTKyIvtK#oUgoS}BPh!ZS?yKw($-ouZLhq=l(h9G(V%yY{5`YOt+Y(#(fq0(CICw!DptX0Zj z_-*=8P>;51LYGdggoN;_Zadh@X}>#v>7`V~n1(uk`%>xfmo8v6mYVib4|mQtdqIRo zt|%b=E509L{@n55a!=;54cyh4rmNw!ZSF)@E*`I5&Ab}U!U6X$al}6KUN00L-*|WHE^OT$@h3R#173PHndrXaehLi`sr$Qc$qk1u!9qGFaG}q2_Rt z$*_$sJ|=vHm*&Q%t#!n?=y%fR3@Deq6_|5ouVOKAPL$>#5Q_Gz*UYs{@hhrNfnxT{O4)=!mO z`Mef(S9Aij!Fb(5XZIUsR{A`g&qXu%sk*^;peVs)T1c~GBBj^+NgYM&D0Js52`kW0+mVyICeS<4MrC_T=<#7{STU-5XH51ML zBV5u0J7&+kOsCpdms3L;U8VS#m};we?wYn}M>+L9=pAOQ=iGns8gC;DXxLS3O>;pQ z(%JIReV2!`>cSWfw7CnDmt<*~)mh`>Ge*RyN+IS#R)JH(=7zrk8+I_4+5evH1$Aq? zb%od9*<|96hN6T3{@@;77-RlvR27nqWPi0uSXpHKj6@EVF}nfVdbHjBun&!J8^nJk z4YT|=>j>g~z)=YH;ABnXT^a3N5tgN`i)>E$M;}0~&*PaKzcrIZTlh$dDzwMBgDnV*S2UIN|WX z`wo|9(6|Jy;Wfs}?$Bb}1SlnIN)%4kwLaW$yyaVXyj!AA z$~UjDVN*f+0nEXbcqSz+kdfixZ!m20hHa-CN$=O0cw;ng42#u7XbCV@wVj8Am6BqT zi-kH|s`8H}*GD$UI~`8U1%ze?1fF2;_DmLGOCS5`$($g&*lQgXw6UZ8(T7_oT*4*g zx1nXhzwDMq?q`N<5Y9!&ugR0tYY|5ci>YLP>Lf=TwfOIBir<-UUilYB@UPzQ`!av; z_hU`;+bYdHy9L%q-O9l1=gHn*E_iO^hW36RA9AR-?5)G+dFt4@b?!jWeX#r^&*NR` z(SZpk5!|@0KMy|w^CC|t5pbQ*l(>Qd1uz$ZdJ^&dAAyUq@jC01vA03oNl-W(-f|;a zgVu11tU0(4c^~m>MStm{O`>Vy5y!~T<8^D<%&rQ}eH(%w!9+_Q5Pu$I7=*;H9uubD zhxg~yvWBZd>rAt0P*d`05Uw8goDi$>E8Ogc0Wl|`&qZ<4z})>#{4OxGpD2_U`+lA9 zW{-yPx$Heet%y-|60`84Cg}lC;j{c$Tod1@2$HWkV1Ug@H%3 zOC@1MzVZ}vi6;?>JfrOa8D7 zZt>}bf!V5d;txur>U+P5v7v~hdlnkmVQAXN7dC<;ww||-ET83bJ*0G&I1d(+*3_bA z<$~vrOQB^kTFjs`{fTqI%ib?%?8(t)+>P~fRFJ%j87M5t-tP9G zv#};O)wCNqktnvsxU)n?7&5^{AEmoq&UW?7iKp55GB8o#>^R?kIcU)IYdUg^hSqV;pcUB0=hVJE`k}pZTF? zkOb*84dFuRHQ8;?agu00w06@Fj}yOlyCkME)64eo!z!28wtGjWYbc#K!2?DgVzhCL z@8euz!;YgnnxqNa^o1gKc0o4V4JYO6&eXegC!1E8BI5uiw#4uR zz_Q)NVVO`)mW=p|kKS$tjt=1laa^PtgM{)XF>~c4>;WuGiX$X82z4c4oENYs^H8MT z?7WFpW7M6!0Nnar3}k|Ia^Q%eTOr%CU*@nw|v47Ikgv2pJPV=_45(8MYv z6tRHgyL%U@Js!$Fv(ivsmAR@xiMpKF&G0~Q=WIO}KQpr*?FiFr^uciL!T5E}xIiO9u@S)qT*7Hu_v$Z=XQT-sSv}|L*5Pr^V#1Miw*2b#~5#P?lsX z3T%JhHdvZW5&}P1ehy3!e+WDIuf2dSCkoaiDYPDvIj0q-imch%k^B6s|D`E|ehdT+ zc+o?+pV+4A$v>vkI#MC)Ju~34&f=Q&J4^|JAVzcXpq<vi7;J}Ii6hm66uw zCQVZhV8P)e*auck)n3%DVruKSv7{SH$;4%rubsh@u-2|*BDGbEsJtIps&f@B#MSE> z7RP$}7TSGE##@r>lb^a6m;*#e(qtV;BSr{-fQ9sL&Q^T(?L@LL!eHBAj&YhK7nNCa~|DF z!cwDwpT+TpAkDIpFHKyAURQ(1A6P=@bRAVFk)mBI)m)_zu=9dv^Vi*SY_B9 z1|)aKTHmUH{(p<45|)&@J%Whk%DLTIwW<;(u6OoQKR!n5Ey&f8X{7X0wWan`*6~I% zOK7CNsGgk21wXBbBw<1X=Qx-|b;~6(GUl*YPSgq+weKz~fIG-pkZgSQmhMR7Y@RGu zFk-5bW!erYovKI}jHcOHYfc@hGsGKGUqUH@(Mw{{i7j4_UN){Q)D}&wQj?zN9&T9q zsp!s8**dJ7yArI-eMij}m0Uk=gn*e%RZ5+sE-$G@Yru`s&~6jZ6~@OHsJtf^H${(p z%`aZ33DL$gy>?0~PDirjs`xLX%1;&{w8%!pZE+YChB;saQOH?qMQ$8g&Z%al;79;6 zY}8XoVFZk`CrpX9krX9x6R6M|kyEQwepoPk_T+x|8!x>{C(j7}`0Q*i42A04X<2g4 znyMo#^Q(43@B;zeFhg6)x1e;oGwG{b(}!$A828{!*JXlNbbmc=OFE!PrNUxc9|Cul49Q zmx7yd?3}i@*V8;#A{crDd7~0S_nl*uvMaWjHxdaI`MFsxS@SeM?WO`&!}xn7y-~{5 z-j*_TxFUWxoPL?@2hr5rbE(%3hnnjGr-y&ku%P5m-~uXU_8U3VU#TH2p+?K4#d1!b zDPv~|dXEd(oR*4ltytm(Wf#kE6f>-~>(4bA#X0JgxpldQAz)WF@IQ_9ETrhcOx8r4v$7i8A z1P|l=QHrG1x(F?SP8Ou`M3OUYcuVdsdUHFguOoNd9{FlrQbz}x*qLf)XGacHMVZ<0 zTN#QgDQ-1)L(Y(xs}Bg5J=)52Yu06Hf~E1?AT6e1PHp5rG>#GQF9ULqB`R4YXa7yVsD zzIB})sIB$nbkK7Kw!vAO=Qi_U#3G=M-1urc zZ%HKGenoQp0TxDPG!m0|Z8OX7;N2zCPSoDJ(r(0^Z^YUr&?I350br{p(8x~nZ$x-L z*q@X4J;diu*H9HW5P~LvKqifxV@9JdlTtrTNt>GTe#O@#?{yj?z76i%i_3HS^L@sj z{k{G1T!r(#j|HwVr#rJ5?<#qbRbCxrP^N%mW(3)m_ELopyCU+WkKD#%( z;B;B!-xE|uEq`XjgD9T^0?&usua7X}EOg5_a?@t0Oy_eLymZDgW~R+p6el~R==hht znm0GL@wV%6?v~k+-DY3O*FiBBB+9|6XKhCyKCyI@o$-Cfgc0IO&MKLwW2g4)IlRBb zIA^>tegyaZ7M}qv9wIj^a@>e*(Xsai63}|ZtrviCb;x~AA9D~+%v+&zXI_XL!f_t) z65C~JRf(>ijPpF6xxl}Me;(I;)Z|FO`W(vr|zbemk zw)iXVsi^olj#`5uWK3h4h){b!9@@BA5Tz4xfqYKZoX&l=aScGDYOaH`0^k&P1X!=B zz*Ls@a4qlZYjzy=lh5VgvAcjhYLFnNlemC?#PU7XdCJFs3g<8VDAhlxVm|-|Y>xU; zuIuJNbdO;%FP~Y5*B$g-gniMPL6!1MNp*w#GIeInNqv9cu1PB<0!twp58&zT5jt{Y z5}FErJ!4V9bY^GOWJM|H0mUPkOmO^j0q=?6?rCCkJvF)jrvMue|EQF!{p_r~fw}4Y zrV1i)0+-+G4`9C7LBeV8COGR-vf?Q~cfB|b`y33VJD~@<*Pj|F9<{r=fa3v%uevIj zoB;;!^%Y60mcXwg=6ZIgpbn4@>Hy52Tzr7nlxM}*87NyMN~xT1nXUJ)&;Rlz&Tbpl zneLypPv53=1{c{j*6^~EQdgtb0X9^jdzJn=;?6$B10dH5*z5&Wme)jF$Zb#DK$?A~IX)`~WQg=hNS&pA6F~WSY^u2xOmAcBLsp zqgPJ1JB|8A8p!gl)N_96o%q^mE~hLVtqyj9k8s3Z51zfAL1GaV^ zc&qR*mZ+><;b!<7)I!b44Tl}p@88i+1I0|5B1_S_%xsz)=A8&ue)gJCs1WGnDfyli z6pWD-w+^Ry_+ECpP1)e(6m#J<1-v1S@ug{JRWf3jm&hQ>`t1yqYALmJl>y`oSrR*7 zybR}`jBj@shRCYT_=iY<8d4=WzG%SK@XSPK@^VIb9K=bo{V0dFDkl!kg23>tPwxEpD zS&7NdejJMWHZ98oKQgN%Y!sUx+<;;S0*@+N>sFNk+SPA2oTI(PQDw74zgj!+oL7ej z`iFBz*Tj3rE=3Gr?J$IgJ1z&i!jUUGBz5QAMRK35A`@?Ne19)vo-fC38_*3xyonT$ zwv+edLHmy^upBc;HiU^`^c-mY5u|GH6D}r;+UUffvi~z~G2nHV5T!l7Wfja-V^40o zs_L?~N_VJ^Zq#4aZ{Owm;{sLR0hsS9EOs_-f68!!{_k6u>&c!DlG2mt1za95)=2@v? z>?gt}^S&YWc1IP;gl@lEiWZCzNYh=u4slXqkCxIw<_GkW$pk`Gp{S9HbzXR1eZ|r# z9#J$H0I6(Dc54I1kp4Z7U!ovDHQo-vwp)NzpjrO8I^h?Cv}gE#1jXGu##$Z!j2bwj zD**hUEz_Y-{V%@`XdUp^zkW6`%Sc(~rD(3X3Yu??{a<69Gv|v~uq9WBs9Xcp89bsX zJs64zwi>Unv+me4I@#}UA?-=3?RdDl0y^&SP$t5WNK-qc9=&4rX^88HK^h5x(_JZ= z2BYk#?S-`3t+af=)Nn~M;aYckH~t0-$`-D_1RgE+`gKjF*Y=&m0d0*HZcU`1lSP@+ z)}+qi$Kk6#1?H$RA*-!6(CN%wZM8i{k1h=WK$VlgNYJ~PewC~)5A~4zlu9IYtJr5# zF&A6LExin2o7?Ez@Hp3P_hLVjH`+J)9Q{ZC%K;@ZT}t-sq`e{V#s&tLt{H?cWzh%H z-!z0a^WKIWVwloa^Jf=YrG7`NVOwo~wgo}bXLK9|v%8Ka3QQNC4B7SMJ?I(Qv1P~Z z(|Ozn&9;6i#3o3FP05deS5T-Ch(!KD$UkGg5_xN`TDq_~R2Tu4?kd{w#tTeBoK_d3 zFI791(d2OisMA59=v*W(r(m?77DJQ*wkvqiowg$;#3&*}KX%Bo=~|@Q&rhO*8Wb%` zRmVHw#m>C|Q|Ss_IBSe~FR@6BM-X+M_PKmE?ESB|-*vfKV~C*8X93;^bf~NYHJX9@ zOy6F^uBHQhPXaJT^d9bH?5kg2!dOIX7N9eM zBg(k3c0G;R-;M!}L6<7rCirL7>-38lLIh<`51te^QJ)vXujHD;nhR6!GP&f3B8q6LqT{xN#aUpNe{qZtl55mgH92V!GrH5V{V}5@Otbz zU7maP`fUKlQ8SMN0vpDT_%^Al!Cej=55)O7`Wpb8>L6z%(5 z=ihKm)cDP3zef5c2~f{Q52Cu<5nAZ~aCQ#ufpy&$jcwbuZQHhOCl$M5+qP}nHY&EQ zFK_$y?oZg~*^PbH8gop<<2na6XpU0pfbkh->l+- zEhOj!>+&;<2_RE@fiHQ#-*aIEEGFG8a!2-d3X?Wd#P<>BWsNb&Ae;gH@9_bob4rUH zSsM{S$%6Y6B)5Zp0G0`QbTTHWMk1Iu1%am#PHU1s=*E4ynt1 zP7H8dX&sDt@V1}758!jD%?Zc)tvHjPT&Q5^hydI|9SfclRV}|Sm->nX|5=b3<>oSs zFSNAhk~r&ZESfxutg%X>CnE=FGcG7oxTE9y@wqp#-8qh&$MDcB9ey{6UUl2Ii;CVg z{=Y=tM-bN?ehgl#>xr+b8log?_{BlBR!JmF^STQM&Nm5;d6A$Vme08C3;-8WP3vST zB%AS9)*%Y?Zh`2L?tH40+eq$v)h76FbjDrOy+Db6qXfSKkr&EUd}V{XKYaGczH-aS z?WHceA^)gy?#b6Dc*JkwYe7;_?jy0dL?)T4!=#{x)1ow;)3m~ zG3hkA^!qKL4a}-oR!|i$)gC1+h^0uSt^5(e!0U*euVj|kmY4scF+9z!70G%L&y&JBUjQS8VH>4vMZ|MTrpw)dI!HLUzZbWS+47)zy~HNt z4UCtjS$8i@Gv>Vso+SH>Y_C%D9V@(MJe#G8RaS&1L13W88&h(?r#q8SP_y~V6p@#F zj)>x+ngWr;Hc!8BU#bLN;YP47u2J*kd-yK#O@*0b$8sn>yC_9Nq9jI)4PpK7w+RRh zH*{WiyDEKBUT-%kDyfJ+B=;lz;SuHTZb;hJR(^MLAe#a!~-c`CaYfeUuo4d?S zX`#~vL>Dg@nA;Uo5kYL%)RN-$OLF00#93fMec^SfQr`_V7w@7ph=iL^e2Q=})6$X9 z*_D}VC+mahuWy@ohzWmFU<6Z-Q4%^XZ>n*B9s`g*R4Yv4yW6c;aLlX;;Y!*8rd%A7 zxSxUHlahK1$JF(m7`rS`TfUXS@A>J&7B@ZnzQ>Q!~7o@>c8z{E_BXx zxX{s9%!tHuz?yv0z{?zhrQq)nEVwb~pU_*-0p|YMICM{jEso-dM&Tc&8jypSua}j4 z{80K9=Psvt7XKXojdGsLY;l)PX4ORcQgwktyAS+*Y$ayFxkZG^HNI1n0e0T;`$WD# zA3-kLeaRyPXW1FTJs`vN(1!tMak^`&3-eC3ovG@;c8*fQ#$Z4`y@7EiUh+#UF?2 zu>ZC|qMBW;xm=q^&>-C-Mye<)Zc_~*MTeOe>P6x6olpFB!S#1nraElP#O;*F>&*yH ztv(5=(tRzmS+L;-GCQ+>>l}PM-T6q4j8Du@!BlD6#4;Wnq$bHq91(8^+p{Y6PH(Q; z=TsVuuzQQJv#Zj!$QBOMH!$oW0W2X)IvF>Z(w9n;C2=eLia6TdR+RevPrb$QgMj_{!RF0ujSMth^94+=g>b1)jisx2X3c(sVTgMCPh)$X)NhktEc zv#`v11q^sGS*d;wYw8-jaw}b30C`0kQO|%e#kyCp!0JPYwnFV8EAyP~cMc8R49_1H zPx!J2H8)QTv08on?D?zibZ;MkCH`OY=={1rjugILB7-R)O4Ya*)eNsEcZz38<(uw8#I_`fOH zGg?o@p9b}^xWo_taETKWmVAzq%ZKg(jBLx%XYojC+(J%_?Oj0fjK#L>6`wxp`r;1T zjAwj;U|9}$X!#Bxc+0rQiT`2rCwX9ke%lIh7J!mmFr)CxpUH_YU-U90s5PUEq$Tyi zL1uc^^g@(NAg*Z`W9$^0HD5=XxoE9gMr&YKNDPgEdhor+@kEL`Kr(Iq>$4-e)uKZP zIr#_vPH#BjP%m!sYi6};EV)Z#$b|DLer~#ne32QM)Ror}v;MslwKjCfdL5RD+7ABi zA7Hrl87Wjq-U_FxqdYv^-bgbIP_&5rjanQy3f-ZorI+;6=s++ltu#{-4Vg-RFf@)( z5SreAJN3kuj^k$C+U#g9?jAd0GLFU?S0}6aKU|InTivrhiN9{(M*pq?JyVh#l)T`d7^?_`aM?XPO>mSC;WZ?SWoT9v@XDv?(J=3Qj~hlPJxQ zJ0IbUeo$jDE@T@ve1zD=s2?$(@*cmvAuDjIbbg7#vZO~8=$@3AfqA9@;kk)^oF$`Zv zu=&hmAaQVCVF1IhGB=EjwxI1;X_8^rqDY|I!zy}6yPRH5S8u&j(Q^N%@4l1JniR3x(~F1h3khunO9HWu!Q60WAnWOv1`Qa^cwhViy~L%)1v{BTpZXY0NWn!|zQwfT4E|yc z+MY>}M53-8%=(JX#$Nq#8WsGEJpbem-P1~I6GmL-a(|{>WONIS6i(nDE5~`RQZ#Z} zxeVD>Wb$gi$}&-aT(@!s$E6XVxitUAq|@w^7WHuT3-F0Gdp)O;n`{GLbi$z!v3iG6Ii<1Zb<^`04&bjZ2Z^g>nbL#Lr!aQ0Bq^V# zRs0I0UVp-j1~=V9{^PyaID7)dy%CDV|xfIx1s?{2ns zA2&KAV{GUL`4gFr#!PFbRjTf172rd=zYOcyZyi~lQWn%Lcs&^D)&lrt`&b2dYBA;7 zB489yR4mZo!`vW>O^&9DExrtvZ5!EuW=cEJf^S+~T65MWUqMg^Uc&>@a{zj?;{Q?W zUp&kaTxzGzrx%i{Z}vE<6_oY>k79Zf2fTKfs?B4f;+!6%6;`d9-9$=nEVGT?tzC z%QW>_0b=vlSDXj*y{iFHRe~-l5?7bSqJdVf7A1f+-YBZkD}Ht$G|W8jBn+ymRWB=9 zua{W~Hb$HEzKD4s*|r8Tb7OGV#JWX`o6tOKUN)|^TD$oiWy_I^q)_DJ&H-^fhE~C* z^r(_xtC3(s+-nRQp+>6GsMXVGfnW({+3PE-;Pn4v32s zeFsn9BI*`>4-)sn234&6QWAfY^`90Oa$_0MM_h5|>abT;pZxdEHnGXk#fmLeZ(!bE zf&&QNZD40l zf&hu=t0%gDxl1mu_hBLVC}yDGaz||-R|`FHJO4B)f3j|O7b%49s&&n?1Gu#@4B)1_ zr}f8sbRaFHo>Q1l17owNf4k-bji$;TZ3P>mM>) z)hNGe6D`4WB{Qod<|>|*q`5|raN^^q;CbiA+|>%&wL;d+1`h~3hO!wEftE;1WJ^(G ztA|pbGXDo5P%Nwr4=WZ*)75Y}L=|04cdagV*)sZ~X}XxQ`PT)$ET_h8tIOSNGdVQi z0Bzt=Dx{2-L`$Kqu=C(^iRQ_yCfqD1e5K(sWkpk2Up3NzH94{yC10&oU8qL?MhZ}m z{kZng|FoUNJ7FPE4S$zu>Ou%%UIC3u*{HNUu6KiL0vG)QYS*2K1VX=(sKpu>g+O#Z za_gAfB2j=~iVYrafH;7H5BSioXfJ}<-su+L~ae!%z1wxDtES%SlOwkxT?Q z!C`@+gfL(c&}b=DB^xq4QbX^0u1G_(o|`j!8$p0qP0B0EXBV=NX#)kB^e>NP1IcX^ z24P*$z>|ak&NPMlI@sV_&>HNx9JI7;Q(a$oMni>l50K z+EB0S5C9Dx7JX!xWouY?*oyU%OH97sD?sBsuHZVIQG*J( zweayK1x)CJ0VZE+{dBt!60pI0qkYz&!SkFT`1Qyd~9tyz`D`GIGnHL-Wq;7xWgx|Df5!3L^0Tca!a zFYT9@!FK{^o6M2el!mue$$M8|Q_2L>&CPgjB<(4R$qca+$0{h5+7*Wv(>ds%9DL`S zl0E^|^)(w~JZAPv7b)>NWETBIC@o7!H)Ls=1D5;*xVU&Yamp*S*2ObuJ-ph4n+m75 zWdG(o6g^F`2`ibb~~;>|J@xXc`%thSTtZtk>ova9X=kT z9EOS@1vmctdJMyVe7^%jh7-*fPEoHM-ZMV>E9^fkV0$A$HmS8z?@G>!y61I?5jldf zJ0=4}=Za(-*lcu=?OEXWtmoH=371X831%YikF>zn|VTqI_ zgV3L`k;ODybsw>dg(qHYrK%*Dc%Jcm_eML!h{%p8wJfeqT@J$FGZczI8HN$=8!`Sl|?BPjAf7x z;$}f41Z(E4ZEg_ngAsc#;S3>ic$$FV`9|RWqBk1HLL=tj!H~sDo4UE?q)O#1>Q-P7 zA%&H2&448iKKe&Of8v+NQRfYRo}HJZ8d^3(wC8>zal1^A=Sj~Uz3*o&^wr0pCvq(b z9+Y8V(&KBC!;maWAE%tqz5~sR;MW#qP$zf3RL$v+U-wxXtptdwHygMC0sSg zN{{29lid=uYSOf5Y~i5k4+-AnVxFApqeU!F3e`8`&}xx>H6vG7VOrKtX2h>VHT7*- z8R&^?m4R9vm)sC#p2D8Qs3_u;ebFC} z+emJekDu?>ty5z;zj~vcFH%(r*=D-+0iL6nQxFUQ!R92CedCn4(|qu!D`PsD_gcp5 zJm!#!l=svo2BG>Yj8eYWSNg2C9bCiN>>%IOhP5N>9-~FqDj+)7UxP(;BHL_5wsfPZ zG@1>T1C^lh*O%P?T|4&~h9opIP95<8)CZ<8Rc^X2xYU)9CfKgiP9_ z&zj~3Bdf%KL@-bId+-d$;jV)N{7z*4`@vH%goBHsJ?Z?zU4#AsU^=gTPP zFkt@H0pv0pa|5mPM17{QJ;?2$ttJn_pGqkHCGG4TJ$&<*<}cAOoIZmHl_v^qdj~h> zl7F-}hDmDqhw+M+5{f9bqAxt#76Nt;PW=uC=5VJ%9z|+yvCdF#r6YAVM3z|N4Y1&& z{76t3X7>JNC;jbSUcK5R1L>FUNYpZV{@gKAR1XkzvTH(y{OxSVp$L9)3KF0H+W z32uj!%!?cuOd^4MRU4IXuN*6xPzIlF#Lq0Dp$miTPZOQGG)+gC2=y{A)`SyTr*Z{Y$I&}HIoKouhI>TGcSTP})w^;ccnEr&=PF#kYT$0ZZ z5M$1uTJl>0dLs1)H6ODbuZc*Sk7WA0sR8rrPU~aKsM4E8TOdR6Mtk4lgz`0qo@P*V z&piib{%$~e>MWTR4N}+ZrySEeuCA=dz_`R~HbrE5uw51WaoEpi)&*7HjA#)ZHm8%{$%HS38TaJ`%+iSDN6gx}mLh90AtX!Qh5w zeR{k6X(4S#k}x=1?s|2rJ9pL3ZX^PMPw2KX?8k4ioH1Q%L>_=9UAD)-Jg}MLK4qxn zb9Vk?9J0!umheU^5SE?l{R`osA%VLvi)Y(CAJVOjOzzr56i_X&jc{F>Y3S6VVkFz6 z&54(iqd&sOs&7x68OM~RG)13)ZLwi69p>Y3LD<5M|Ued>UzIPtNQgK>QT>s50!7HRMu*xEE(83UeJKi3L9me&27mz zYqZmEkn=>uiu;0-w%Y+TWG7cM#`+OqP8eE$BX**Hr-Dl+~f@jYi199jBy_)&XQ{J)XF6zy8T# zC<6I}T!BOGl0gk5@$y>*l_xC^5KqOtxSezZIWb|huUALGO|lXFCsS>%I&T*9ZX}vs z6RVIRI+G#LtzS>82@m|t50BzE`%2hcXJP0#6HZH`h5mF~_W?8VMTY{izv-^1Jhz3T z(28C_%IXGFHu~qPT&}3Rah7Pi%-RZc3(5mpw*C`DRRia-rRXyh$6p%h7jGUdlo&GbXb&?26Q1u0Z5I_2MyL# zkFlZrUq=!&&~UZXFPr>24PROtM@BDJRh>%~qm$nL3~wm^asd1HhCYoPm3AUyGfhTa zTJDeXP2{=rP^jqSdzn%W*4=}DXZ1lppLOKTBT&k-tDh2necU5JrqiR#(W4+>^<{;3 zZ|$>jIhKsEHbJOPr+K{F;hJ;ASBRNzKEayy?NGzr!BnQ9QP<>@4%HLZ@(G5tx@Ma= zAc@h*%abZ!{xt?g8hl~%5VhhE9Av$yWA)a8)VvQJu6R+Vn+fi%c>CJ!1d|c};3EHp zc2%kzH`vlw#V4Y+0grjqjV;*>jT0q{R`>`~VS_EW@PKfr=6i=!&^|O5X;gvo(At<8 zILFYf+s0lXgg7knrJ|0nM4CWfrWezu^KQ(yt~J@#P8uZ-SLpUrUAUI7?f{>c-{=Fu z-7kh8*^y-dS4aaCL(f_vnrX>RcOd+o8foi|`V;R_j%7Q9{Y21kH9IKznWYRb8SCM= zX%^3zhrNdq+1FWo=h(<|E!DwXZKl+-Bdw;lu3aD1jW)cSS20~@88b71RH#HgQblFG z=Ee;GPCIE`cU^6xz1{-W2$~n(f8!gu&Ngkd_m3|!gk5Hybo2b*T>lsC0~9W4H1%yk z)heuEG?p}f&il^VHYKp;R;U~XC-Rh)Ng7x=W)?S{cN4s?0jck9-jz+eA3Dnwh&p8B zJtyV%7Kt>feM>QJQynda&Gu`{o#ScXu zhb`3e?;S#o9wy))JfQ9;hZ2$#mIo{0SxI+4-$3T-!bj;D$2#P64yL7R5m;E&F7ilEZFCqQ*|sNOO7>YGp>0vv|2U0 z;Sldli$!imo(xN{-Lom1hs(UAnq_=6b2*3iK;$0KZ_GBc6B~0RQw`Vi)SVWRV`|7a zd5T0EqRFX9d5JoeR8&%DXa?f8a%f}$AhT>$2km?W z;)Z!9#r|5idZgV_%Sr6ao&tHhBg-|=3Nfn;q~zV1u8n52h2yCouV2L?gt*|PM z4*Eki8WAqCTm^G)YZ%1QZeo2?1ph=n!@;RN=hAX$IKI${SV3rCD&#E<_MyHl%93*fhH;tTC4W5!1m+gXzMd+*48^fux8K&^<~E(U{7Dl^@Z z3yJOvMi$$_fCbk<=R~aH*`9!4IRg)Vhq31#t=7Z59F8cVUnGx&nqd0^W)IFvL4T&0 zkp4{2V4)$LL(y5yCH){%fI=^Os-=^f4@%JR3LJkBVF&?6b2^l#NP?na{a|aZN zMUN5SOCspX!n|XO4PzZ`9qV8bMA}V5Rh}wZymA>u8=B060hz2;Nk0&pzA{kkQ_f_A z*wqZtGtXs%HorVc)FJBfC$z638&{D#N&iHxx~8|sCGzq}Gu@+E(bc&=V{G{2SiCP0 z>I)=oW}e!M-6)46A#g)nRlso37sv3w>{B{&V-}MPQHq#H7MKs#Rwr>U@oe}w1;1#z zqVzUX>;VcG2>cPQPd-6S)!W&-j&kv&$YJ1&ww!G>N{~K6I-NzmPi(sV+jTh$K#idk z+6~ISQIxdN?ME=5b&t!EQT%X0_CUea^=>ix2z5ly5?RK?g|brxFz2U#A05$TALj!b;!8yy3k4@@sh z#^`|URt}bNoq4-a7lS!nkSJZOJ_xXe3>Xz{7#606*w}GkIvrhd*IRyOzlnnBtO)K{ z0B+C+uA2{eyyIwBd(1O|5MY%#&r36^JXxce zVvxj@2{zf`tpN)hIkI3vu`fpXRGGyC?2mij_c{mjt_0)H_Dho08Y`-9jBH`)$s}e(c@FxyLxQCF3r&#tL!=uk;OMmQLjRNE?}Jk3zq`;}W6V_@ zJHC!C+j)oeT{CnTZG0HK=%w~GGtkC#aJ7yu9>c*#@2Q3`S^9{$bpNpz-}6GBdcszQ=N zhtC(6o%PJ|2X z^mPr>OZV(ncc?#Y%4~tt(?0h4Aif^r(-9*waVWu^A8_J*(9Qy8w_n3K|5KTVx(M+FgR#TZe2Q9PtGE0e+1n(GskS>XI2)p{ayao=@oW4c zaaClxMe$1UOiuj1u)@shqg*Q2{5AtVHYYP+NscwT25+H%x1qG9EikOd;39M$~GSmKi)8GaA>CJvrEHM%;odst^wvrDJCl`GkthoT!ib_|u^(6_oE?6f3`J z7L9|kR~OvZTO%F>Hw|QZzZ$#mqhjoWqqgbA(N9`EFi?J^ltow+t8p25I^r)kQELg% z8K-E>A;}^j<>ucFFdw}UzBR^>>cVyxLVI`!Ah#rl3pm=82qC>~9yEWB4wd-9M@sr|5H5p510=jn>_im0F;iuA;Mhb z2(#YV?`Uqoy=&z3Zy^(@BtNXrjIl?2;{b}sG{UwwY)O0K;*zLaZL*Gn&^~ORSG2V) zPY@F?nz#E6g2PxZ+C6Z;Wqu3t13Oq8sncaG#MSjU?9_YPNq6e99iD!DhFxRbI%ZJqW<=Q zG~2!5mc=(5W&ZYWFk=X{tjEHAtL5$EU6T)ldRE+}5PC*XuDdM38rirhAXT9Gb{&&Ke00&d3*P6k;v*IJh`dOad z=bi31d+yT%p^IEw9MJvu-$UseG$r2YV3v9Jz9#%s>55>U$fFj%PR28f2Lq@Dv!^bq zHEx*?;_ggel6F^bcKT%hTEfqz5_=-+6@9@HKG59%V!`5?I)yfhOEZtEQ>MxsB2D!T zuHRW?w-m|^lRC_;%FgMO{%c1Ldl!kABDDX25Y2z6M!GobU2>}}Qr(5I0)vZ+b@M?U z88Vi3U&MjWxJ-ZR*WZ{bDsK8QTpSW#kY>ICBx;Qc70mU!8?wN5L!hD_ug2iB>Lnz3 zs^h7sy62KBG)x5RDl7}>f&#(b77u&5rGpnziC*X!tt zbL|lu7-uoBf)khvs|a3LChZKs5|3vcINGqVLTsjEG{I`?d7SUN{)}?5UO07ZM;;$r z?EcIb7oL+m5Hp;H#1@S)ns%FyN~7ikaKV*QZk4R)KV1YCN7`W0RCj(sYLO|V$QtOn zR`|naBbf;qK=F4$?u@z-gp|=ZV~iQ&-h|b6mkQTm+_c6#wi}bEfxCxXek zP&J8o(B>gjY$PnsoP>O4GfmnPlzZ@Yb7RB?;3M;}6}pbvDM}@IQOj%<>8xeafqU5M zMhND?2gV+oWZ9Z0qO?PjJv?#o1^0wDhhTI=c8l_hvI4e<%2%;vb*exRqJp@faI~7p z&Z$NO?bI@DY+cJnSWI+d431N>Cr+xR+EcoXd69|wTBejWew4IX(&@d~RxBqfxd;E0 z1Mhf%^}O_$3MB~@+agiKH@pj5oxxLyI7%-x&!iAzwk%+y4dNhAP@H-fpey`GZ&EPI z5J7UgN5&G#9;1yYCh4?d$uwCEevk9Rha$OgYb)e`R@!!S`BM5*zl3$EX;SKX|0>~1;3Bb~ zwjQ!;wk9o=d0ItCj$6H%Ql5d78aHdEgs)A0L#DVv`Nex_5B?6D zmw_>;6FFAx%}!Ez8?JWDB~TK0+Db-p%G^EpbjQ;gwi*R@1W~|G!UyPDvGOUv)rEFm z=jXisq?%zOXywjm0lL~uAdmccrm|+#>b^r`4^0mMN2saGs}eIG4OY9wI;Z9?RbS$L3$W3-zmWJ z6cTg;IJJHF`6nJRtpEh4nwdM~ucGlFB0L31rv?^BY6?naa!V3Q;mk?`1J3iVks@$S zJ5aAnF+!-OrF-vmuQXZZXW))2=>`Liz;sJDX3PfAhYlD6gFy&_&gZRLk8K~E?VwPr z^&*Pg(tqAX#+(d1C9^dDR5~zGa5 z(yeWi_90w6NFopCp4i3#k6XuAC65?Kp@BL!Nb5Q9%s;}{IAR3)fp6&5$=^@g?cO1G&d0#{Ass-WJM549co6r<;!0&=ZSwtk! zo;XrPA6&-V-vVPQx=E-Bst+|7JSfPUl!4IqKo;8JjjK?2hO3t>ha4b%w|L;NhQNY= zjF}56-rgWz16s^l{T*I!q;>pVB&mp6sa?yrrXY2mUeO4uI6#LQ5>S%Fn=_|b6~4TP zJi`$NF~lfH2oqo~D5FRsp@#`6<5c7M*#7i9X__w|>5J>~Y<|uY7 zWB8l^J_f<5^@Su5@_WXx%Cd%}Rjigf>C79ghiDvvIYYwzhVz&D0HUL{Dx!S93o9seOt3}3JgsLXR zKA%wR<%eBY_RNz6ykWXEDDi^kV(+#EtDn@+l`L=EJ+Qps7@#A8l=&!kC0Zh;o%>{Jm$;d1>Lj|X_`m95XG{USyiHAd_$Y* zY}Bn>?Pnkbl=YAlhG9pUXFwZas>S{#)&sz_B=Ctupp7#rlcW4mk-O|+`jpw)>` z=|V}*#z~hqfK2H~?OCG^*L+h_!k?Dj8aSeUYp7x6FgMdi?vu`UYfw+_D$2ha({aSB zc1@os&w(9bU=sT*?Rg(FWjS$1=@QjOE z8~YRU-=PjwpTV}bV|qxNiYJw#FMw4@g=%xQ)aMjyu%*}H=JW@4NyL!A8-~nCN&>8l3erchw*>j35hDfdl08$WZBm6+(mqJTf7)Y+Edp zz3BfT8O*#A9kv>;{kGE*4D(pD`Lylf5F|?TmCr*WlFCZP(uc{%aYjo3xKljT6Or*^ z(QUM+5E4Ilr_U&a2SCIDbT*oOogGA%8ic%iUoj#rQtcqSohAx@;3=)KifV_lv*3#6 zS{=+xa|RX~80%@_fg4Kx0DAhcYZO{~rBE_i72@tF;%5j7_Zm0=7g|gZNh(;m6TMoR z;v~90HAs6udS;P?ygLd%X8iX^wA6ajPd8@^pR(S!++{e{gbUDYM~Qaf5)jLzTKv7P zjXm99f@)16wv|`=^8_fRh>DFw=$8sgCc>HS0TtE}oF;5*!Yj^WD~36@(+a}S4RKtm z?CyP=xR}87GgCyzz)L*4jvmYzZD1p;;)V)n8mrIJ&|jGkn!P?CRAV{JKvl6|9{lt| zZkyPF^_l7ENGzXq!vEpTJ}E4OSA-ZCFX+|%I>~&opPAKj$@vc6<-P~^J9wOx_sAYb zh)a6Pre29;L_D-tSI4LGQ~FMOK+3rr+~1w?0}cVwLQol($JhA11TDTmSxthk>{UuL zF)`VNt?mK{xwyRFH=qX>IhC^f zA1`#ij(b7G$q~d+MhgP~W+K{R4_O?g&sa}ue`i{;il|%T;>4ExKrkFZh8-r8u{RY*fE6RD=wt!f3OlW+FD4Sc738uKoGR8fq2^@?9 zy-oClu4zuTti3=cZA|Te6y0$_Pk{7*>=Lt3+aOx>6#Y@#)6Lq-&S2s?5>i?D5;Wb7 z-ko0<8-O0blA(Z5(`JoUu8q~4HJV8Y)*(;J3{|W?UnAvwDA?hv#fFb=) zFw8!WEgwM{yP795rfjaWQyB>cC45Y@Gsl@d#;%O4-Ar~iYZAY8&(3s+w@(iZ;G|Ln zG>0bpzWMuBc8)>2NGnYmue0ug@YX1c)-ko3SL3r|1g?8!IdxY!uU4G#qg;6~z`V0T z-eiF49D6oIKt@@a6DXn<^Yhm^F$k~{=9{sKrV>I~aCUTQ^h4T3)@nzSz5HZgdE;Fw z`169(ABU%eho(PVc?a7KKt@%N=DDiXRA1Q2OGp>wts&3Y>b2UFpU3*qt1CxZv7JF< z9)n-Sl7a$N-|Sb%mY6$=@BdJuZ<39M>UF~s~r^Si&4 znluH%2-SyDMn%(dh<>mvFv&T0`@V_AB{7{6QFnaGUhDgg`fdTZ#PX$n{u>3LAj^w2#e!_jP~Nr~egbcb2yx>KK3UcK0>xJDurV@O9 z{)^gCzRE$x@?{L@H6ZZfzbA&)|9C!qj)nH>f(4TQ)e71L`?Y^tIE3_e9nEt%#5A#$ z>mtgN(RfpMXLTFM25~gKetpiz5a&(h-F|Df2cVlf)in?L?RvfjU9MVNRP5XAY>U#p z5KkVY;LFg2Y2!7LJ&4IXCA_7A-|#ZUWvnBWI$R?&@HF18Pz)9Yg+Mc~pJ zD%$7GsD_9d3PE8oU9Mv!XH2BV?^5;&(HryIw7!!d6nu2N52{-qj6gL0sEx3d_y$lf z8#K55xeFCKFD6;h#J~qca+sGFrSaHtS)`{aV&)#iJIKr$AdUs4yw46FjXUZfl7Qg-xR*+r6>*2F|V0KY>Btd z_CF%Nmh=-%<6~|PZ!$dZKR95%2+*8@;{mVHPoOELlUYx^u`|3kJV2hEk%r!ou|DAT zj>qh#^&nJ4S!C1N&21oP3nyF$?cZr(b}Bdv$v18M!&^vnHPz> z8FBNQ$Y@wc9*xf}0IrJZuhG=A%)9gnHa;CuKj#Msa7VtDCmKjoJ7*##{9l71>F6MN-h*+7cdKN*8j8;S$=5BwZKx!C9f~{Ue(?cq>&*GI;|{R&!iLbd}Q(1CkP^D~?2RnM*@5u9+SS#EbChZla=$Ou|mR-7p- ziaRL6E?M!2q!?QKfjvj<9Y*K%VQ?Ra26j{s)6Zlv>j;+%jA;hxnh0cwY&vU0QUJ!l zKmM(j?Eyx49^OfiEfrs-DFaS1jN_*ht-!lrWG?19%s*I&WQ~vka7$W7Ig@Mw_$~XK z^l2J+OZRY6?+UvLw(~-+$}Gr?K&O)4VPxUMH~S$`QP^|hwCeLT8^6})U5Os6;BKH# zXutzX@xXRHoR-ivXvri|TG(Hm9UB#fdZ?%16W%QT6=Ul@vbVg}OUkrJK{)oW1veTO z2ZQS;;D&c^g~Z*V(Fw~*BN)>oY)`&_VWZy!3hH|1Y3sEA{hyfehUe$w78aQ#aY%?K zZZMi1maMRuc+K=)D@PU>P!f6As-YVrf=CT(LLfIK=?t2q4d+VNb9J$3WJ_d(1tEVe zz>>f08xg9q*PjQi@~eyt(yeE&%Wa@4E$Qx#+(72qev1=_#3lX-=qRFVV*uFlbkLm1 zO#jRm_;d2CRD-SftISV2jjF~}w9J4Rd8esEs3BYuE?v5Ia-T}3l`fg4#F4jm(ynPM z*G=p5*^Q%7RSk*A%1dU*CX<`>aD23hEaUpMnaK>lDD79g+r%HFHQYF@zS-J) z5j)hZ0nX{P(F27bL)z^ot710%Xl;f!=UM0;oqL2Rw^Heia=h$H5-_q}0}i;&5%GNT zt!8N!CD`aHN^p)_XuQQw{WfM^zsIfkKVj8@xy%9P0qo|m2<|~9-M&go86;hH(ip8) zFy26BI3?|{)!hy9OqPKA>8p}Pm{|et+u`l`Q@tHQq#7Ya{J$`sWG?QUy(aD}E^=3O zzh`_7Xq)k4ZI03358l77|R4n|XhFaoCVTE7a;}=cG-W;yqI!1xIlqVj|=c z*b3EN4X}Uq(0Qk5mX_y9@N%PKXkw~aG?Rs>EX1n;x~cPf%wl2lijBIxA@`$ z*L7nN_pIxv9f~nX#dW;PeWrN&9HF(bRR5j@rMQZydaQqb~k%#w5QhaKZzzXmRtb1}XH zr&P4Wi;@uxO58)ah7QdPtr=yHx?TJ5Xa&%LXyz!uJjIJsdaU?Si?da?{S<8@|zo5Ni5Y&-ZYB zJ5LqydAvz9M}bQo|6CRhX}#yLN^KINbLC)U9*Mkwwd#I>&_~#qQIJqLPURPPUB7Na zF}&z3mKMT!0bJpB6^cs4j`<9bf3o?ZI2i5nTDZs_|NO?$sJubfOry_()^NlC5VQ~{p`@)Nb20wP$C5@lwMc*4&h=i0TX~bFR%xN!Xp57 zwt6!yjW3GFC9>_~@yAaxmchz+9X)V`+3%dNg4&5ywE4J#%40I~^AKjKCOoL% zU}9x+z;^B4*VF^|L{)8&#cD1X1vN&dt`u-lN$_+{tVb7W0J3#=V+|Dth$LS|6^@~0 zeb;_Xf221NMyq70y^S5Y7eZZ3zBr8VB+UYxMNt?YVbRo7hvB9Jb|_m^-{1+Zcoro>kkCe#5@`$V#8U$pyC;)4ZHm*?` z)z`6y^yUO%$&giSpx5=`GDKy%(pCPb(3Ys=V4CZIU45ZW^Ke#_?U#bKCp4AXBc(w{ z)Mv>~jpsXy(d#Yr7%N7teeU=bH)=#1P7fvd0R)co48r_+*h=I>WN^AB&t1cgt*fwz zZg-$}(-jc-oTdwxvB!uW8u2V_ptEY5Fn=NM<434(G+O!_<7+oUd?HWvd)wkciu(#* zl{|eKo19r}^B&Yl`$Agt=|Nl0p`zt#3LlGC%BU;_S)E1^b|Y9k`=Kg3E<3 z_sXI-3B1=FzMLuWUJTj?<4(H0`gvA9GpABM1o5n>New6#tV`!JPUPX%i()|xLk4Jq z*|%79?vn4m@wPPXu6CV1MIWty6zMleYref0XO-3nOzOh4 zrwAHz?zOcc$nt%&Y;K{Q?+(wOHeR4GVO6hl(Jcd&ckr2Nz%{XL zrwh??5)U^Z(#Q+P@6ez&2<;44`-lF@8t+F|Ceb6m-B+oR9Fb6lpLsq4P!-Vp{-&ca z{^e*w*L%BrY&t*(S1ViYT&1!WIjXL59r0L%iYDBv<1pV^W0pNKe8``*9Muc*N$!Ba zXwe)B+Q6W}-R;k*=~Hjig$0Bs9|su(h+_;E)H&Z_=X!#eGGm_9+j)sx#TnC;%u5e% z217h_^{p8cEzhm=BGnUCdS7yy58{srliAVt!q!%4>~bw9yRi=z9_)C`vA6W#itJ?0 z){?R+|1B9iM)`cWEOi)P6bbUw;BdUv$Ln2b4P}(ohKCV9%Hm+s(jxbFBGA@Tl;T3_ z=bBIP%7wpU!k8mSyOB+Oxyy zaGJHUa4Z5)SdWFB7f80E^y7ubOkE`BxHOZDgGMl5iqX3$@?0o-7vchKSMDjSmN!Z$$F>#-FyXlD9`dCi4z9Epd6A>2d)Z~SDzktlTb-ou zBTnvC{%;w;Y_DQbUOhD?+NR0{Yuo1oMN$$Cwp6Ig@!@3Z_0UAK*`eBb||HxIe%0uex9Dx^Y9Aj?nk zv-)#0Fz`fnjg%fQ)yLzJLwmeTYK`FkcF|!b-0m{9-+|oL$Pju*t8u z8?f;Ci2PX*Y&2cb8aXC4&;{23zJJrj^8Zu<+|rpHxT zxgHcM;t*k4<0N(vXX{M&uM#7-ziWeMx?r4!VsuME&-Q+g%`Ux$Ij}F-ca)h0Ks!d=W@<%Qp0*jrb`O9_M(>_MHs(6?i!(T| zf((FRG+%{3G%)%*F}Oa&v#oER-|@PjV^wwypaO9IJ29B>6j_!38>$$)?Jjq04&CeD zGUJ>)^jdRP@&JU?@)*D>F4a=A*3mt+tf2TEt6LuFA$dzbZN9d764X#&x1_S*3M%<~ zuUFWiW!Sgg_tXlFfVks3Ox@~lJYh7VmzW^CXj2cQya$7!00*vNsG7^|tii-A zIIBzj%SPTHYl3tG0GSU)KbKLzM+tQc``rA#NMY5eGhEjS_9tNc=_--==In+ zXi<8ME`1@U(CRh^%L}Hk8>S`YrxnGBu{<&t_OO~^J=7sJJ!^(2J=Rn#(tJE#99ly~ zfo!6Eo4jeLKr*nv^R#vSSy_X)wcqq~*zojr%RFkn8rBR$oX*S&SUs%q4W)60{_kOG zk|Y^ryQ};Lu7mnF4xXw(2ckvSJvcUnWmaO0G9U~vl$lFS<*O3#OcQOzgh;_lVc3vq z7{~i4zzcAw&J2yH~cR0Uzf2>*Lqhe z%B%T}@+Nj26S&9R!n7byBu-7}SQ@f#d(s{8j_DUeGa%m7;BrgN5<*qW4L0NPgFXYo zkxGe>`>6bGUt=OqG3PY@MgpduYnEojcd`h9bw>D|4oGT{D`24O%d-tpV+X{}H`flT z&TsFo!R3z8g}80>k3j(ugK5LG&d$X6Pq10d>Y|ymQ*>w~=|~Lr?gd%b6NeM0x~!M2_M%nnnI7SHrUfO|i!6so-*>V2?K6C*&A}{5>VLCUgea7Q*44b2b zD&TZr*0YDL0S|7b-A4Aw1?GV9Ux2x_X8X?(buAEaqkuDM4w<7CsGR?P)EpYjF!%8+ zc&Q#trYAby_}sdEHW-(4prTSxf0gkxamI=3HT96RA%1ObAoys^fbET9M%9GVEzk}6-v`MLg(bp6T-g@p(JZWylz}(Rc$L`WZcO((j>MG zY)X*rHp-5%2ye&^;=DE*jJV;Au+fxGJtlvDWm1u5mh!InA}Q{?QM8+LDJLNlXe>pv zcE8;q$QEej8E!R9UGRo^>5b)C6KI}@rGq(&EpN43RC2xdSc2nM4^Glto9m=Q|aU-1GOEpQVrVB42O zrL}2tAoOqTyw#<9>gygBw()6@lSSSv*9Jasnj@0sx3)L3594eFL3jsYS0$l~Qrg;Z zY^IC;5>Pl;)n}uS_slr0#&5m?u%B1b@PbjxsmT&9S|&ey=(&Y;0+5!adsx+B56-@iUe3P(3{rB~T3mM=B<7QZHOmNl9X z-RLxu5*=YE1pE>a{3K?f0gyTPJtzlses>R@;l=~hJ0>+=YA=$b1ssnD0Be)mR068k>R2YI8J#}ENl6xEF z9<~UY-tG^2dh1Y&oFA>1+W=>b_giToqr84&zeNDare-R3Oechr3Yk-UEY{+ zx99Z2+Ymq{pt{iwCd)ZE7Usc>ej?*H%qCXr7SLvO?q!s}-Y4U&C&2B-PZe(g!68VL z&nb=%D^*`9NC8rm@Zbyr>7uw?wS%_6*KsezIoj{j= zG3d$JCwdqc97?3cy=PoA$G&^~mJSGaX=_73t>m-{Llg37BM2I9jEp8=sSM$wADOq2 zKm(#Vo_cAo-zlK~sVvts*fH!R@ucsrQta9%*K=niBeY0MfiM1RPi3)Yt7m*616amEn3sG#V@?uHfst zR)jE$FRbasCy;ngZ~`P=b-hhB~v-c?ex@3Ak&vOZ>IhW0-?n+ zzP^^QkCcNUIdeofo!?0LFb}#aKvi+S!(jUTO|RFZ=NFVyYrH8UyWYQ6cgVm}Rc*9* zV~f7oDBhW(RIXL6?q%Y&r$*f??wclg^N23H^d?F%Jql8cJX$PJ^F|03U7>xe+LfV?_P><+f0 z=&F{^qnc(;Qi;DUIOesA7e=V222vH;0l9~HAzleoYSbNr<$!fLIBy@<#Nf!8thnDD z+_@}Fm-d>5G6H|_Vh^JLWC*Gm5KNnuw?O{2PoTv zH8flTK9)Kriw(kFkLvn0wXUBk>MBqeXvgb5}aP6hV=8{k0zJv zMjHH6BK!Rtw>Jvm5@2s-rHqyb@5KzYEr7$sK-}2?3$vsKs|=Bq1@!Ily6>}K-R1wR zlvK1YL&Qj+YYB_u2=U7+3=VubWpLn=;+<$)ft+c6?@dq9-Aq2)B&EG=6P1EE}oKV1gKyxO10V?A3BR zSs__J7oV@W9o#g=o-aGp+@srW+s`35tVyy$)6{zAFt}=Y}dsg~%-Tu~^z%T*lNE>2f|{2(cpc)H+mHV@j2LLbX-B~!6qo04Rwk5?BtsEwo&eRk*!9s;nn|2>#4`2(HSWx3Mri1Hz-MH!}F^cCmTRlmWR_Kc2n z`{h-FPRU-|<#|c!fS6{yinsBVHSo2)SKaE(C;pgrGNmfdVYk~fuk!1d@CIJ$^0KKE z-IC>@1t=jNu?}xabyGV}+ARuOCYoCG=)^RkRSb5LhWqGnZj4~oc0mke%j_o{Ai9dY zR^Ne(7nWY2KvLjRAA#g@A3$yd{Y{#!V^~5H+0F2%#>}A=^|NTZst#@R*P0KTcmpB) z2tll1b~a(`oxQowM@;ldwkv2H+4LXX)}Asjd@UngltG6U4p4x+XCYRKMI|So^@?Si z0{@%4?X-pTiXEv}^bZX^w1OKGt;I>ST6%u>=eSL&W^-j;efQ#P_=L>rhBsY@=LFs0 zy@#c{H_av67`2D!Vo~+%#$;rT$`IG#V}5f&z4csnA={vB6dJ}_Wq7Gu9EhpqXv_8t z#^O4N&du!+scYpS3P3K)HOWzBE!$GB3B5K~H*13PZP(ptLAboL|L6G^t zKZ9bQ`_ilipEH_UqY-Ej0;($XX8-=qr6RiUB@3$)QAB~D-i(v5Y%~Z^fv}`Z7{uN= za~G1EgRTK$HzBYFe^o-frM3Lm*3blPC{_L(b^B2UXmgLeqD0oYlzv+=*HVeg=UMA@ z?8)NAdgCx21yQoI??i?TJYLbYl7&q}GgN6)v&u!)&xW~0jBMn`G-)kOSc?|U<$4IX zI&gR=8Sp#SPjowT-MfT)MXKtT9Jx!x4vDjW;nX|TEGCUtvFTP3CnS4G@*&rWqB(i* zLx?_9jPsY0zhz(gW5E1Ah@?C%!H~~J^z-`$kCmCWPxf-3oe`b}FsEb008^`7&0$@#tZLvT^-ZUMFw@--=56* z>?*-x?N*L`>Lub_W*^HM9cR$uOhuicNh>V*5CX52U`3=$4{Q`t-CxnWmNQdks~67w z>U_qudNTC>!fSmXx+imiC5Ml388XhQ`JHLc4ze zf7jZs_uYjje+zfSeWlLycD_N=&Bn=9JAZs-4mi4H2D{z`HjnfxJ}EjpESkArVW0&qNGb*{VJ8jAwqBaUDqWX9DqxbDcH z2(-Lzc2rH_z`V)vf!U8nKmYFwr1i!qGz~ybc2;%=qg3G!PXO>dTHIgDc21Cc!bkm2a~_po49!%bqn4aw^=U?DItPmizqc)pLBdfD|flP#z? zS2EEWfty_-*R(3@OyV|in*?p)v=}-IS~>+bH9K~qfokGgb1b28<$v(h5PJ*U#KDQn z@@2(P3_V!${_33-R=$c=+sADgy{|?e$KEGoza7jz35JX3+Vh^y4c(auj(W|sTP6|F z<2O*OMhAlXC+6rUB0jU!(vdQhjxxpYKr)Ldx+rMg6?vJJ>vGCSP{xkLjs820y+>ik zwwd8mqY9P}FI_==TgJkq&q};-?;i~Ca|P0=S2aSR8SY{^?v@K{ygZ5r%Yos$!sfF! zI-z5(wCJnb3*mP5RQlQgcmi`Ig0aKiW$W##>9y`BVCnfIPs?;w9qJE>EAmeX$N7BJ zJc=iSsu;+|rwOV^@In5cSs~Y-=xn4fs7B=_!%G4Xl(Ya*hzSM-dj5`T&t_=z_jD;~ zsoP6^0;{Wd7+`a-SvZKg5c978IKXb#VQ zPTe@Q4rqaPvG^0`fpQ5MMuNWrF6@HKmxJYU(amcT)<*Y#qn;VpN6d3@SNO;(MIN|8 zzFOC}Qe=kOCQT#PtT<<etF!qHNYFw~XhT4rAw3 zMAa~LoZZ^T2X}teo>G|_VTZN%oL2UuJ=2&SooRf3f3j-&WMW{uG6Bt`!1BL?d+vnx zl@LN@R$A=$NL+?a^KlZu>#R;g5!dR*?s#95(8V*&S>JknSj<-4v4E7|8#Y*>p!rB8hLXs$}!rJ3;M7c@%V4?n{^9 zpmrWklPfJ<5C;jcUvY(Pt%50z~{99kngT%xuPW3uoM;1xT8p{!T75 zvK5B>`m?*5=VNoviE4TCBRns&4}B{ܲeY4~VY$qumQYE*NOFCdi^jx%~qP{^F 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 z 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 z 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 + + + <_TestFrameworkExtensionsRoot>$(MSBuildThisFileDirectory)winui/ + + + <_TestFrameworkExtensionsRoot>$(MSBuildThisFileDirectory) + + + + + $(_TestFrameworkExtensionsRoot)Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll + PreserveNewest + False + + + \ No newline at end of file diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML new file mode 100644 index 0000000..731cb46 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML @@ -0,0 +1,162 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + +

    + Used to specify deployment item (file or directory) for per-test deployment. + Can be specified on test class or test method. + Can have multiple instances of the attribute to specify more than one item. + The item path can be absolute or relative, if relative, it is relative to RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Initializes a new instance of the class. + + The file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. + + + + Initializes a new instance of the class + + The relative or absolute path to the file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. + The path of the directory to which the items are to be copied. It can be either absolute or relative to the deployment directory. All files and directories identified by will be copied to this directory. + + + + Gets the path of the source file or folder to be copied. + + + + + Gets the path of the directory to which the item is copied. + + + + + Used to store information that is provided to unit tests. + + + + + Gets test properties for a test. + + + + + Gets or sets the cancellation token source. This token source is canceled when test times out. Also when explicitly canceled the test will be aborted + + + + + Gets base directory for the test run, under which deployed files and result files are stored. + + + + + Gets directory for files deployed for the test run. Typically a subdirectory of . + + + + + Gets base directory for results from the test run. Typically a subdirectory of . + + + + + Gets directory for test run result files. Typically a subdirectory of . + + + + + Gets directory for test result files. + + + + + Gets base directory for the test run, under which deployed files and result files are stored. + Same as . Use that property instead. + + + + + Gets directory for files deployed for the test run. Typically a subdirectory of . + Same as . Use that property instead. + + + + + Gets directory for test run result files. Typically a subdirectory of . + Same as . Use that property for test run result files, or + for test-specific result files instead. + + + + + Gets the Fully-qualified name of the class containing the test method currently being executed + + + + + Gets the fully specified type name metadata format. + + + + + Gets the fully specified method name metadata format. + + + + + Gets the name of the test method currently being executed + + + + + Gets the current test outcome. + + + + + Adds a file name to the list in TestResult.ResultFileNames + + + The file Name. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + + 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/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..16aeafd539ef1ff10010b2ee931a3ff100e82089 GIT binary patch literal 18336 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 + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Používá se pro určení položky nasazení (souboru nebo adresáře) za účelem nasazení podle testu. + Lze zadat na testovací třídě nebo testovací metodě. + Může mít více instancí atributu pro zadání více než jedné položky. + Cesta k položce může být absolutní nebo relativní. Pokud je relativní, je relativní ve vztahu k RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Inicializuje novou instanci třídy . + + Soubor nebo adresář, který se má nasadit. Cesta je relativní ve vztahu k adresáři výstupu sestavení. Položka bude zkopírována do adresáře, ve kterém jsou nasazená testovací sestavení. + + + + Inicializuje novou instanci třídy . + + Relativní nebo absolutní cesta k souboru nebo adresáři, který se má nasadit. Cesta je relativní ve vztahu k adresáři výstupu sestavení. Položka bude zkopírována do stejného adresáře jako nasazená testovací sestavení. + Cesta k adresáři, do kterého se mají položky kopírovat. Může být absolutní nebo relativní ve vztahu k adresáři nasazení. Všechny soubory a adresáře určené cestou budou zkopírovány do tohoto adresáře. + + + + Získá cestu ke zdrojovému souboru nebo složce, které se mají kopírovat. + + + + + Získá cestu adresáře, do kterého se položka zkopíruje. + + + + + Třída TestContext. Tato třída by měla být zcela abstraktní a neměla by obsahovat žádné + členy. Členy implementuje adaptér. Uživatelé rozhraní by měli + k této funkci přistupovat jenom prostřednictvím dobře definovaného rozhraní. + + + + + Získá vlastnosti testu. + + + + + Získá plně kvalifikovaný název třídy obsahující aktuálně prováděnou testovací metodu. + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Získá název aktuálně prováděné testovací metody. + + + + + Získá aktuální výsledek testu. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..81af003 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Wird zum Angeben des Bereitstellungselements (Datei oder Verzeichnis) für eine Bereitstellung pro Test verwendet. + Kann für eine Testklasse oder Testmethode angegeben werden. + Kann mehrere Instanzen des Attributs besitzen, um mehrere Elemente anzugeben. + Der Elementpfad kann absolut oder relativ sein. Wenn er relativ ist, dann relativ zu "RunConfig.RelativePathRoot". + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die bereitzustellende Datei oder das Verzeichnis. Der Pfad ist relativ zum Buildausgabeverzeichnis. Das Element wird in das gleiche Verzeichnis wie die bereitgestellten Testassemblys kopiert. + + + + Initialisiert eine neue Instanz der -Klasse. + + Der relative oder absolute Pfad zur bereitzustellenden Datei oder zum Verzeichnis. Der Pfad ist relativ zum Buildausgabeverzeichnis. Das Element wird in das gleiche Verzeichnis wie die bereitgestellten Testassemblys kopiert. + Der Pfad des Verzeichnisses, in das die Elemente kopiert werden sollen. Er kann absolut oder relativ zum Bereitstellungsverzeichnis sein. Alle Dateien und Verzeichnisse, die identifiziert werden durch werden in dieses Verzeichnis kopiert. + + + + Ruft den Pfad der Quelldatei oder des -ordners ab, die bzw. der kopiert werden soll. + + + + + Ruft den Pfad des Verzeichnisses ab, in das das Element kopiert werden soll. + + + + + Die TestContext-Klasse. Diese Klasse muss vollständig abstrakt sein und keine + Member enthalten. Der Adapter implementiert die Member. Benutzer im Framework sollten + darauf nur über eine klar definierte Schnittstelle zugreifen. + + + + + Ruft Testeigenschaften für einen Test ab. + + + + + Ruft den vollqualifizierten Namen der Klasse ab, die die Testmethode enthält, die zurzeit ausgeführt wird. + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Ruft den Namen der zurzeit ausgeführten Testmethode ab. + + + + + Ruft das aktuelle Testergebnis ab. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..47b3d8c --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Se usa para especificar el elemento (archivo o directorio) para la implementación por prueba. + Puede especificarse en la clase de prueba o en el método de prueba. + Puede tener varias instancias del atributo para especificar más de un elemento. + La ruta de acceso del elemento puede ser absoluta o relativa. Si es relativa, lo es respecto a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Inicializa una nueva instancia de la clase . + + Archivo o directorio para implementar. La ruta de acceso es relativa al directorio de salida de compilación. El elemento se copiará en el mismo directorio que los ensamblados de prueba implementados. + + + + Inicializa una nueva instancia de la clase . + + Ruta de acceso relativa o absoluta al archivo o directorio para implementar. La ruta de acceso es relativa al directorio de salida de compilación. El elemento se copiará en el mismo directorio que los ensamblados de prueba implementados. + Ruta de acceso del directorio en el que se van a copiar los elementos. Puede ser absoluta o relativa respecto al directorio de implementación. Todos los archivos y directorios que identifica se copiarán en este directorio. + + + + Obtiene la ruta de acceso al archivo o carpeta de origen que se debe copiar. + + + + + Obtiene la ruta de acceso al directorio donde se copia el elemento. + + + + + Clase TestContext. Esta clase debe ser totalmente abstracta y no contener ningún + miembro. El adaptador implementará los miembros. Los usuarios del marco solo deben + tener acceso a esta clase a través de una interfaz bien definida. + + + + + Obtiene las propiedades de una prueba. + + + + + Obtiene el nombre completo de la clase que contiene el método de prueba que se está ejecutando. + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Obtiene el nombre del método de prueba que se está ejecutando. + + + + + Obtiene el resultado de la prueba actual. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..2c1d88a --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Permet de spécifier l'élément de déploiement (fichier ou répertoire) pour un déploiement par test. + Peut être spécifié sur une classe de test ou une méthode de test. + Peut avoir plusieurs instances de l'attribut pour spécifier plusieurs éléments. + Le chemin de l'élément peut être absolu ou relatif. S'il est relatif, il l'est par rapport à RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Initialise une nouvelle instance de la classe . + + Fichier ou répertoire à déployer. Le chemin est relatif au répertoire de sortie de build. L'élément est copié dans le même répertoire que les assemblys de tests déployés. + + + + Initialise une nouvelle instance de la classe + + Chemin relatif ou absolu du fichier ou du répertoire à déployer. Le chemin est relatif au répertoire de sortie de build. L'élément est copié dans le même répertoire que les assemblys de tests déployés. + Chemin du répertoire dans lequel les éléments doivent être copiés. Il peut être absolu ou relatif au répertoire de déploiement. Tous les fichiers et répertoires identifiés par vont être copiés dans ce répertoire. + + + + Obtient le chemin du fichier ou dossier source à copier. + + + + + Obtient le chemin du répertoire dans lequel l'élément est copié. + + + + + Classe TestContext. Cette classe doit être complètement abstraite, et ne doit contenir aucun + membre. L'adaptateur va implémenter les membres. Les utilisateurs du framework ne doivent + y accéder que via une interface bien définie. + + + + + Obtient les propriétés de test d'un test. + + + + + Obtient le nom complet de la classe contenant la méthode de test en cours d'exécution + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Obtient le nom de la méthode de test en cours d'exécution + + + + + Obtient le résultat de test actuel. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..45a5e13 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Usato per specificare l'elemento di distribuzione (file o directory) per la distribuzione per singolo test. + Può essere specificato in classi o metodi di test. + Può contenere più istanze dell'attributo per specificare più di un elemento. + Il percorso dell'elemento può essere assoluto o relativo; se è relativo, è relativo rispetto a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Inizializza una nuova istanza della classe . + + File o directory per la distribuzione. Il percorso è relativo alla directory di output della compilazione. L'elemento verrà copiato nella stessa directory degli assembly di test distribuiti. + + + + Inizializza una nuova istanza della classe + + Percorso relativo o assoluto del file o della directory per la distribuzione. Il percorso è relativo alla directory di output della compilazione. L'elemento verrà copiato nella stessa directory degli assembly di test distribuiti. + Percorso della directory in cui vengono copiati gli elementi. Può essere assoluto o relativo rispetto alla directory di distribuzione. Tutte le directory e tutti i file identificati da verranno copiati in questa directory. + + + + Ottiene il percorso della cartella o del file di origine da copiare. + + + + + Ottiene il percorso della directory in cui viene copiato l'elemento. + + + + + Classe TestContext. Questa classe deve essere completamente astratta e non deve + contenere membri. I membri verranno implementati dall'adattatore. Gli utenti del framework devono + accedere a questa classe solo tramite un'interfaccia correttamente definita. + + + + + Ottiene le proprietà di un test. + + + + + Ottiene il nome completo della classe contenente il metodo di test attualmente in esecuzione + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Ottiene il nome del metodo di test attualmente in esecuzione + + + + + Ottiene il risultato del test corrente. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..c863ca9 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + テスト配置ごとに配置項目 (ファイルまたはディレクトリ) を指定するために使用されます。 + テスト クラスまたはテスト メソッドで指定できます。 + 属性に複数のインスタンスを指定して、2 つ以上の項目を指定することができます。 + 項目のパスには絶対パスまたは相対パスを指定できます。相対パスの場合は、RunConfig.RelativePathRoot からの相対パスです。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + クラスの新しいインスタンスを初期化します。 + + 配置するファイルまたはディレクトリ。パスはビルドの出力ディレクトリの相対パスです。項目は配置されたテスト アセンブリと同じディレクトリにコピーされます。 + + + + クラスの新しいインスタンスを初期化する + + 配置するファイルまたはディレクトリへの相対パスまたは絶対パス。パスはビルドの出力ディレクトリの相対パスです。項目は配置されたテスト アセンブリと同じディレクトリにコピーされます。 + アイテムのコピー先のディレクトリのパス。配置ディレクトリへの絶対パスまたは相対パスのいずれかを指定できます。次で識別されるすべてのファイルとディレクトリは このディレクトリにコピーされます。 + + + + コピーするソース ファイルまたはフォルダーのパスを取得します。 + + + + + 項目のコピー先のディレクトリのパスを取得します。 + + + + + TestContext クラス。このクラスは完全に抽象的でなければならず、かつメンバー + を含んでいてはなりません。アダプターはメンバーを実装します。フレームワーク内のユーザーは + 正しく定義されたインターフェイスを介してのみこのクラスにアクセスする必要があります。 + + + + + テストのテスト プロパティを取得します。 + + + + + 現在実行中のテスト メソッドを含むクラスの完全修飾名を取得する + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + 現在実行中のテスト メソッドの名前を取得する + + + + + 現在のテスト成果を取得します。 + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..8099563 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 테스트 배포별 배포 항목(파일 또는 디렉터리)을 지정하는 데 사용됩니다. + 테스트 클래스 또는 테스트 메서드에서 지정할 수 있습니다. + 둘 이상의 항목을 지정하기 위한 여러 특성 인스턴스를 가질 수 있습니다. + 항목 경로는 절대 또는 상대 경로일 수 있으며, 상대 경로인 경우 RunConfig.RelativePathRoot가 기준입니다. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 배포할 파일 또는 디렉터리. 경로는 빌드 출력 디렉터리에 대해 상대적입니다. 배포된 테스트 어셈블리와 동일한 디렉터리에 항목이 복사됩니다. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 배포할 파일 또는 디렉터리에 대한 상대 또는 절대 경로. 경로는 빌드 출력 디렉터리에 대해 상대적입니다. 배포된 테스트 어셈블리와 동일한 디렉터리에 항목이 복사됩니다. + 항목을 복사할 디렉터리의 경로. 배포 디렉터리에 대한 절대 경로 또는 상대 경로일 수 있습니다.에 의해 식별되는 모든 파일 및 디렉터리는 이 디렉터리에 복사됩니다. + + + + 복사할 소스 파일 또는 폴더의 경로를 가져옵니다. + + + + + 항목을 복사할 디렉터리의 경로를 가져옵니다. + + + + + TestContext 클래스. 이 클래스는 완전히 추상 클래스여야 하며 멤버를 포함할 + 수 없습니다. 어댑터는 멤버를 구현합니다. 프레임워크의 사용자는 + 잘 정의된 인터페이스를 통해서만 여기에 액세스할 수 있습니다. + + + + + 테스트에 대한 테스트 속성을 가져옵니다. + + + + + 현재 실행 중인 테스트 메서드를 포함하는 클래스의 정규화된 이름을 가져옵니다 + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + 현재 실행 중인 테스트 메서드의 이름을 가져옵니다. + + + + + 현재 테스트 결과를 가져옵니다. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..d507bf2 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Służy do określenia elementu wdrożenia (pliku lub katalogu) dla wdrożenia testowego. + Może być określony w klasie testowej lub metodzie testowej. + Może mieć wiele wystąpień atrybutu w celu określenia więcej niż jednego elementu. + Ścieżka elementu może być bezwzględna lub względna. Jeśli jest względna, jest określana względem elementu RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Inicjuje nowe wystąpienie klasy . + + Plik lub katalog do wdrożenia. Ścieżka jest określana względem katalogu wyjściowego kompilacji. Element zostanie skopiowany do tego samego katalogu co wdrożone zestawy testowe. + + + + Inicjuje nowe wystąpienie klasy + + Względna lub bezwzględna ścieżka do pliku lub katalogu do wdrożenia. Ścieżka jest określana względem katalogu wyjściowego kompilacji. Element zostanie skopiowany do tego samego katalogu co wdrożone zestawy testowe. + Ścieżka katalogu, do którego mają być kopiowane elementy. Może być bezwzględna lub określana względem katalogu wdrażania. Wszystkie pliki i katalogi określone przez zostaną skopiowane do tego katalogu. + + + + Pobiera ścieżkę źródłowego pliku lub folderu do skopiowania. + + + + + Pobiera ścieżkę katalogu, do którego element jest kopiowany. + + + + + Klasa TestContext. Ta klasa powinna być w pełni abstrakcyjna i nie może zawierać żadnych + elementów członkowskich. Adapter zaimplementuje elementy członkowskie. Użytkownicy platformy powinni + uzyskiwać dostęp do tego elementu tylko za pośrednictwem prawidłowo zdefiniowanego interfejsu. + + + + + Pobiera właściwości testu. + + + + + Pobiera w pełni kwalifikowaną nazwę klasy zawierającej aktualnie wykonywaną metodę testową + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Pobiera nazwę aktualnie wykonywanej metody testowej + + + + + Pobiera wynik bieżącego testu. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..7fe8bca --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Usado para especificar o item de implantação (arquivo ou diretório) para implantação por teste. + Pode ser especificado em classe de teste ou em método de teste. + Pode ter várias instâncias do atributo para especificar mais de um item. + O caminho do item pode ser absoluto ou relativo. Se relativo, é relativo a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Inicializa uma nova instância da classe . + + O arquivo ou o diretório a ser implantado. O caminho é relativo ao diretório de saída do build. O item será copiado para o mesmo diretório que o dos assemblies de teste implantados. + + + + Inicializa uma nova instância da classe + + O caminho relativo ou absoluto ao arquivo ou ao diretório a ser implantado. O caminho é relativo ao diretório de saída do build. O item será copiado para o mesmo diretório que o dos assemblies de teste implantados. + O caminho do diretório para o qual os itens deverão ser copiados. Ele pode ser absoluto ou relativo ao diretório de implantação. Todos os arquivos e diretórios identificados por serão copiados para esse diretório. + + + + Obtém o caminho da pasta ou do arquivo de origem a ser copiado. + + + + + Obtém o caminho do diretório para o qual o item é copiado. + + + + + Classe TestContext. Essa classe deve ser totalmente abstrata e não conter nenhum + membro. O adaptador implementará os membros. Os usuários na estrutura devem + acessá-la somente por meio de uma interface bem definida. + + + + + Obtém as propriedades de teste para um teste. + + + + + Obtém o Nome totalmente qualificado da classe contendo o método de teste executado no momento + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Obtém o Nome do método de teste executado no momento + + + + + Obtém o resultado do teste atual. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..f697706 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Используется для указания элемента развертывания (файл или каталог) для развертывания каждого теста. + Может указываться для тестового класса или метода теста. + Чтобы указать несколько элементов, можно использовать несколько экземпляров атрибута. + Путь к элементу может быть абсолютным или относительным, в последнем случае он указывается по отношению к RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Инициализирует новый экземпляр класса . + + Файл или каталог для развертывания. Этот путь задается относительно выходного каталога сборки. Элемент будет скопирован в тот же каталог, что и развернутые сборки теста. + + + + Инициализирует новый экземпляр класса + + Относительный или абсолютный путь к файлу или каталогу для развертывания. Этот путь задается относительно выходного каталога сборки. Элемент будет скопирован в тот же каталог, что и развернутые сборки теста. + Путь к каталогу, в который должны быть скопированы элементы. Он может быть абсолютным или относительным (по отношению к каталогу развертывания). Все файлы и каталоги, обозначенные при помощи будет скопировано в этот каталог. + + + + Получает путь к копируемым исходному файлу или папке. + + + + + Получает путь к каталогу, в который копируется элемент. + + + + + Класс TestContext. Этот класс должен быть полностью абстрактным и не должен содержать ни одного элемента. + Элементы будут реализованы в адаптере. Пользователи платформы должны обращаться к этому классу + только при помощи четко определенного интерфейса. + + + + + Получает свойства теста. + + + + + Получает полное имя класса, содержащего метод теста, который выполняется в данный момент + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Получает имя метода теста, выполняемого в данный момент + + + + + Получает текущий результат теста. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..cfddb52 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Test başına dağıtım için dağıtım öğesi (dosya veya dizin) belirtmek üzere kullanılır. + Test sınıfında veya test metodunda belirtilebilir. + Birden fazla öğe belirtmek için özniteliğin birden fazla örneğini içerebilir. + Öğe yolu mutlak veya göreli olabilir; göreli ise RunConfig.RelativePathRoot ile görelidir. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + sınıfının yeni bir örneğini başlatır. + + Dağıtılacak dosya veya dizin. Yol, derleme çıktı dizinine göredir. Öğe, dağıtılan test bütünleştirilmiş kodlarıyla aynı dizine kopyalanır. + + + + sınıfının yeni bir örneğini başlatır + + Dağıtılacak dosya veya dizinin göreli ya da mutlak yolu. Yol, derleme çıktı dizinine göredir. Öğe, dağıtılan test bütünleştirilmiş kodlarıyla aynı dizine kopyalanır. + Öğelerin kopyalanacağı dizinin yolu. Dağıtım dizinine göre mutlak veya göreli olabilir. Tüm dosyalar ve dizinler şuna göre tanımlanır: bu dizine kopyalanacak. + + + + Kopyalanacak kaynak dosya veya klasörün yolunu alır. + + + + + Öğenin kopyalandığı dizinin yolunu alır. + + + + + TestContext sınıfı. Bu sınıf tamamen soyut olmalı ve herhangi bir üye + içermemelidir. Üyeler bağdaştırıcı tarafından uygulanır. Çerçevedeki kullanıcılar + buna yalnızca iyi tanımlanmış bir arabirim üzerinden erişmelidir. + + + + + Bir testin test özelliklerini alır. + + + + + O anda yürütülen test metodunu içeren sınıfın tam adını alır + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Yürütülmekte olan test metodunun Adını alır + + + + + Geçerli test sonucunu alır. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/winui/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/winui/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML new file mode 100644 index 0000000..c617b80 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/winui/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML @@ -0,0 +1,206 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Execute test code in UI thread for Windows store apps. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Display Name for the test. + + + + + Gets or sets the that should be used to invoke the UITestMethodAttribute. + If none is provided will check for , if the attribute is defined it will start the App and use its . + will try to use Microsoft.UI.Xaml.Window.Current.DispatcherQueue for the last resort, but that will only work on UWP. + + + + + Executes the test method on the UI Thread. + + + The test method. + + + An array of instances. + + Throws when run on an async test method. + + + + + Specifies derived class to run UI tests on. + + + + + Initializes a new instance of the class. + + + Specifies derived class to run UI tests on. + + + + + Gets the class. + + + + + TestContext class. This class should be fully abstract and not contain any + members. The adapter will implement the members. Users in the framework should + only access this via a well-defined interface. + + + + + Gets test properties for a test. + + + + + Gets or sets the cancellation token source. This token source is cancelled when test times out. Also when explicitly cancelled the test will be aborted + + + + + Gets Fully-qualified name of the class containing the test method currently being executed + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Gets the fully specified type name metadata format. + + + + + Gets the fully specified method name metadata format. + + + + + Gets the Name of the test method currently being executed + + + + + Gets the current test outcome. + + + + + Adds a file name to the list in TestResult.ResultFileNames. + + + The file name. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + + 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 + + + + 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 extensibility 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. + + + + + Provides package information about the application. + + + + + Checks whether the current application is packaged or not. + + Returns true if application is packaged; false otherwise. + + + + + Gets the package path for the calling process. + + The package path when packaged, null if not. + + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/winui/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/winui/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..6402582ddc88e1267b19c2877877f9e18269a27c GIT binary patch literal 23456 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 + + + 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/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..f335cdf --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/build/net5.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 用來指定每個測試部署的部署項目 (檔案或目錄)。 + 可以指定於測試類別或測試方法。 + 可以有屬性的多個執行個體來指定多個項目。 + 項目路徑可以是相對或絕對路徑,如果是相對路徑,則是 RunConfig.RelativePathRoot 的相對路徑。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + 初始化 類別的新執行個體。 + + 要部署的檔案或目錄。路徑是建置輸出目錄的相對路徑。項目將會複製到與已部署的測試組件相同的目錄。 + + + + 初始化 類別的新執行個體 + + 要部署之檔案或目錄的相對或絕對路徑。路徑是建置輸出目錄的相對路徑。項目將會複製到與已部署的測試組件相同的目錄。 + 要將項目複製到其中之目錄的路徑。它可以是部署目錄的絕對或相對路徑。下者所識別的所有檔案和目錄: 將會複製到這個目錄中。 + + + + 取得要複製之來源檔案或資料夾的路徑。 + + + + + 取得要將項目複製到其中之目錄的路徑。 + + + + + TestContext 類別。這個類別應該是完全抽象的,而且未包含任何 + 成員。配接器將會實作成員。架構中的使用者只 + 應透過妥善定義的介面來存取這個項目。 + + + + + 取得測試的測試屬性。 + + + + + 取得包含目前正在執行之測試方法的類別完整名稱 + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + 取得目前正在執行的測試方法名稱 + + + + + 取得目前測試結果。 + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML new file mode 100644 index 0000000..2ca735f --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML @@ -0,0 +1,1125 @@ + + + + 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' + + + + + Attribute 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 de-referencing string using . that points to the object to be retrieved 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 + Arguments 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 + Arguments to pass to the constructor + + + + Initializes a new instance of the class that wraps the + specified type. + + type of the object to create + Arguments 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 + Arguments 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 subscripts for each dimension + + Name of the member + the indices of array + An array of elements. + + + + Sets the array element using array of subscripts for each dimension + + Name of the member + Value to set + the indices of array + + + + Gets the array element using array of subscripts 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 array of elements. + + + + Sets the array element using array of subscripts 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 member + + 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 method info instance. + + + + This class represents a private class for the Private Accessors 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 + Arguments to the invocation + 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 + Arguments to the invocation + 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 + Arguments to the invocation + An array of types corresponding to the types of the generic arguments. + Result of invocation + + + + Invokes the static method + + Name of the member + Arguments 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 + Arguments to the invocation + Culture info + Result of invocation + + + + Invokes the static method + + Name of the member + Additional invocation attributes + Arguments 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 + Arguments to the invocation + Result of invocation + + + + Invokes the static method + + Name of the member + Additional invocation attributes + Arguments 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 + Arguments 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 + Arguments 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 member 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 static 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 specified location + + + + Sets the member 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 + Argument 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 + Argument 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 + Arguments 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 + Arguments 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 similar. + + + + Gets the hierarchy depth from the base type of the provided type. + + The type. + The depth. + + + + Finds most derived 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 + Parameter array type. + Method 2 + Parameter order for Method 2 + >Parameter 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 + Parameter array type. + Method 2 + Parameter order for Method 2 + >Parameter array type. + Types to search in. + Args. + An int representing the match. + + + + Finds the most specific type in the two provided. + + Type 1 + Type 2 + The defining type + An int representing the match. + + + + Used to store information that is provided to unit tests. + + + + + Gets test properties for a test. + + + + + Gets or sets the cancellation token source. This token source is canceled when test times out. Also when explicitly canceled the test will be aborted + + + + + Gets the current data row when test is used for data driven testing. + + + + + Gets current data connection row when test is used for data driven testing. + + + + + Gets base directory for the test run, under which deployed files and result files are stored. + + + + + Gets directory for files deployed for the test run. Typically a subdirectory of . + + + + + Gets base directory for results from the test run. Typically a subdirectory of . + + + + + Gets directory for test run result files. Typically a subdirectory of . + + + + + Gets directory for test result files. + + + + + Gets base directory for the test run, under which deployed files and result files are stored. + Same as . Use that property instead. + + + + + Gets directory for files deployed for the test run. Typically a subdirectory of . + Same as . Use that property instead. + + + + + Gets directory for test run result files. Typically a subdirectory of . + Same as . Use that property for test run result files, or + for test-specific result files instead. + + + + + Gets the Fully-qualified name of the class containing the test method currently being executed + + + + + Gets the fully specified type name metadata format. + + + + + Gets the fully specified method name metadata format. + + + + + 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 + + + + 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/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..b6187a69081f288dcc82daf84587e22de789e4d5 GIT binary patch literal 34728 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

    hc<~yA+HJ3a<_2Co?Bh&aeZB*vgW*4e0qL| zk8ZP-rCb|0WD%0%*Ps8h!$}TbzjwxCdH7mNwNkj6kLcj^)uz%RT$KaX`P(~d>Seck z@>_$Np-pR3Q9XZuqWz`XG`jx`^^=7$ts5#zK3E8#{govT6(#o+C3h4h+qtry{aPrm zBy?<_ojYYjxbk7AxLMox#m?O1^628=#Eehln=4AD{~s_9zHc};)=GvPpaoNuFJ{Z)63HncIVf7cW19^`-2`$HtsnP8(y~IcRL&9AWzQ1iD8A0 z=l}6q6qf8MzPZDF#Gg+(B?moy8JFd+$VoZ&>w-*9@}w92GCS>A??2!9&exQC+Q%;% zymL7;Tob~%pYM3?(VgMHXbxK?l?|CXXK-4pql5SSHnrE~0dF#f)Cx{%Njtp>eBUUz z*@ij!Ewx8SpYJDmF?}Sp{8_C>HBzUxU!L{$;4Xic7o$F8Y#rwrkNHfwxbBYK%qi<@ z?P@Hl8(B2CQ>zh09R@vLcKCvR_l-XD?hd)%wzbBqE=SdL;wkOy4)2`~om_RH|A(TB z3hS*3*U_ngORrvd_9Uh0#`yzBT@AUv)IZ+#`Qkqp9C)3xsB`p_DfMq$8Mx(o&XNX( zmfRjo)0On4-<4?@`j7g$M@lE}_di!~VFXXp=Jmuk8%jDRBwsiZfWqb}X782mJaGG$ zWA)DpzS8Z^jtuws{AiCMtmmrWOt(J$)|Om3+5e|&{@K<37?xG-$PwPI!KLMo^Aqyp z3J08gJ9=A}SJ%6y&0jcf;QfFJ?HWceTyo*YGl#(RtDpUMY+K)L;&Qu@<^Ajw7uNNg PkviE>YYA`pbcFstqbtp) literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.XML b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.XML new file mode 100644 index 0000000..910f6f6 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.XML @@ -0,0 +1,5318 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + The assembly cleanup attribute. + + + + + The assembly initialize attribute. + + + + + The class cleanup attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Specifies the ClassCleanup Inheritance Behavior + + + + + Initializes a new instance of the class. + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Initializes a new instance of the class. + + + Specifies the ClassCleanup Inheritance Behavior + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Initializes a new instance of the class. + + + Specifies the ClassCleanup Inheritance Behavior + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Gets the Inheritance Behavior + + + + + Gets when to run class cleanup methods. + + + + + When to run ClassCleanup during test execution + + + + + Run at end of assembly + + + + + Run at end of class + + + + + Specification for when to run class cleanup methods. + + + + + Default class cleanup execution + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Gets when to run class cleanup methods. + + + + + The class initialize attribute. + + + + + Initializes a new instance of the class. + ClassInitializeAttribute + + + + + Initializes a new instance of the class. + ClassInitializeAttribute + + + Specifies the ClassInitialize Inheritance Behavior + + + + + Gets the Inheritance Behavior + + + + + CSS Iteration URI + + + + + Initializes a new instance of the class for CSS Iteration URI. + + The CSS Iteration URI. + + + + Gets the CSS Iteration URI. + + + + + 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. + + + + + Attribute for data driven test where data can be specified in-line. + + + + + Description of the test + + + + + Initializes a new instance of the class to describe a test. + + The description. + + + + Gets the description of a test. + + + + + The presence of this attribute in a test assembly causes MSTest to discover test classes (i.e. classes having + the "TestClass" attribute) and test methods (i.e. methods having the "TestMethod" attribute) which are declared + internal in addition to test classes and test methods which are declared public. When this attribute is not + present in a test assembly the tests in such classes will not be discovered. + + + + + 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. + + + + + + + + + + + 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. + + + + + Enumeration for inheritance behavior, that can be used with both the class + and class. + Defines the behavior of the ClassInitialize and ClassCleanup methods of base classes. + The type of the enumeration must match + + + + + None. + + + + + Before each derived class. + + + + + Test Owner + + + + + Initializes a new instance of the class. + + + The owner. + + + + + Gets the owner. + + + + + 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. + + + + + Priority attribute; used to specify the priority of a unit test. + + + + + Initializes a new instance of the class. + + + The priority. + + + + + Gets the priority. + + + + + 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 cleanup attribute marks methods that are executed after every test marked with a . + + + + + Specifies how to discover ITestDataSource tests. + + + + + Initializes a new instance of the class. + + + Sets which to use when discovering ITestDataSource tests. + + + + + Gets specified discovery option. + + + + + Supported TestDataSource discovery modes + + + + + Discover tests during execution. + This was the default option on version 2.2.3 and before. + + + + + Discover and expand ITestDataSource based tests. + This is the default behavior after version 2.2.3. + + + + + The test initialize attribute. + + + + + The test method attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Display name for the test. + + + + + Gets display name for the test. + + + + + 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 property attribute. + + + + + Initializes a new instance of the class. + + + The name. + + + The value. + + + + + Gets the name. + + + + + Gets the value. + + + + + TestResult object to be returned to adapter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the display name of the result. Useful when returning multiple results. + If null then Method name is used as DisplayName. + + + + + Gets or sets the outcome of the test execution. + + + + + Gets or sets the exception thrown when test is failed. + + + + + Gets or sets the output of the message logged by test code. + + + + + Gets or sets the output of the message logged by test code. + + + + + Gets or sets the debug traces by test code. + + + + + Gets or sets the debug traces by test code. + + + + + Gets or sets the execution id of the result. + + + + + Gets or sets the parent execution id of the result. + + + + + Gets or sets the inner results count of the result. + + + + + Gets or sets the duration of test execution. + + + + + Gets or sets the data row index in data source. Set only for results of individual + run of data row of a data driven test. + + + + + Gets or sets the return value of the test method. (Currently null always). + + + + + Gets or sets the result files attached by the test. + + + + + Enumeration for timeouts, that can be used with the class. + The type of the enumeration must match + + + + + The infinite. + + + + + Timeout attribute; used to specify the timeout of a unit test. + + + + + Initializes a new instance of the class. + + + The timeout in milliseconds. + + + + + Initializes a new instance of the class with a preset timeout + + + The timeout + + + + + Gets the timeout in milliseconds. + + + + + 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 work item associated. + + + + + Test data source for data driven tests. + + + + + Gets the test data from custom test data source. + + + The method info of test method. + + + Test data for calling test method. + + + + + Gets the display name corresponding to test data row for displaying in TestResults. + + + The method info of test method. + + + The test data which is passed to test method. + + + The . + + + + + TestMethod for execution. + + + + + Gets the name of test method. + + + + + Gets the name of test class. + + + + + Gets the return type of test method. + + + + + Gets the arguments with which test method is invoked. + + + + + Gets the parameters of test method. + + + + + Gets the methodInfo for test method. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invokes the test method. + + + Arguments to pass to test method. (E.g. For data driven) + + + Result of test method invocation. + + + This call handles asynchronous test methods as well. + + + + + Get all attributes of the test method. + + + Whether attribute defined in parent class is valid. + + + All attributes. + + + + + Get attribute of specific type. + + System.Attribute type. + + Whether attribute defined in parent class is valid. + + + The attributes of the specified type. + + + + + The helper. + + + + + The check parameter not null. + + + The parameter. + + + The parameter name. + + + The message. + + Throws argument null exception when parameter is null. + + + + The check parameter not null or empty. + + + The parameter. + + + The parameter name. + + + The message. + + Throws ArgumentException when parameter is null. + + + + Enumeration for how we access data rows in data driven testing. + + + + + Rows are returned in sequential order. + + + + + Rows are returned in random order. + + + + + Attribute to define in-line data for a test method. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The data object. + + + + Initializes a new instance of the class which takes in an array of arguments. + + A data object. + More data. + + + + Gets data for calling test method. + + + + + Gets or sets display name in test results for customization. + + + + + + + + + + + The assert inconclusive exception. + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + InternalTestFailureException class. Used to indicate internal failure for a test case + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initializes a new instance of the class. + + The exception message. + The exception. + + + + Initializes a new instance of the class. + + The exception message. + + + + Initializes a new instance of the class. + + + + + Attribute that specifies to expect an exception of the specified type + + + + + Initializes a new instance of the class with the expected type + + Type of the expected exception + + + + Initializes a new instance of the class with + the expected type and the message to include when no exception is thrown by the test. + + Type of the expected exception + + Message to include in the test result if the test fails due to not throwing an exception + + + + + Gets a value indicating the Type of the expected exception + + + + + Gets or sets a value indicating whether to allow types derived from the type of the expected exception to + qualify as expected + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Verifies that the type of the exception thrown by the unit test is expected + + The exception thrown by the unit test + + + + Base class for attributes that specify to expect an exception from a unit test + + + + + Initializes a new instance of the class with a default no-exception message + + + + + Initializes a new instance of the class with a no-exception message + + + Message to include in the test result if the test fails due to not throwing an + exception + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Gets the default no-exception message + + The ExpectedException attribute type name + The default no-exception message + + + + Determines whether the exception is expected. If the method returns, then it is + understood that the exception was expected. If the method throws an exception, then it + is understood that the exception was not expected, and the thrown exception's message + is included in the test result. The class can be used for + convenience. If is used and the assertion fails, + then the test outcome is set to Inconclusive. + + The exception thrown by the unit test + + + + Rethrow the exception if it is an AssertFailedException or an AssertInconclusiveException + + The exception to rethrow if it is an assertion exception + + + + This class is designed to help user doing unit testing for types which uses generic types. + GenericParameterHelper satisfies some common generic type constraints + such as: + 1. public default constructor + 2. implements common interface: IComparable, IEnumerable + + + + + Initializes a new instance of the class that + satisfies the 'newable' constraint in C# generics. + + + This constructor initializes the Data property to a random value. + + + + + Initializes a new instance of the class that + initializes the Data property to a user-supplied value. + + Any integer value + + + + Gets or sets the Data + + + + + Do the value comparison for two GenericParameterHelper object + + object to do comparison with + true if obj has the same value as 'this' GenericParameterHelper object. + false otherwise. + + + + Returns a hashcode for this object. + + The hash code. + + + + Compares the data of the two objects. + + The object to compare with. + + A signed number indicating the relative values of this instance and value. + + + Thrown when the object passed in is not an instance of . + + + + + Returns an IEnumerator object whose length is derived from + the Data property. + + The IEnumerator object + + + + Returns a GenericParameterHelper object that is equal to + the current object. + + The cloned object. + + + + Enables users to log/write traces from unit tests for diagnostics. + + + + + Handler for LogMessage. + + Message to log. + + + + Event to listen. Raised when unit test writer writes some message. + Mainly to consume by adapter. + + + + + API for test writer to call to Log messages. + + String format with placeholders. + Parameters for placeholders. + + + + TestCategory attribute; used to specify the category of a unit test. + + + + + Initializes a new instance of the class and applies the category to the test. + + + The test Category. + + + + + Gets the test categories that has been applied to the test. + + + + + Base class for the "Category" attribute + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initializes a new instance of the class. + Applies the category to the test. The strings returned by TestCategories + are used with the /category command to filter tests + + + + + Gets the test category that has been applied to the test. + + + + + AssertFailedException class. Used to indicate failure for a test case + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + A collection of helper classes to test various conditions within + unit tests. If the condition being tested is not met, an exception + is thrown. + + + + + Gets the singleton instance of the Assert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + Thrown if is false. + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + 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. + + + 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 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. + + + 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. + + + 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 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 decimals are equal and throws an exception + if they are not equal. + + + The first decimal to compare. This is the decimal the tests expects. + + + The second decimal to compare. This is the decimal 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 decimals are equal and throws an exception + if they are not equal. + + + The first decimal to compare. This is the decimal the tests expects. + + + The second decimal to compare. This is the decimal 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 decimals are equal and throws an exception + if they are not equal. + + + The first decimal to compare. This is the decimal the tests expects. + + + The second decimal to compare. This is the decimal 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 decimals are unequal and throws an exception + if they are equal. + + + The first decimal to compare. This is the decimal the test expects not to + match . + + + The second decimal to compare. This is the decimal 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 decimals are unequal and throws an exception + if they are equal. + + + The first decimal to compare. This is the decimal the test expects not to + match . + + + The second decimal to compare. This is the decimal 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 decimals are unequal and throws an exception + if they are equal. + + + The first decimal to compare. This is the decimal the test expects not to + match . + + + The second decimal to compare. This is the decimal 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 longs are equal and throws an exception + if they are not equal. + + + The first long to compare. This is the long the tests expects. + + + The second long to compare. This is the long 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 longs are equal and throws an exception + if they are not equal. + + + The first long to compare. This is the long the tests expects. + + + The second long to compare. This is the long 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 longs are equal and throws an exception + if they are not equal. + + + The first long to compare. This is the long the tests expects. + + + The second long to compare. This is the long 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 longs are unequal and throws an exception + if they are equal. + + + The first long to compare. This is the long the test expects not to + match . + + + The second long to compare. This is the long 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 longs are unequal and throws an exception + if they are equal. + + + The first long to compare. This is the long the test expects not to + match . + + + The second long to compare. This is the long 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 longs are unequal and throws an exception + if they are equal. + + + The first long to compare. This is the long the test expects not to + match . + + + The second long to compare. This is the long produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + Thrown if is not equal to + . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Throws an AssertFailedException. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Static equals overloads are used for comparing instances of two types for reference + equality. This method should not be used for comparison of two instances for + equality. This object will always throw with Assert.Fail. Please use + Assert.AreEqual and associated overloads in your unit tests. + + Object A + Object B + False, always. + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + Delegate to code to be tested and which is expected to throw exception. + + The message to include in the exception when + does not throws exception of type . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + Delegate to code to be tested and which is expected to throw exception. + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Replaces null characters ('\0') with "\\0". + + + The string to search. + + + The converted string with null characters replaced by "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Helper function that creates and throws an AssertionFailedException + + + name of the assertion throwing an exception + + + message describing conditions for assertion failure + + + The parameters. + + + + + Checks the parameter for valid conditions + + + The parameter. + + + The assertion Name. + + + parameter name + + + message for the invalid parameter exception + + + The parameters. + + + + + Safely converts an object to a string, handling null values and null characters. + Null values are converted to "(null)". Null characters are converted to "\\0". + + + The object to convert to a string. + + + The converted string. + + + + + The string assert. + + + + + Gets the singleton instance of the CollectionAssert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert customAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + Thrown if is not found in + . + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + The comparison method to compare strings . + + + 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. + + + The comparison method to compare strings . + + + 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 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. + + + The comparison method to compare strings . + + + 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 comparison method to compare strings . + + + 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 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. + + + The comparison method to compare strings . + + + 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. + + + The comparison method to compare strings . + + + 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 comparison method to compare strings . + + + 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 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. + + + The comparison method to compare strings . + + + 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. + + + The comparison method to compare strings . + + + An array of parameters to use when formatting . + + + Thrown if does not end with + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if does not match + . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if matches . + + + + + A collection of helper classes to test various conditions associated + with collections within unit tests. If the condition being tested is not + met, an exception is thrown. + + + + + Gets the singleton instance of the CollectionAssert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert customAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if is found in + . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if every element in is also found in + . + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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} must derive from {1}!. + + + + + 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 UITestMethodAttribute.DispatcherQueue should not be null. To use UITestMethodAttribute within a WinUI Desktop App, remember to set the static UITestMethodAttribute.DispatcherQueue during the test initialization.. + + + + + Looks up a localized string similar to Both collections are empty. {0}. + + + + + Looks up a localized string similar to Both collection contain same elements.. + + + + + Looks up a localized string similar to Both collection references point to the same collection object. {0}. + + + + + Looks up a localized string similar to Both collections contain the same elements. {0}. + + + + + Looks up a localized string similar to {0}({1}). + + + + + Looks up a localized string similar to (null). + + + + + Looks up a localized string similar to (object). + + + + + Looks up a localized string similar to String '{0}' does not contain string '{1}'. {2}.. + + + + + Looks up a localized string similar to {0} ({1}). + + + + + Looks up a localized string similar to Assert.Equals should not be used for Assertions. Please use Assert.AreEqual & overloads instead.. + + + + + Looks up a localized string similar to Method {0} must match the expected signature: public static {1} {0}({2}).. + + + + + Looks up a localized string similar to Property or method {0} on {1} returns empty IEnumerable<object[]>.. + + + + + Looks up a localized string similar to Property or method {0} on {1} does not return IEnumerable<object[]>.. + + + + + Looks up a localized string similar to Value returned by property or method {0} shouldn't be null.. + + + + + Looks up a localized string similar to The number of elements in the collections do not match. Expected:<{1}>. Actual:<{2}>.{0}. + + + + + Looks up a localized string similar to Element at index {0} do not match.. + + + + + Looks up a localized string similar to Element at index {1} is not of expected type. Expected type:<{2}>. Actual type:<{3}>.{0}. + + + + + Looks up a localized string similar to Element at index {1} is (null). Expected type:<{2}>.{0}. + + + + + Looks up a localized string similar to String '{0}' does not end with string '{1}'. {2}.. + + + + + Looks up a localized string similar to Invalid argument- EqualsTester can't use nulls.. + + + + + Looks up a localized string similar to Cannot convert object of type {0} to {1}.. + + + + + Looks up a localized string similar to The internal object referenced is no longer valid.. + + + + + Looks up a localized string similar to The parameter '{0}' is invalid. {1}.. + + + + + Looks up a localized string similar to The property {0} has type {1}; expected type {2}.. + + + + + Looks up a localized string similar to {0} Expected type:<{1}>. Actual type:<{2}>.. + + + + + Looks up a localized string similar to String '{0}' does not match pattern '{1}'. {2}.. + + + + + Looks up a localized string similar to Wrong Type:<{1}>. Actual type:<{2}>. {0}. + + + + + Looks up a localized string similar to String '{0}' matches pattern '{1}'. {2}.. + + + + + Looks up a localized string similar to No test data source specified. Atleast one TestDataSource is required with DataTestMethodAttribute.. + + + + + Looks up a localized string similar to No exception thrown. {1} exception was expected. {0}. + + + + + Looks up a localized string similar to The parameter '{0}' is invalid. The value cannot be null. {1}.. + + + + + Looks up a localized string similar to Different number of elements.. + + + + + Looks up a localized string similar to + The constructor with the specified signature could not be found. You might need to regenerate your private accessor, + or the member may be private and defined on a base class. If the latter is true, you need to pass the type + that defines the member into PrivateObject's constructor. + . + + + + + Looks up a localized string similar to + The member specified ({0}) could not be found. You might need to regenerate your private accessor, + or the member may be private and defined on a base class. If the latter is true, you need to pass the type + that defines the member into PrivateObject's constructor. + . + + + + + Looks up a localized string similar to String '{0}' does not start with string '{1}'. {2}.. + + + + + Looks up a localized string similar to The expected exception type must be System.Exception or a type derived from System.Exception.. + + + + + Looks up a localized string similar to (Failed to get the message for an exception of type {0} due to an exception.). + + + + + Looks up a localized string similar to Test method did not throw expected exception {0}. {1}. + + + + + Looks up a localized string similar to Test method did not throw an exception. An exception was expected by attribute {0} defined on the test method.. + + + + + Looks up a localized string similar to Test method threw exception {0}, but exception {1} was expected. Exception message: {2}. + + + + + Looks up a localized string similar to Test method threw exception {0}, but exception {1} or a type derived from it was expected. Exception message: {2}. + + + + + Looks up a localized string similar to Threw exception {2}, but exception {1} was expected. {0} + Exception Message: {3} + Stack Trace: {4}. + + + + + unit test outcomes + + + + + Test was executed, but there were issues. + Issues may involve exceptions or failed assertions. + + + + + Test has completed, but we can't say if it passed or failed. + May be used for aborted tests. + + + + + Test was executed without any issues. + + + + + Test is currently executing. + + + + + There was a system error while we were trying to execute a test. + + + + + The test timed out. + + + + + Test was aborted by the user. + + + + + Test is in an unknown state + + + + + Test cannot be executed. + + + + + Provides helper functionality for the unit test framework + + + + + Gets the exception messages, including the messages for all inner exceptions + recursively + + Exception to get messages for + string with error message information + + + + 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. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/Microsoft.VisualStudio.TestPlatform.TestFramework.dll new file mode 100644 index 0000000000000000000000000000000000000000..e0ab0d015150f2852335346562d66a9f4f0120bb GIT binary patch literal 74128 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..055948f --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Používá se pro určení položky nasazení (souboru nebo adresáře) za účelem nasazení podle testu. + Lze zadat na testovací třídě nebo testovací metodě. + Může mít více instancí atributu pro zadání více než jedné položky. + Cesta k položce může být absolutní nebo relativní. Pokud je relativní, je relativní ve vztahu k RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Inicializuje novou instanci třídy . + + Soubor nebo adresář, který se má nasadit. Cesta je relativní ve vztahu k adresáři výstupu sestavení. Položka bude zkopírována do adresáře, ve kterém jsou nasazená testovací sestavení. + + + + Inicializuje novou instanci třídy . + + Relativní nebo absolutní cesta k souboru nebo adresáři, který se má nasadit. Cesta je relativní ve vztahu k adresáři výstupu sestavení. Položka bude zkopírována do stejného adresáře jako nasazená testovací sestavení. + Cesta k adresáři, do kterého se mají položky kopírovat. Může být absolutní nebo relativní ve vztahu k adresáři nasazení. Všechny soubory a adresáře určené cestou budou zkopírovány do tohoto adresáře. + + + + Získá cestu ke zdrojovému souboru nebo složce, které se mají kopírovat. + + + + + Získá cestu adresáře, do kterého se položka zkopíruje. + + + + + Obsahuje literály názvů oddílů, vlastností a atributů. + + + + + Název oddílu konfigurace + + + + + Název části konfigurace pro Beta2. Zůstává kvůli kompatibilitě. + + + + + Název části pro zdroj dat + + + + + Název atributu pro Name + + + + + Název atributu pro ConnectionString + + + + + Název atributu pro DataAccessMethod + + + + + Název atributu pro DataTable + + + + + Element zdroje dat + + + + + Získá nebo nastaví název této konfigurace. + + + + + Získá nebo nastaví element ConnectionStringSettings v části <connectionStrings> v souboru .config. + + + + + Získá nebo nastaví název tabulky dat. + + + + + Získá nebo nastaví typ přístupu k datům. + + + + + Získá název klíče. + + + + + Získá vlastnosti konfigurace. + + + + + Kolekce elementů zdroje dat + + + + + Inicializuje novou instanci třídy . + + + + + Vrátí element konfigurace se zadaným klíčem. + + Klíč elementu, který se má vrátit + System.Configuration.ConfigurationElement se zadaným klíčem, jinak null. + + + + Získá element konfigurace v zadaném umístění indexu. + + Umístění indexu elementu System.Configuration.ConfigurationElement, který se má vrátit. + + + + Přidá element konfigurace ke kolekci elementů konfigurace. + + System.Configuration.ConfigurationElement, který se má přidat + + + + Odebere System.Configuration.ConfigurationElement z kolekce. + + . + + + + Odebere System.Configuration.ConfigurationElement z kolekce. + + Klíč elementu System.Configuration.ConfigurationElement, který se má odebrat + + + + Odebere všechny objekty elementů konfigurace z kolekce. + + + + + Vytvoří nový . + + Nový . + + + + Získá klíč elementu pro zadaný element konfigurace. + + System.Configuration.ConfigurationElement, pro který se má vrátit klíč + System.Object, který funguje jako klíč pro zadaný element System.Configuration.ConfigurationElement + + + + Přidá element konfigurace ke kolekci elementů konfigurace. + + System.Configuration.ConfigurationElement, který se má přidat + + + + Přidá element konfigurace ke kolekci elementů konfigurace. + + Umístění indexu, kde se má přidat zadaný element System.Configuration.ConfigurationElement + System.Configuration.ConfigurationElement, který se má přidat + + + + Podpora nastavení konfigurace testů + + + + + Získá oddíl konfigurace pro testy. + + + + + Oddíl konfigurace pro testy + + + + + Získá zdroje dat pro tento oddíl konfigurace. + + + + + Získá kolekci vlastností. + + + Třídu vlastností pro element + + + + + Tato třída představuje živý, NEVEŘEJNÝ, INTERNÍ objekt v systému. + + + + + Inicializuje novou instanci třídy , která obsahuje + už existující objekt privátní třídy. + + objektů, které slouží jako počáteční bod k dosažení privátních členů + řetězec zrušení reference využívající . a odkazující na objekt, který se má načíst, jako například v m_X.m_Y.m_Z + + + + Inicializuje novou instanci třídy , která zabaluje + zadaný typ. + + Název sestavení + plně kvalifikovaný název + Argumenty, které se mají předat konstruktoru + + + + Inicializuje novou instanci třídy , která zabaluje + zadaný typ. + + Název sestavení + plně kvalifikovaný název + Pole objektů představujících počet, pořadí a typ parametrů, které má načíst konstruktor + Argumenty, které se mají předat konstruktoru + + + + Inicializuje novou instanci třídy , která zabaluje + zadaný typ. + + typ objektu, který chcete vytvořit + Argumenty, které se mají předat konstruktoru + + + + Inicializuje novou instanci třídy , která zabaluje + zadaný typ. + + typ objektu, který chcete vytvořit + Pole objektů představujících počet, pořadí a typ parametrů, které má načíst konstruktor + Argumenty, které se mají předat konstruktoru + + + + Inicializuje novou instanci třídy , která zabaluje + daný objekt. + + Objekt, který chcete zabalit + + + + Inicializuje novou instanci třídy , která zabaluje + daný objekt. + + Objekt, který chcete zabalit + Objekt PrivateType + + + + Získá nebo nastaví cíl. + + + + + Získá typ základního objektu. + + + + + Vrátí hodnotu hash cílového objektu. + + celé číslo představující hodnotu hash cílového objektu + + + + Rovná se + + Objekt, se kterým chcete porovnat + pokud se objekty rovnají, vrátí true. + + + + Vyvolá zadanou metodu. + + Název metody + Argumenty pro vyvolání, které se mají předat členu + Výsledek volání metody + + + + Vyvolá zadanou metodu. + + Název metody + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda načíst. + Argumenty pro vyvolání, které se mají předat členu + Výsledek volání metody + + + + Vyvolá zadanou metodu. + + Název metody + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda načíst. + Argumenty pro vyvolání, které se mají předat členu + Pole typů odpovídající typům obecných argumentů + Výsledek volání metody + + + + Vyvolá zadanou metodu. + + Název metody + Argumenty pro vyvolání, které se mají předat členu + Informace o jazykové verzi + Výsledek volání metody + + + + Vyvolá zadanou metodu. + + Název metody + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda načíst. + Argumenty pro vyvolání, které se mají předat členu + Informace o jazykové verzi + Výsledek volání metody + + + + Vyvolá zadanou metodu. + + Název metody + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Argumenty pro vyvolání, které se mají předat členu + Výsledek volání metody + + + + Vyvolá zadanou metodu. + + Název metody + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda načíst. + Argumenty pro vyvolání, které se mají předat členu + Výsledek volání metody + + + + Vyvolá zadanou metodu. + + Název metody + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Argumenty pro vyvolání, které se mají předat členu + Informace o jazykové verzi + Výsledek volání metody + + + + Vyvolá zadanou metodu. + + Název metody + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda načíst. + Argumenty pro vyvolání, které se mají předat členu + Informace o jazykové verzi + Výsledek volání metody + + + + Vyvolá zadanou metodu. + + Název metody + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda načíst. + Argumenty pro vyvolání, které se mají předat členu + Informace o jazykové verzi + Pole typů odpovídající typům obecných argumentů + Výsledek volání metody + + + + Získá prvek pole pomocí pole dolních indexů pro jednotlivé rozměry. + + Název člena + indexy pole + Pole prvků + + + + Nastaví prvek pole pomocí pole dolních indexů pro jednotlivé rozměry. + + Název člena + Hodnota, která se má nastavit + indexy pole + + + + Získá prvek pole pomocí pole dolních indexů pro jednotlivé rozměry. + + Název člena + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + indexy pole + Pole prvků + + + + Nastaví prvek pole pomocí pole dolních indexů pro jednotlivé rozměry. + + Název člena + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Hodnota, která se má nastavit + indexy pole + + + + Získá pole. + + Název pole + Pole + + + + Nastaví pole. + + Název pole + nastavovací hodnota + + + + Získá pole. + + Název pole + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Pole + + + + Nastaví pole. + + Název pole + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + nastavovací hodnota + + + + Načte pole nebo vlastnost. + + Název pole nebo vlastnosti + Pole nebo vlastnost + + + + Nastaví pole nebo vlastnost. + + Název pole nebo vlastnosti + nastavovací hodnota + + + + Získá pole nebo vlastnost. + + Název pole nebo vlastnosti + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Pole nebo vlastnost + + + + Nastaví pole nebo vlastnost. + + Název pole nebo vlastnosti + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + nastavovací hodnota + + + + Získá vlastnost. + + Název vlastnosti + Argumenty pro vyvolání, které se mají předat členu + Vlastnost + + + + Získá vlastnost. + + Název vlastnosti + Pole objektů představujících počet, pořadí a typ parametrů indexované vlastnosti. + Argumenty pro vyvolání, které se mají předat členu + Vlastnost + + + + Nastaví vlastnost. + + Název vlastnosti + nastavovací hodnota + Argumenty pro vyvolání, které se mají předat členu + + + + Nastaví vlastnost. + + Název vlastnosti + Pole objektů představujících počet, pořadí a typ parametrů indexované vlastnosti. + nastavovací hodnota + Argumenty pro vyvolání, které se mají předat členu + + + + Získá vlastnost. + + Název vlastnosti + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Argumenty pro vyvolání, které se mají předat členu + Vlastnost + + + + Získá vlastnost. + + Název vlastnosti + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + Pole objektů představujících počet, pořadí a typ parametrů indexované vlastnosti. + Argumenty pro vyvolání, které se mají předat členu + Vlastnost + + + + Nastaví vlastnost. + + Název vlastnosti + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + nastavovací hodnota + Argumenty pro vyvolání, které se mají předat členu + + + + Nastaví vlastnost. + + Název vlastnosti + Bitová maska sestávající z jednoho nebo několika určující způsob vyhledávání. + nastavovací hodnota + Pole objektů představujících počet, pořadí a typ parametrů indexované vlastnosti. + Argumenty pro vyvolání, které se mají předat členu + + + + Ověří přístupový řetězec. + + přístupový řetězec + + + + Vyvolá člen. + + Název člena + Další atributy + Argumenty vyvolání + Jazyková verze + Výsledek vyvolání + + + + Vybere z aktuálního privátního typu nejvhodnější signaturu obecné metody. + + Název metody, ve které chcete prohledat mezipaměť podpisu + Pole typů odpovídající typům parametrů, ve kterých se má hledat. + Pole typů odpovídající typům obecných argumentů + pro další filtrování podpisů metody. + Modifikátory parametrů + Instance methodinfo + + + + Tato třída představuje privátní třídu pro funkci privátního přístupového objektu. + + + + + Váže se na vše. + + + + + Zabalený typ + + + + + Inicializuje novou instanci třídy , která obsahuje privátní typ. + + Název sestavení + plně kvalifikovaný název + + + + Inicializuje novou instanci třídy , která obsahuje + privátní typ z objektu typu. + + Zabalený typ, který se má vytvořit + + + + Získá odkazovaný typ. + + + + + Vyvolá statický člen. + + Název členu InvokeHelper + Argumenty vyvolání + Výsledek vyvolání + + + + Vyvolá statický člen. + + Název členu InvokeHelper + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda vyvolat + Argumenty vyvolání + Výsledek vyvolání + + + + Vyvolá statický člen. + + Název členu InvokeHelper + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda vyvolat + Argumenty vyvolání + Pole typů odpovídající typům obecných argumentů + Výsledek vyvolání + + + + Vyvolá statickou metodu. + + Název člena + Argumenty k vyvolání + Jazyková verze + Výsledek vyvolání + + + + Vyvolá statickou metodu. + + Název člena + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda vyvolat + Argumenty k vyvolání + Informace o jazykové verzi + Výsledek vyvolání + + + + Vyvolá statickou metodu. + + Název člena + Další atributy vyvolání + Argumenty k vyvolání + Výsledek vyvolání + + + + Vyvolá statickou metodu. + + Název člena + Další atributy vyvolání + Pole objektů představujících počet, pořadí a typ parametrů, které má metoda vyvolat + Argumenty k vyvolání + Výsledek vyvolání + + + + Vyvolá statickou metodu. + + Název členu + Další atributy vyvolání + Argumenty k vyvolání + Jazyková verze + Výsledek vyvolání + + + + Vyvolá statickou metodu. + + Název členu + Další atributy vyvolání + /// Pole objektů představujících počet, pořadí a typ parametrů, které má metoda vyvolat + Argumenty k vyvolání + Jazyková verze + Výsledek vyvolání + + + + Vyvolá statickou metodu. + + Název členu + Další atributy vyvolání + /// Pole objektů představujících počet, pořadí a typ parametrů, které má metoda vyvolat + Argumenty k vyvolání + Jazyková verze + Pole typů odpovídající typům obecných argumentů + Výsledek vyvolání + + + + Získá prvek ve statickém poli. + + Název pole + + Jednorozměrné pole 32bitových celých čísel představujících indexy, které určují + pozici elementu, který se má získat. Pokud chcete získat přístup například k a[10][11], budou indexy {10,11}. + + prvek v zadaném umístění + + + + Nastaví člen statického pole. + + Název pole + nastavovací hodnota + + Jednorozměrné pole 32bitových celých čísel představujících indexy, které určují + pozici elementu, který se má nastavit. Pokud chcete například získat přístup k a[10][11], bude toto pole {10,11}. + + + + + Získá prvek ve statickém poli. + + Název pole + Další atributy InvokeHelper + + Jednorozměrné pole 32bitových celých čísel představujících indexy, které určují + pozici elementu, který se má získat. Pokud chcete například získat přístup k a[10][11], bude toto pole {10,11}. + + prvek v zadaném umístění + + + + Nastaví člen statického pole. + + Název pole + Další atributy InvokeHelper + nastavovací hodnota + + Jednorozměrné pole 32bitových celých čísel představujících indexy, které určují + pozici elementu, který se má nastavit. Pokud chcete například získat přístup k a[10][11], bude toto pole {10,11}. + + + + + Získá statické pole. + + Název pole + Statické pole + + + + Nastaví statické pole. + + Název pole + Argument k vyvolání + + + + Získá statické pole pomocí zadaných atributů InvokeHelper. + + Název pole + Další atributy vyvolání + Statické pole + + + + Nastaví statické pole pomocí atributů vazby. + + Název pole + Další atributy InvokeHelper + Argument k vyvolání + + + + Získá statické pole nebo vlastnost. + + Název pole nebo vlastnosti + Statické pole nebo vlastnost + + + + Nastaví statické pole nebo vlastnost. + + Název pole nebo vlastnosti + Hodnota, která se má nastavit pro pole nebo vlastnost + + + + Získá statické pole nebo vlastnost pomocí zadaných atributů InvokeHelper. + + Název pole nebo vlastnosti + Další atributy vyvolání + Statické pole nebo vlastnost + + + + Nastaví statické pole nebo vlastnost pomocí atributů vazby. + + Název pole nebo vlastnosti + Další atributy vyvolání + Hodnota, která se má nastavit pro pole nebo vlastnost + + + + Získá statistickou vlastnost. + + Název pole nebo vlastnosti + Argumenty k vyvolání + Statická vlastnost + + + + Nastaví statickou vlastnost. + + Název vlastnosti + Hodnota, která se má nastavit pro pole nebo vlastnost + Argumenty pro vyvolání, které se mají předat členu + + + + Nastaví statickou vlastnost. + + Název vlastnosti + Hodnota, která se má nastavit pro pole nebo vlastnost + Pole objektů představujících počet, pořadí a typ parametrů indexované vlastnosti. + Argumenty pro vyvolání, které se mají předat členu + + + + Získá statistickou vlastnost. + + Název vlastnosti + Další atributy vyvolání + Argumenty pro vyvolání, které se mají předat členu + Statická vlastnost + + + + Získá statistickou vlastnost. + + Název vlastnosti + Další atributy vyvolání + Pole objektů představujících počet, pořadí a typ parametrů indexované vlastnosti. + Argumenty pro vyvolání, které se mají předat členu + Statická vlastnost + + + + Nastaví statickou vlastnost. + + Název vlastnosti + Další atributy vyvolání + Hodnota, která se má nastavit pro pole nebo vlastnost + Volitelné hodnoty indexu pro indexované vlastnosti. Indexy indexovaných vlastností se počítají od nuly. Tato hodnota by měla pro neindexované vlastnosti být Null. + + + + Nastaví statickou vlastnost. + + Název vlastnosti + Další atributy vyvolání + Hodnota, která se má nastavit pro pole nebo vlastnost + Pole objektů představujících počet, pořadí a typ parametrů indexované vlastnosti. + Argumenty pro vyvolání, které se mají předat členu + + + + Vyvolá statickou metodu. + + Název členu + Další atributy vyvolání + Argumenty k vyvolání + Jazyková verze + Výsledek vyvolání + + + + Poskytuje zjišťování podpisu metody pro obecné metody. + + + + + Porovnává signatury těchto dvou metod. + + Method1 + Method2 + True, pokud je mezi nimi podobnost + + + + Získá hloubku hierarchie od základního typu poskytnutého typu. + + Typ + Hloubka + + + + Najde nejvíce odvozený typ s poskytnutými informacemi. + + Možné shody + Počet shod + Nejvíce odvozená metoda + + + + S ohledem na sadu metod, které splňují základní kritéria, vybere pro pole typů + metodu. Pokud kritériím nevyhovuje žádná metoda, měla by tato metoda + vrátit null. + + Specifikace vazby + Možné shody + Typy + Modifikátory parametrů + Metoda porovnávání. Null, pokud se nic neshoduje + + + + Najde v daných dvou poskytnutých metodách nejkonkrétnější metodu. + + Metoda 1 + Pořadí parametrů pro Metodu 1 + Typ pole parametrů + Metoda 2 + Pořadí parametrů pro Metodu 2 + >Typ pole parametrů + Typy, ve kterých se má hledat + Argumenty + Číslo typu int, které představuje shodu + + + + Najde v daných dvou poskytnutých metodách nejkonkrétnější metodu. + + Metoda 1 + Pořadí parametrů pro Metodu 1 + Typ pole parametrů + Metoda 2 + Pořadí parametrů pro Metodu 2 + >Typ pole parametrů + Typy, ve kterých se má hledat + Argumenty + Číslo typu int, které představuje shodu + + + + Najde ze dvou poskytnutých typů ten nejkonkrétnější. + + Typ 1 + Typ 2 + Definující typ + Číslo typu int, které představuje shodu + + + + Používá se pro ukládání informací poskytovaných testy jednotek. + + + + + Získá vlastnosti testu. + + + + + Získá aktuální řádek dat, když se test použije k testování řízenému daty. + + + + + Získá aktuální řádek připojení k datům, když se test použije k testování řízenému daty. + + + + + Získá základní adresář pro testovací běh, do kterého se ukládají nasazené soubory a soubory s výsledky. + + + + + Získá adresář pro soubory nasazené pro testovací běh. Obvykle se jedná o podadresář adresáře . + + + + + Získá základní adresář pro výsledky z testovacího běhu. Obvykle se jedná o podadresář adresáře . + + + + + Získá adresář pro soubory výsledků testovacího běhu. Obvykle se jedná o podadresář adresáře . + + + + + Získá adresář pro soubory s výsledky testu. + + + + + Získá základní adresář pro testovací běh, do kterého se ukládají nasazené soubory a soubory výsledků. + Shodné s . Použijte místo toho tuto vlastnost. + + + + + Získá adresář pro soubory nasazené pro testovací běh. Obvykle se jedná o podadresář adresáře . + Shodné s . Použijte místo toho tuto vlastnost. + + + + + Získá adresář pro soubory výsledků testovacího běhu. Obvykle se jedná o podadresář adresáře . + Shodné s . Pro soubory výsledků testovacího běhu použijte tuto vlastnost, + pro soubory výsledků konkrétního testu pak . + + + + + Získá plně kvalifikovaný název třídy, která obsahuje aktuálně prováděnou metodu testu. + + + + + Získá název aktuálně prováděné metody testu. + + + + + Získá aktuální výsledek testu. + + + + + Používá se pro zápis trasovacích zpráv během testu. + + řetězec formátované zprávy + + + + Používá se pro zápis trasovacích zpráv během testu. + + Řetězec formátu + argumenty + + + + Přidá do seznamu v TestResult.ResultFileNames název souboru. + + + Název souboru + + + + + Spustí zadaným způsobem časovač. + + Název časovače + + + + Ukončí zadaným způsobem časovač. + + Název časovače + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..3f446b4 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4197 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Atribut TestMethod pro provádění + + + + + Získá název testovací metody. + + + + + Získá název třídy testu. + + + + + Získá návratový typ testovací metody. + + + + + Získá parametry testovací metody. + + + + + Získá methodInfo pro testovací metodu. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Vyvolá testovací metodu. + + + Argumenty pro testovací metodu (např. pro testování řízené daty) + + + Výsledek vyvolání testovací metody + + + This call handles asynchronous test methods as well. + + + + + Získá všechny atributy testovací metody. + + + Jestli je platný atribut definovaný v nadřazené třídě + + + Všechny atributy + + + + + Získá atribut konkrétního typu. + + System.Attribute type. + + Jestli je platný atribut definovaný v nadřazené třídě + + + Atributy zadaného typu + + + + + Pomocná služba + + + + + Kontrolní parametr není null. + + + Parametr + + + Název parametru + + + Zpráva + + Throws argument null exception when parameter is null. + + + + Ověřovací parametr není null nebo prázdný. + + + Parametr + + + Název parametru + + + Zpráva + + Throws ArgumentException when parameter is null. + + + + Výčet způsobů přístupu k datovým řádkům při testování řízeném daty + + + + + Řádky se vrací v sekvenčním pořadí. + + + + + Řádky se vrátí v náhodném pořadí. + + + + + Atribut pro definování vložených dat pro testovací metodu + + + + + Inicializuje novou instanci třídy . + + Datový objekt + + + + Inicializuje novou instanci třídy , která přijímá pole argumentů. + + Datový objekt + Další data + + + + Získá data pro volání testovací metody. + + + + + Získá nebo nastaví zobrazovaný název ve výsledcích testu pro přizpůsobení. + + + + + Výjimka s neprůkazným kontrolním výrazem + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Inicializuje novou instanci třídy . + + + + + Třída InternalTestFailureException. Používá se pro označení interní chyby testovacího případu. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializuje novou instanci třídy . + + Zpráva o výjimce + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva o výjimce + + + + Inicializuje novou instanci třídy . + + + + + Atribut, podle kterého se má očekávat výjimka zadaného typu + + + + + Inicializuje novou instanci třídy s očekávaným typem. + + Typ očekávané výjimky + + + + Inicializuje novou instanci třídy + s očekávaným typem a zprávou, která se zahrne v případě, že test nevyvolá žádnou výjimku. + + Typ očekávané výjimky + + Zpráva, která má být zahrnuta do výsledku testu, pokud se test nezdaří z důvodu nevyvolání výjimky + + + + + Načte hodnotu, která označuje typ očekávané výjimky. + + + + + Získá nebo načte hodnotu, která označuje, jestli je možné typy odvozené od typu očekávané výjimky + považovat za očekávané. + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Ověří, jestli se očekává typ výjimky vyvolané testem jednotek. + + Výjimka vyvolaná testem jednotek + + + + Základní třída pro atributy, které určují, že se má očekávat výjimka testu jednotek + + + + + Inicializuje novou instanci třídy s výchozí zprávou no-exception. + + + + + Inicializuje novou instanci třídy se zprávou no-exception. + + + Zprávy, které mají být zahrnuty ve výsledku testu, pokud se test nezdaří z důvodu nevyvolání + výjimky + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Získá výchozí zprávu no-exception. + + Název typu atributu ExpectedException + Výchozí zpráva neobsahující výjimku + + + + Určuje, jestli se daná výjimka očekává. Pokud metoda skončí, rozumí se tomu tak, + že se výjimka očekávala. Pokud metoda vyvolá výjimku, rozumí se tím, + že se výjimka neočekávala a součástí výsledku testu + je zpráva vyvolané výjimky. Pomocí třídy je možné si usnadnit + práci. Pokud se použije a kontrolní výraz selže, + výsledek testu se nastaví na Neprůkazný. + + Výjimka vyvolaná testem jednotek + + + + Znovu vyvolá výjimku, pokud se jedná o atribut AssertFailedException nebo AssertInconclusiveException. + + Výjimka, která se má znovu vyvolat, pokud se jedná výjimku kontrolního výrazu + + + + Tato třída je koncipovaná tak, aby uživatelům pomáhala při testování jednotek typů, které využívá obecné typy. + Atribut GenericParameterHelper řeší některá běžná omezení obecných typů, + jako jsou: + 1. veřejný výchozí konstruktor + 2. implementace společného rozhraní: IComparable, IEnumerable + + + + + Inicializuje novou instanci třídy , která + splňuje omezení newable v obecných typech jazyka C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializuje novou instanci třídy , která + inicializuje vlastnost Data na hodnotu zadanou uživatelem. + + Libovolné celé číslo + + + + Získá nebo nastaví data. + + + + + Provede porovnání hodnot pro dva objekty GenericParameterHelper. + + objekt, se kterým chcete porovnávat + pravda, pokud má objekt stejnou hodnotu jako „tento“ objekt GenericParameterHelper. + V opačném případě nepravda. + + + + Vrátí pro tento objekt hodnotu hash. + + Kód hash + + + + Porovná data daných dvou objektů . + + Objekt pro porovnání + + Číslo se znaménkem označující relativní hodnoty této instance a hodnoty + + + Thrown when the object passed in is not an instance of . + + + + + Vrátí objekt IEnumerator, jehož délka je odvozená od + vlastnosti dat. + + Objekt IEnumerator + + + + Vrátí objekt GenericParameterHelper, který se rovná + aktuálnímu objektu. + + Klonovaný objekt + + + + Umožňuje uživatelům protokolovat/zapisovat trasování z testů jednotek pro účely diagnostiky. + + + + + Obslužná rutina pro LogMessage + + Zpráva, kterou chcete zaprotokolovat + + + + Událost pro naslouchání. Dojde k ní, když autor testů jednotek napíše zprávu. + Určeno především pro použití adaptérem. + + + + + Rozhraní API pro volání zpráv protokolu zapisovačem testu + + Formátovací řetězec se zástupnými symboly + Parametry pro zástupné symboly + + + + Atribut TestCategory, používá se pro zadání kategorie testu jednotek. + + + + + Inicializuje novou instanci třídy a zavede pro daný test kategorii. + + + Kategorie testu + + + + + Získá kategorie testu, které se nastavily pro test. + + + + + Základní třída atributu Category + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializuje novou instanci třídy . + Tuto kategorii zavede pro daný test. Řetězce vrácené z TestCategories + se použijí spolu s příkazem /category k filtrování testů. + + + + + Získá kategorii testu, která se nastavila pro test. + + + + + Třída AssertFailedException. Používá se pro značení chyby testovacího případu. + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Inicializuje novou instanci třídy . + + + + + Kolekce pomocných tříd pro testování nejrůznějších podmínek v rámci + testů jednotek. Pokud se testovaná podmínka nesplní, vyvolá se + výjimka. + + + + + Získá instanci typu singleton funkce Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Thrown if is false. + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je nepravda. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is false. + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je nepravda. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is false. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Thrown if is true. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je pravda. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is true. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je pravda. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is true. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Thrown if is null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is null. + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není instancí . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není instancí . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je instancí . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je instancí . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Vyvolá výjimku AssertFailedException. + + + Always thrown. + + + + + Vyvolá výjimku AssertFailedException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Always thrown. + + + + + Vyvolá výjimku AssertFailedException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Always thrown. + + + + + Statická přetížení operátoru rovnosti se používají k porovnání rovnosti odkazů na instance + dvou typů. Tato metoda by se neměla používat k porovnání rovnosti dvou + instancí. Tento objekt vždy vyvolá Assert.Fail. Ve svých testech + jednotek prosím použijte Assert.AreEqual a přidružená přetížení. + + Objekt A + Objekt B + Vždy nepravda. + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá AssertFailedException, pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá AssertFailedException, pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Nahradí znaky null ('\0') řetězcem "\\0". + + + Řetězec, který se má hledat + + + Převedený řetězec se znaky Null nahrazený řetězcem "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Pomocná funkce, která vytváří a vyvolává výjimku AssertionFailedException + + + název kontrolního výrazu, který vyvolává výjimku + + + zpráva popisující podmínky neplatnosti kontrolního výrazu + + + Parametry + + + + + Ověří parametr pro platné podmínky. + + + Parametr + + + Název kontrolního výrazu + + + název parametru + + + zpráva pro neplatnou výjimku parametru + + + Parametry + + + + + Bezpečně převede objekt na řetězec, včetně zpracování hodnot null a znaků null. + Hodnoty null se převádějí na formát (null). Znaky null se převádějí na \\0. + + + Objekt, který chcete převést na řetězec + + + Převedený řetězec + + + + + Kontrolní výraz řetězce + + + + + Získá instanci typu singleton funkce CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nezačíná na . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nezačíná na . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Thrown if does not end with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nekončí na . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if does not end with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nekončí na . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not end with + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + neodpovídá . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + neodpovídá . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Thrown if matches . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + odpovídá . Zpráva je zobrazena ve výsledcích + testu. + + + Thrown if matches . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + odpovídá . Zpráva je zobrazena ve výsledcích + testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if matches . + + + + + Kolekce tříd pomocných služeb pro ověřování nejrůznějších podmínek vztahujících se + na kolekce v rámci testů jednotek. Pokud se testovaná podmínka + nesplní, vyvolá se výjimka. + + + + + Získá instanci typu singleton funkce CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Thrown if is found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je v kolekci . Zpráva je zobrazena ve výsledcích + testu. + + + Thrown if is found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je v kolekci . Zpráva je zobrazena ve výsledcích + testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is found in + . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Thrown if a null element is found in . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje prvek Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if a null element is found in . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje prvek Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if a null element is found in . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje alespoň jeden duplicitní prvek. Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje alespoň jeden duplicitní prvek. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + se nenachází v podmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + se nenachází v podmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Zpráva, kterou chcete zahrnout do výjimky, pokud každý prvek v podmnožině + se nachází také v nadmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Zpráva, kterou chcete zahrnout do výjimky, pokud každý prvek v podmnožině + se nachází také v nadmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud byl nalezen prvek + v jedné z kolekcí, ale ne ve druhé. Zpráva je zobrazena + ve výsledcích testu. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud byl nalezen prvek + v jedné z kolekcí, ale ne ve druhé. Zpráva je zobrazena + ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje stejný prvek jako . Zpráva + je zobrazena ve výsledcích testu. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje stejný prvek jako . Zpráva + je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + není instancí typu + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + není instancí typu + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, když + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, když + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Určuje, jestli první kolekce je podmnožinou druhé + kolekce. Pokud některá z množin obsahuje duplicitní prvky, musí počet + výskytů prvku v podmnožině být menší, nebo + se musí rovnat počtu výskytů v nadmnožině. + + + Kolekce, která podle testu má být obsažena v nadmnožině . + + + Kolekce, která podle testu má obsahovat . + + + Pravda, pokud je podmnožinou + , jinak nepravda. + + + + + Vytvoří slovník obsahující počet výskytů jednotlivých + prvků v zadané kolekci. + + + Kolekce, kterou chcete zpracovat + + + Počet prvků Null v kolekci + + + Slovník obsahující počet výskytů jednotlivých prvků + v zadané kolekci. + + + + + Najde mezi dvěma kolekcemi neshodný prvek. Neshodný + prvek je takový, který má v očekávané kolekci + odlišný počet výskytů ve srovnání se skutečnou kolekcí. Kolekce + se považují za rozdílné reference bez hodnoty null se + stejným počtem prvků. Za tuto úroveň ověření odpovídá + volající. Pokud neexistuje žádný neshodný prvek, funkce vrátí + false a neměli byste použít parametry Out. + + + První kolekce, která se má porovnat + + + Druhá kolekce k porovnání + + + Očekávaný počet výskytů prvku + nebo 0, pokud není žádný nevyhovující + prvek. + + + Skutečný počet výskytů prvku + nebo 0, pokud není žádný nevyhovující + prvek. + + + Neshodný prvek (může být Null) nebo Null, pokud neexistuje žádný + neshodný prvek. + + + pravda, pokud je nalezen nevyhovující prvek; v opačném případě nepravda. + + + + + Porovná objekt pomocí atributu object.Equals. + + + + + Základní třída pro výjimky architektury + + + + + Inicializuje novou instanci třídy . + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Třída prostředků se silnými typy pro vyhledávání lokalizovaných řetězců atd. + + + + + Vrátí v mezipaměti uloženou instanci ResourceManager použitou touto třídou. + + + + + Přepíše vlastnost CurrentUICulture aktuálního vlákna pro všechna + vyhledávání prostředků pomocí této třídy prostředků silného typu. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Přístupový řetězec má neplatnou syntaxi. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Očekávaná kolekce obsahuje počet výskytů {1} <{2}>. Skutečná kolekce obsahuje tento počet výskytů: {3}. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Našla se duplicitní položka:<{1}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Očekáváno:<{1}>. Případ je rozdílný pro skutečnou hodnotu:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Mezi očekávanou hodnotou <{1}> a skutečnou hodnotou <{2}> se očekává rozdíl maximálně <{3}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekáváno:<{1} ({2})>. Skutečnost:<{3} ({4})>. {0}. + + + + + Vyhledá řetězec podobný řetězci Očekáváno:<{1}>. Skutečnost:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Mezi očekávanou hodnotou <{1}> a skutečnou hodnotou <{2}> se očekával rozdíl větší než <{3}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekávala se libovolná hodnota s výjimkou:<{1}>. Skutečnost:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nevkládejte hodnotu typů do AreSame(). Hodnoty převedené na typ Object nebudou nikdy stejné. Zvažte možnost použít AreEqual(). {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Chyba {0}. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: async TestMethod s atributem UITestMethodAttribute se nepodporují. Buď odeberte async, nebo použijte TestMethodAttribute. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce jsou prázdné. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce obsahují stejný prvek. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě reference kolekce odkazují na stejný objekt kolekce. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce obsahují stejné prvky. {0}. + + + + + Vyhledá řetězec podobný řetězci {0}({1}). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (null). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (objekt). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} neobsahuje řetězec {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci {0} ({1}). + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Atribut Assert.Equals by se neměl používat pro kontrolní výrazy. Použijte spíše Assert.AreEqual a přetížení. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Počet prvků v kolekci se neshoduje. Očekáváno:<{1}>. Skutečnost:<{2}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Prvek indexu {0} se neshoduje. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Prvek indexu {1} je neočekávaného typu. Očekávaný typ:<{2}>. Skutečný typ:<{3}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Prvek indexu {1} je (null). Očekávaný typ:<{2}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} nekončí řetězcem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Neplatný argument: EqualsTester nemůže použít hodnoty null. + + + + + Vyhledá řetězec podobný řetězci Nejde převést objekt typu {0} na {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Interní odkazovaný objekt už není platný. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Parametr {0} je neplatný. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Vlastnost {0} má typ {1}; očekávaný typ {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci {0} Očekávaný typ:<{1}>. Skutečný typ:<{2}>. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} se neshoduje se vzorkem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Nesprávný typ:<{1}>. Skutečný typ:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} se shoduje se vzorkem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nezadal se žádný atribut DataRowAttribute. K atributu DataTestMethodAttribute se vyžaduje aspoň jeden atribut DataRowAttribute. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nevyvolala se žádná výjimka. Očekávala se výjimka {1}. {0}. + + + + + Vyhledá lokalizované řetězce podobné tomuto: Parametr {0} je neplatný. Hodnota nemůže být null. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Rozdílný počet prvků. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci + Konstruktor se zadaným podpisem se nenašel. Pravděpodobně budete muset obnovit privátní přístupový objekt, + nebo je člen pravděpodobně privátní a založený na základní třídě. Pokud je pravdivý druhý zmíněný případ, musíte vložit typ + definující člen do konstruktoru objektu PrivateObject. + + + + + + Vyhledá lokalizovaný řetězec podobný řetězci + Zadaný člen ({0}) se nenašel. Pravděpodobně budete muset obnovit privátní přístupový objekt, + nebo je člen pravděpodobně privátní a založený na základní třídě. Pokud je pravdivý druhý zmíněný případ, musíte vložit typ + definující člen do konstruktoru atributu PrivateObject. + + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} nezačíná řetězcem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekávaný typ výjimky musí být System.Exception nebo typ odvozený od System.Exception. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (Z důvodu výjimky se nepodařilo získat zprávu pro výjimku typu {0}.). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Testovací metoda nevyvolala očekávanou výjimku {0}. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda nevyvolala výjimku. Atribut {0} definovaný testovací metodou očekával výjimku. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda vyvolala výjimku {0}, ale očekávala se výjimka {1}. Zpráva o výjimce: {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda vyvolala výjimku {0}, očekávala se ale odvozená výjimka {1} nebo typ. Zpráva o výjimce: {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Vyvolala se výjimka {2}, ale očekávala se výjimka {1}. {0} + Zpráva o výjimce: {3} + Trasování zásobníku: {4} + + + + + Výsledky testu jednotek + + + + + Test se provedl, ale došlo k problémům. + Problémy se můžou týkat výjimek nebo neúspěšných kontrolních výrazů. + + + + + Test se dokončil, ale není možné zjistit, jestli byl úspěšný, nebo ne. + Dá se použít pro zrušené testy. + + + + + Test se provedl zcela bez problémů. + + + + + V tuto chvíli probíhá test. + + + + + Při provádění testu došlo k chybě systému. + + + + + Časový limit testu vypršel. + + + + + Test byl zrušen uživatelem. + + + + + Test je v neznámém stavu. + + + + + Poskytuje pomocnou funkci pro systém pro testy jednotek. + + + + + Rekurzivně získá zprávy o výjimce, včetně zpráv pro všechny vnitřní + výjimky. + + Výjimka pro načítání zpráv pro + řetězec s informacemi v chybové zprávě + + + + Výčet pro časové limity, který se dá použít spolu s třídou . + Typ výčtu musí odpovídat + + + + + Nekonečno + + + + + Atribut třídy testu + + + + + Získá atribut testovací metody, který umožní spustit tento test. + + Instance atributu testovací metody definované v této metodě. + Typ Použije se ke spuštění tohoto testu. + Extensions can override this method to customize how all methods in a class are run. + + + + Atribut testovací metody + + + + + Spustí testovací metodu. + + Testovací metoda, která se má spustit. + Pole objektů TestResult, které představuje výsledek (nebo výsledky) daného testu. + Extensions can override this method to customize running a TestMethod. + + + + Atribut inicializace testu + + + + + Atribut vyčištění testu + + + + + Atribut ignore + + + + + Atribut vlastnosti testu + + + + + Inicializuje novou instanci třídy . + + + Název + + + Hodnota + + + + + Získá název. + + + + + Získá hodnotu. + + + + + Atribut inicializace třídy + + + + + Atribut vyčištění třídy + + + + + Atribut inicializace sestavení + + + + + Atribut vyčištění sestavení + + + + + Vlastník testu + + + + + Inicializuje novou instanci třídy . + + + Vlastník + + + + + Získá vlastníka. + + + + + Atribut priority, používá se pro určení priority testu jednotek. + + + + + Inicializuje novou instanci třídy . + + + Priorita + + + + + Získá prioritu. + + + + + Popis testu + + + + + Inicializuje novou instanci třídy , která popíše test. + + Popis + + + + Získá popis testu. + + + + + Identifikátor URI struktury projektů CSS + + + + + Inicializuje novou instanci třídy pro identifikátor URI struktury projektů CSS. + + Identifikátor URI struktury projektů CSS + + + + Získá identifikátor URI struktury projektů CSS. + + + + + Identifikátor URI iterace CSS + + + + + Inicializuje novou instanci třídy pro identifikátor URI iterace CSS. + + Identifikátor URI iterace CSS + + + + Získá identifikátor URI iterace CSS. + + + + + Atribut WorkItem, používá se pro zadání pracovní položky přidružené k tomuto testu. + + + + + Inicializuje novou instanci třídy pro atribut WorkItem. + + ID pro pracovní položku + + + + Získá ID k přidružené pracovní položce. + + + + + Atribut časového limitu, používá se pro zadání časového limitu testu jednotek. + + + + + Inicializuje novou instanci třídy . + + + Časový limit + + + + + Inicializuje novou instanci třídy s předem nastaveným časovým limitem. + + + Časový limit + + + + + Získá časový limit. + + + + + Objekt TestResult, který se má vrátit adaptéru + + + + + Inicializuje novou instanci třídy . + + + + + Získá nebo nastaví zobrazovaný název výsledku. Vhodné pro vrácení většího počtu výsledků. + Pokud je null, jako DisplayName se použije název metody. + + + + + Získá nebo nastaví výsledek provedení testu. + + + + + Získá nebo nastaví výjimku vyvolanou při chybě testu. + + + + + Získá nebo nastaví výstup zprávy zaprotokolované testovacím kódem. + + + + + Získá nebo nastaví výstup zprávy zaprotokolované testovacím kódem. + + + + + Získá nebo načte trasování ladění testovacího kódu. + + + + + Gets or sets the debug traces by test code. + + + + + Získá nebo nastaví délku trvání testu. + + + + + Získá nebo nastaví index řádku dat ve zdroji dat. Nastavte pouze pro výsledky jednoho + spuštění řádku dat v testu řízeném daty. + + + + + Získá nebo nastaví návratovou hodnotu testovací metody. (Aktuálně vždy null) + + + + + Získá nebo nastaví soubory s výsledky, které připojil test. + + + + + Určuje připojovací řetězec, název tabulky a metodu přístupu řádku pro testování řízené daty. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Název výchozího poskytovatele pro DataSource + + + + + Výchozí metoda pro přístup k datům + + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s poskytovatelem dat, připojovacím řetězcem, tabulkou dat a přístupovou metodou k datům, pomocí kterých se získá přístup ke zdroji dat. + + Název poskytovatele neutrálních dat, jako je System.Data.SqlClient + + Připojovací řetězec specifický pro poskytovatele dat. + UPOZORNĚNÍ: Připojovací řetězec může obsahovat citlivé údaje (třeba heslo). + Připojovací řetězec se ukládá v podobě prostého textu ve zdrojovém kódu a v kompilovaném sestavení. + Tyto citlivé údaje zabezpečíte omezením přístupu ke zdrojovému kódu a sestavení. + + Název tabulky dat + Určuje pořadí přístupu k datům. + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s připojovacím řetězcem a názvem tabulky. + Zadejte připojovací řetězec a tabulku dat, pomocí kterých se získá přístup ke zdroji dat OLEDB. + + + Připojovací řetězec specifický pro poskytovatele dat. + UPOZORNĚNÍ: Připojovací řetězec může obsahovat citlivé údaje (třeba heslo). + Připojovací řetězec se ukládá v podobě prostého textu ve zdrojovém kódu a v kompilovaném sestavení. + Tyto citlivé údaje zabezpečíte omezením přístupu ke zdrojovému kódu a sestavení. + + Název tabulky dat + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s poskytovatelem dat a připojovacím řetězcem přidruženým k názvu nastavení. + + Název zdroje dat nalezený v oddílu <microsoft.visualstudio.qualitytools> souboru app.config. + + + + Získá hodnotu představující poskytovatele dat zdroje dat. + + + Název poskytovatele dat. Pokud poskytovatel dat nebyl při inicializaci objektu zadán, bude vrácen výchozí poskytovatel System.Data.OleDb. + + + + + Získá hodnotu představující připojovací řetězec zdroje dat. + + + + + Získá hodnotu označující název tabulky poskytující data. + + + + + Získá metodu používanou pro přístup ke zdroji dat. + + + + Jedna z těchto položek: . Pokud není inicializován, vrátí výchozí hodnotu . + + + + + Získá název zdroje dat nalezeného v části <microsoft.visualstudio.qualitytools> v souboru app.config. + + + + + Atribut testu řízeného daty, kde se data dají zadat jako vložená. + + + + + Vyhledá všechny datové řádky a spustí je. + + + Testovací metoda + + + Pole . + + + + + Spustí testovací metodu řízenou daty. + + Testovací metoda, kterou chcete provést. + Datový řádek + Výsledek provedení + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..6dc91e9 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Wird zum Angeben des Bereitstellungselements (Datei oder Verzeichnis) für eine Bereitstellung pro Test verwendet. + Kann für eine Testklasse oder Testmethode angegeben werden. + Kann mehrere Instanzen des Attributs besitzen, um mehrere Elemente anzugeben. + Der Elementpfad kann absolut oder relativ sein. Wenn er relativ ist, dann relativ zu "RunConfig.RelativePathRoot". + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die bereitzustellende Datei oder das Verzeichnis. Der Pfad ist relativ zum Buildausgabeverzeichnis. Das Element wird in das gleiche Verzeichnis wie die bereitgestellten Testassemblys kopiert. + + + + Initialisiert eine neue Instanz der -Klasse. + + Der relative oder absolute Pfad zur bereitzustellenden Datei oder zum Verzeichnis. Der Pfad ist relativ zum Buildausgabeverzeichnis. Das Element wird in das gleiche Verzeichnis wie die bereitgestellten Testassemblys kopiert. + Der Pfad des Verzeichnisses, in das die Elemente kopiert werden sollen. Er kann absolut oder relativ zum Bereitstellungsverzeichnis sein. Alle Dateien und Verzeichnisse, die identifiziert werden durch werden in dieses Verzeichnis kopiert. + + + + Ruft den Pfad der Quelldatei oder des -ordners ab, die bzw. der kopiert werden soll. + + + + + Ruft den Pfad des Verzeichnisses ab, in das das Element kopiert werden soll. + + + + + Enthält Literale für Namen von Abschnitten, Eigenschaften, Attributen. + + + + + Der Konfigurationsabschnittsname. + + + + + Der Konfigurationsbereichsname für Beta2. Belassen für Kompatibilität. + + + + + Abschnittsname für die Datenquelle. + + + + + Attributname für "Name" + + + + + Attributname für "ConnectionString" + + + + + Attributname für "DataAccessMethod" + + + + + Attributname für "DataTable" + + + + + Das Datenquellelement. + + + + + Ruft das Arrayelement mit einem Array von tiefgestellten Indizes für diese Konfiguration ab. + + + + + Ruft das Element "ConnectionStringSettings" im Abschnitt <connectionStrings> in der Konfigurationsdatei ab oder legt es fest. + + + + + Ruft den Namen der Datentabelle ab oder legt ihn fest. + + + + + Ruft den Datenzugriffstyp ab oder legt ihn fest. + + + + + Ruft den Schlüsselnamen ab. + + + + + Ruft die Konfigurationseigenschaften ab. + + + + + Die Sammlung der Datenquellenelemente. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Gibt das Konfigurationselement mit dem angegebenen Schlüssel zurück. + + Der Schlüssel des Elements, das zurückgegeben werden soll. + Das System.Configuration.ConfigurationElement mit dem angegebenen Schlüssel, andernfalls NULL. + + + + Ruft das Konfigurationselement am angegebenen Indexspeicherort ab. + + Der Indexspeicherort des System.Configuration.ConfigurationElement, das zurückgegeben werden soll. + + + + Fügt der Konfigurationselementsammlung ein Konfigurationselement hinzu. + + Das System.Configuration.ConfigurationElement, das hinzugefügt werden soll. + + + + Entfernt ein System.Configuration.ConfigurationElement aus der Sammlung. + + Das . + + + + Entfernt ein System.Configuration.ConfigurationElement aus der Sammlung. + + Der Schlüssel des zu entfernenden System.Configuration.ConfigurationElement. + + + + Entfernt alle Konfigurationselementobjekte aus der Sammlung. + + + + + Erstellt ein neues. + + Eine neues . + + + + Ruft den Elementschlüssel für ein angegebenes Konfigurationselement ab. + + Das System.Configuration.ConfigurationElement, für das der Schlüssel zurückgegeben werden soll. + Ein System.Object, das als Schlüssel für das angegebene System.Configuration.ConfigurationElement fungiert. + + + + Fügt der Konfigurationselementsammlung ein Konfigurationselement hinzu. + + Das System.Configuration.ConfigurationElement, das hinzugefügt werden soll. + + + + Fügt der Konfigurationselementsammlung ein Konfigurationselement hinzu. + + Die Stelle im Index, an der das angegebene System.Configuration.ConfigurationElement hinzugefügt werden soll. + Das System.Configuration.ConfigurationElement, das hinzugefügt werden soll. + + + + Unterstützung für Konfigurationseinstellungen für Tests. + + + + + Ruft den Konfigurationsabschnitt für Tests ab. + + + + + Der Konfigurationsabschnitt für Tests. + + + + + Ruft die Datenquellen für diesen Konfigurationsbereich ab. + + + + + Ruft die Sammlung von Eigenschaften ab. + + + Der mit Eigenschaften für das Element. + + + + + Diese Klasse stellt das NICHT öffentliche INTERNE Objekt im System dar. + + + + + Initialisiert eine neue Instanz der -Klasse, die + das bereits vorhandene Objekt der privaten Klasse enthält + + Objekt, das als Ausgangspunkt zum Erreichen der privaten Member dient + Die dereferenzierende Zeichenfolge mit ., die auf das abzurufende Objekt zeigt (wie in m_X.m_Y.m_Z). + + + + Initialisiert eine neue Instanz der-Klasse, die den + angegebenen Typ umschließt. + + Name der Assembly + Vollqualifizierter Name + Argumente, die an den Konstruktor übergeben werden sollen. + + + + Initialisiert eine neue Instanz der-Klasse, die den + angegebenen Typ umschließt. + + Name der Assembly + Vollqualifizierter Name + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für den abzurufenden Konstruktor darstellt. + Argumente, die an den Konstruktor übergeben werden sollen. + + + + Initialisiert eine neue Instanz der-Klasse, die den + angegebenen Typ umschließt. + + Typ des zu erstellenden Objekts + Argumente, die an den Konstruktor übergeben werden sollen. + + + + Initialisiert eine neue Instanz der-Klasse, die den + angegebenen Typ umschließt. + + Typ des zu erstellenden Objekts + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für den abzurufenden Konstruktor darstellt. + Argumente, die an den Konstruktor übergeben werden sollen. + + + + Initialisiert eine neue Instanz der-Klasse, die das + angegebene Objekt umschließt. + + Das zu umschließende Objekt. + + + + Initialisiert eine neue Instanz der-Klasse, die das + angegebene Objekt umschließt. + + Das zu umschließende Objekt. + PrivateType-Objekt + + + + Ruf das Ziel ab bzw. legt dieses fest. + + + + + Ruft den Typ des zugrunde liegenden Objekts ab + + + + + Gibt den Hashcode des Zielobjekts zurück. + + int-Wert, der den Hashcode des Zielobjekts darstellt. + + + + Ist gleich + + Objekt, mit dem verglichen werden soll + gibt "true" zurück, wenn die Objekte gleich sind. + + + + Ruft die angegebene Methode auf. + + Name der Methode + An den aufzurufenden Member zu übergebende Argumente. + Ergebnis des Methodenaufrufs + + + + Ruft die angegebene Methode auf. + + Name der Methode + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die abzurufende Methode darstellt. + An den aufzurufenden Member zu übergebende Argumente. + Ergebnis des Methodenaufrufs + + + + Ruft die angegebene Methode auf. + + Name der Methode + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die abzurufende Methode darstellt. + An den aufzurufenden Member zu übergebende Argumente. + Ein Array von Typen, das den Typen der generischen Argumente entspricht. + Ergebnis des Methodenaufrufs + + + + Ruft die angegebene Methode auf. + + Name der Methode + An den aufzurufenden Member zu übergebende Argumente. + Kulturinformation + Ergebnis des Methodenaufrufs + + + + Ruft die angegebene Methode auf. + + Name der Methode + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die abzurufende Methode darstellt. + An den aufzurufenden Member zu übergebende Argumente. + Kulturinformation + Ergebnis des Methodenaufrufs + + + + Ruft die angegebene Methode auf. + + Name der Methode + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + An den aufzurufenden Member zu übergebende Argumente. + Ergebnis des Methodenaufrufs + + + + Ruft die angegebene Methode auf. + + Name der Methode + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die abzurufende Methode darstellt. + An den aufzurufenden Member zu übergebende Argumente. + Ergebnis des Methodenaufrufs + + + + Ruft die angegebene Methode auf. + + Name der Methode + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + An den aufzurufenden Member zu übergebende Argumente. + Kulturinformation + Ergebnis des Methodenaufrufs + + + + Ruft die angegebene Methode auf. + + Name der Methode + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die abzurufende Methode darstellt. + An den aufzurufenden Member zu übergebende Argumente. + Kulturinformation + Ergebnis des Methodenaufrufs + + + + Ruft die angegebene Methode auf. + + Der Name der Methode. + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die abzurufende Methode darstellt. + An den aufzurufenden Member zu übergebende Argumente. + Kulturinformation + Ein Array von Typen, das den Typen der generischen Argumente entspricht. + Ergebnis des Methodenaufrufs + + + + Ruft das Arrayelement mit einem Array von tiefgestellten Indizes für jede Dimension ab. + + Name des Members + Indizes des Arrays + Ein Array von Elementen. + + + + Legt das Arrayelement mit einem Array von tiefgestellten Indizes für jede Dimension fest. + + Name des Members + Der festzulegende Wert + Indizes des Arrays + + + + Ruft das Arrayelement mit einem Array von tiefgestellten Indizes für jede Dimension ab. + + Name des Members + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Indizes des Arrays + Ein Array von Elementen. + + + + Legt das Arrayelement mit einem Array von tiefgestellten Indizes für jede Dimension fest. + + Name des Members + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Der festzulegende Wert + Indizes des Arrays + + + + Ruft das Feld ab. + + Name des Felds + Das Feld. + + + + Legt das Feld fest. + + Name des Felds + Der festzulegende Wert + + + + Ruft das Feld ab. + + Name des Felds + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Das Feld. + + + + Legt das Feld fest. + + Name des Felds + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Der festzulegende Wert + + + + Ruft das Feld oder die Eigenschaft ab. + + Der Name des Felds oder der Eigenschaft. + Das Feld oder die Eigenschaft. + + + + Legt das Feld oder die Eigenschaft fest. + + Der Name des Felds oder der Eigenschaft. + Der festzulegende Wert + + + + Ruft das Feld oder die Eigenschaft ab. + + Der Name des Felds oder der Eigenschaft. + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Das Feld oder die Eigenschaft. + + + + Legt das Feld oder die Eigenschaft fest. + + Der Name des Felds oder der Eigenschaft. + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Der festzulegende Wert + + + + Ruft die Eigenschaft ab. + + Der Name der Eigenschaft. + An den aufzurufenden Member zu übergebende Argumente. + Die Eigenschaft. + + + + Ruft die Eigenschaft ab. + + Der Name der Eigenschaft. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die indizierte Eigenschaft darstellt. + An den aufzurufenden Member zu übergebende Argumente. + Die Eigenschaft. + + + + Legt die Eigenschaft fest. + + Der Name der Eigenschaft. + Der festzulegende Wert + An den aufzurufenden Member zu übergebende Argumente. + + + + Legt die Eigenschaft fest. + + Der Name der Eigenschaft. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die indizierte Eigenschaft darstellt. + Der festzulegende Wert + An den aufzurufenden Member zu übergebende Argumente. + + + + Ruft die Eigenschaft ab. + + Name der Eigenschaft + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + An den aufzurufenden Member zu übergebende Argumente. + Die Eigenschaft. + + + + Ruft die Eigenschaft ab. + + Name der Eigenschaft + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die indizierte Eigenschaft darstellt. + An den aufzurufenden Member zu übergebende Argumente. + Die Eigenschaft. + + + + Legt die Eigenschaft fest. + + Der Name der Eigenschaft. + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Der festzulegende Wert + An den aufzurufenden Member zu übergebende Argumente. + + + + Legt die Eigenschaft fest. + + Der Name der Eigenschaft. + Eine Bitmaske aus mindestens einem die angeben, wie die Suche ausgeführt wird. + Der festzulegende Wert + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die indizierte Eigenschaft darstellt. + An den aufzurufenden Member zu übergebende Argumente. + + + + Überprüft die Zugriffszeichenfolge. + + Zugriffszeichenfolge + + + + Ruft den Member auf. + + Name des Members + Zusätzliche Attribute + Argumente für den Aufruf + Kultur + Ergebnis des Aufrufs + + + + Extrahiert die am besten geeignete generische Methodensignatur aus dem aktuellen privaten Typ. + + Der Name der Methode, in der der Signaturcache gesucht werden soll. + Ein Array von Typen, das den Typen der Parameter entspricht, in denen gesucht werden soll. + Ein Array von Typen, das den Typen der generischen Argumente entspricht. + zum weiteren Filtern der Methodensignaturen. + Modifizierer für Parameter. + Eine methodinfo-Instanz. + + + + Diese Klasse stellt eine private Klasse für die private Accessorfunktion dar. + + + + + Bindet an alles. + + + + + Der umschlossene Typ. + + + + + Initialisiert eine neue Instanz der -Klasse, die den privaten Typ enthält. + + Assemblyname + Der vollqualifizierte Name von + + + + Initialisiert eine neue Instanz der -Klasse, die + den privaten Typ aus dem Typobjekt enthält. + + Der umschlossene Typ, der erstellt werden soll. + + + + Ruft den referenzierten Typ ab. + + + + + Ruft den statischen Member auf. + + Der Name des Members, für den InvokeHelper aufgerufen werden soll. + Argumente für den Aufruf + Ergebnis des Aufrufs + + + + Ruft den statischen Member auf. + + Der Name des Members, für den InvokeHelper aufgerufen werden soll. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die aufzurufende Methode darstellt. + Argumente für den Aufruf + Ergebnis des Aufrufs + + + + Ruft den statischen Member auf. + + Der Name des Members, für den InvokeHelper aufgerufen werden soll. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die aufzurufende Methode darstellt. + Argumente für den Aufruf + Ein Array von Typen, das den Typen der generischen Argumente entspricht. + Ergebnis des Aufrufs + + + + Ruft die statische Methode auf. + + Name des Members + Argumente für den Aufruf + Kultur + Ergebnis des Aufrufs + + + + Ruft die statische Methode auf. + + Name des Members + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die aufzurufende Methode darstellt. + Argumente für den Aufruf + Kulturinformation + Ergebnis des Aufrufs + + + + Ruft die statische Methode auf. + + Name des Members + Zusätzliche Aufrufattribute + Argumente für den Aufruf + Ergebnis des Aufrufs + + + + Ruft die statische Methode auf. + + Name des Members + Zusätzliche Aufrufattribute + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die aufzurufende Methode darstellt. + Argumente für den Aufruf + Ergebnis des Aufrufs + + + + Ruft die statische Methode auf. + + Der Name des Members. + Zusätzliche Aufrufattribute + Argumente für den Aufruf + Kultur + Ergebnis des Aufrufs + + + + Ruft die statische Methode auf. + + Der Name des Members. + Zusätzliche Aufrufattribute + /// Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die aufzurufende Methode darstellt. + Argumente für den Aufruf + Kultur + Ergebnis des Aufrufs + + + + Ruft die statische Methode auf. + + Der Name des Members. + Zusätzliche Aufrufattribute + /// Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die aufzurufende Methode darstellt. + Argumente für den Aufruf + Kultur + Ein Array von Typen, das den Typen der generischen Argumente entspricht. + Ergebnis des Aufrufs + + + + Ruft das Element im statischen Array ab. + + Name des Arrays + + Ein eindimensionales Array aus ganzzahligen 32-Bit-Werten, die die Indizes darstellen, welche + die Position des abzurufenden Elements angeben. Um z. B. auf "a[10][11]" zuzugreifen, würden die Indizes {10,11} lauten. + + Element an der angegebenen Position + + + + Legt den Member des statischen Arrays fest. + + Name des Arrays + Der festzulegende Wert + + Ein eindimensionales Array aus ganzzahligen 32-Bit-Werten, die die Indizes darstellen, welche + die Position des festzulegenden Elements angeben. Um z. B. auf "a[10][11]" zuzugreifen, würde das Array {10,11} lauten. + + + + + Ruft das Element im statischen Array ab. + + Name des Arrays + Zusätzliche InvokeHelper-Attribute + + Ein eindimensionales Array aus ganzzahligen 32-Bit-Werten, die die Indizes darstellen, welche + die Position des abzurufenden Elements angeben. Um z. B. auf "a[10][11]" zuzugreifen, würde das Array {10,11} lauten. + + Element an der angegebenen Position + + + + Legt den Member des statischen Arrays fest. + + Name des Arrays + Zusätzliche InvokeHelper-Attribute + Der festzulegende Wert + + Ein eindimensionales Array aus ganzzahligen 32-Bit-Werten, die die Indizes darstellen, welche + die Position des festzulegenden Elements angeben. Um z. B. auf "[10][11]" zuzugreifen, würde das Array {10,11} lauten. + + + + + Ruft das statische Feld ab. + + Der Name des Felds. + Das statische Feld. + + + + Legt das statische Feld fest. + + Der Name des Felds. + Argument für den Aufruf + + + + Ruft das statische Feld mit den angegebenen InvokeHelper-Attributen ab. + + Der Name des Felds. + Zusätzliche Aufrufattribute + Das statische Feld. + + + + Legt das statische Feld mit Bindungsattributen fest. + + Der Name des Felds. + Zusätzliche InvokeHelper-Attribute + Argument für den Aufruf + + + + Ruft das statische Feld oder die Eigenschaft ab. + + Der Name des Felds oder der Eigenschaft. + Das statische Feld oder die statische Eigenschaft. + + + + Legt das statische Feld oder die Eigenschaft fest. + + Der Name des Felds oder der Eigenschaft. + Der Wert, auf den das Feld oder die Eigenschaft festgelegt wird. + + + + Ruft das statische Feld oder die Eigenschaft mit den angegebenen InvokeHelper-Attributen ab. + + Der Name des Felds oder der Eigenschaft. + Zusätzliche Aufrufattribute + Das statische Feld oder die statische Eigenschaft. + + + + Legt das statische Feld oder die Eigenschaft mit Bindungsattributen fest. + + Der Name des Felds oder der Eigenschaft. + Zusätzliche Aufrufattribute + Der Wert, auf den das Feld oder die Eigenschaft festgelegt wird. + + + + Ruft die statische Eigenschaft ab. + + Der Name des Felds oder der Eigenschaft. + Argumente für den Aufruf + Die statische Eigenschaft. + + + + Legt die statische Eigenschaft fest. + + Der Name der Eigenschaft. + Der Wert, auf den das Feld oder die Eigenschaft festgelegt wird. + An den aufzurufenden Member zu übergebende Argumente. + + + + Legt die statische Eigenschaft fest. + + Der Name der Eigenschaft. + Der Wert, auf den das Feld oder die Eigenschaft festgelegt wird. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die indizierte Eigenschaft darstellt. + An den aufzurufenden Member zu übergebende Argumente. + + + + Ruft die statische Eigenschaft ab. + + Der Name der Eigenschaft. + Zusätzliche Aufrufattribute. + An den aufzurufenden Member zu übergebende Argumente. + Die statische Eigenschaft. + + + + Ruft die statische Eigenschaft ab. + + Der Name der Eigenschaft. + Zusätzliche Aufrufattribute. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die indizierte Eigenschaft darstellt. + An den aufzurufenden Member zu übergebende Argumente. + Die statische Eigenschaft. + + + + Legt die statische Eigenschaft fest. + + Der Name der Eigenschaft. + Zusätzliche Aufrufattribute. + Der Wert, auf den das Feld oder die Eigenschaft festgelegt wird. + Optionale Indexwerte für indizierte Eigenschaften. Die Indizes indizierter Eigenschaften sind nullbasiert. Dieser Wert sollte für nicht indizierte Eigenschaften null sein. + + + + Legt die statische Eigenschaft fest. + + Der Name der Eigenschaft. + Zusätzliche Aufrufattribute. + Der Wert, auf den das Feld oder die Eigenschaft festgelegt wird. + Ein Array von Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter für die indizierte Eigenschaft darstellt. + An den aufzurufenden Member zu übergebende Argumente. + + + + Ruft die statische Methode auf. + + Der Name des Members. + Zusätzliche Aufrufattribute + Argumente für den Aufruf + Kultur + Ergebnis des Aufrufs + + + + Stellt Methodensignaturermittlung für generische Methoden bereit. + + + + + Vergleicht die Methodensignaturen dieser beiden Methoden. + + Method1 + Method2 + "true", wenn sie ähnlich sind. + + + + Ruft die Hierarchietiefe vom Basistyp des bereitgestellten Typs ab. + + Der Typ. + Die Tiefe. + + + + Findet den am häufigsten abgerufenen Typ mit den angegebenen Informationen. + + Kandidatenübereinstimmungen. + Anzahl der Übereinstimmungen. + Die am häufigsten abgerufene Methode. + + + + Wählt bei Angabe einer Sammlung von Methoden, die mit den Basiskriterien übereinstimmen, eine Methode basierend + auf einem Array von Typen aus. Diese Methode sollte NULL zurückgeben, wenn keine Methode + mit den Kriterien übereinstimmt. + + Bindungsspezifikation. + Kandidatenübereinstimmungen + Typen + Parametermodifizierer. + Übereinstimmungsmethode. NULL, wenn keine Übereinstimmung vorliegt. + + + + Findet unter den beiden angegeben Methoden die spezifischste. + + Methode 1 + Parameterreihenfolge für Methode 1 + Parameter-Arraytyp. + Methode 2 + Parameterreihenfolge für Methode 2 + >Parameter-Arraytyp. + Typen, in denen gesucht wird. + Argumente. + Ein "int", der die Übereinstimmung darstellt. + + + + Findet unter den beiden angegeben Methoden die spezifischste. + + Methode 1 + Parameterreihenfolge für Methode 1 + Parameter-Arraytyp. + Methode 2 + Parameterreihenfolge für Methode 2 + >Parameter-Arraytyp. + Typen, in denen gesucht wird. + Argumente. + Ein "int", der die Übereinstimmung darstellt. + + + + Findet unter den beiden angegeben Typen den spezifischsten. + + Typ 1 + Typ 2 + Der Definitionstyp + Ein "int", der die Übereinstimmung darstellt. + + + + Wird verwendet, um Informationen zu speichern, die für Komponententests bereitgestellt werden. + + + + + Ruft Testeigenschaften für einen Test ab. + + + + + Ruft die aktuelle Datenzeile ab, wenn der Test für datengesteuerte Tests verwendet wird. + + + + + Ruft die aktuelle Datenverbindungszeile ab, wenn der Test für datengesteuerte Tests verwendet wird. + + + + + Ruft das Basisverzeichnis für den Testlauf ab, in dem die bereitgestellten Dateien und die Ergebnisdateien gespeichert werden. + + + + + Ruft das Verzeichnis für Dateien ab, die für den Testlauf bereitgestellt werden. Normalerweise ein Unterverzeichnis von . + + + + + Ruft das Basisverzeichnis für Ergebnisse aus dem Testlauf ab. Normalerweise ein Unterverzeichnis von . + + + + + Ruft das Verzeichnis für Ergebnisdateien des Testlaufs ab. In der Regel ein Unterverzeichnis von . + + + + + Ruft das Verzeichnis für Testergebnisdateien ab. + + + + + Ruft das Basisverzeichnis für den Testlauf ab, unter dem bereitgestellte Dateien und Ergebnisdateien gespeichert werden. + Identisch mit. Verwenden Sie diese Eigenschaft. + + + + + Ruft das Verzeichnis für Dateien ab, die für den Testlauf bereitgestellt werden. Normalerweise ein Unterverzeichnis von . + Identisch mit. Verwenden Sie diese Eigenschaft. + + + + + Ruft das Verzeichnis für Dateien ab, die für den Testlauf bereitgestellt werden. Normalerweise ein Unterverzeichnis von . + Identisch mit. Verwenden Sie diese Eigenschaft für Dateien, die für den Testlauf bereitgestellt werden, oder + für testspezifische Ergebnisdateien. + + + + + Ruft den vollqualifizierten Namen der Klasse ab, die die momentan ausgeführte Testmethode enthält + + + + + Ruft den Namen der zurzeit ausgeführten Testmethode ab. + + + + + Ruft das aktuelle Testergebnis ab. + + + + + Wird zum Schreiben von Ablaufverfolgungsnachrichten verwendet, während der Test ausgeführt wird. + + formatierte Meldungszeichenfolge + + + + Wird zum Schreiben von Ablaufverfolgungsnachrichten verwendet, während der Test ausgeführt wird. + + Formatzeichenfolge + Die Argumente + + + + Fügt der Liste in TestResult.ResultFileNames einen Dateinamen hinzu. + + + Der Dateiname. + + + + + Startet einen Timer mit dem angegebenen Namen. + + Name des Timers. + + + + Beendet einen Timer mit dem angegebenen Namen. + + Name des Timers. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..ae68026 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod für die Ausführung. + + + + + Ruft den Namen der Testmethode ab. + + + + + Ruft den Namen der Testklasse ab. + + + + + Ruft den Rückgabetyp der Testmethode ab. + + + + + Ruft die Parameter der Testmethode ab. + + + + + Ruft die methodInfo der Testmethode ab. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Ruft die Testmethode auf. + + + An die Testmethode zu übergebende Argumente (z. B. für datengesteuerte Tests). + + + Das Ergebnis des Testmethodenaufrufs. + + + This call handles asynchronous test methods as well. + + + + + Ruft alle Attribute der Testmethode ab. + + + Gibt an, ob das in der übergeordneten Klasse definierte Attribut gültig ist. + + + Alle Attribute. + + + + + Ruft ein Attribut eines bestimmten Typs ab. + + System.Attribute type. + + Gibt an, ob das in der übergeordneten Klasse definierte Attribut gültig ist. + + + Die Attribute des angegebenen Typs. + + + + + Das Hilfsprogramm. + + + + + Der check-Parameter ungleich null. + + + Der Parameter. + + + Der Parametername. + + + Die Meldung. + + Throws argument null exception when parameter is null. + + + + Der check-Parameter ungleich null oder leer. + + + Der Parameter. + + + Der Parametername. + + + Die Meldung. + + Throws ArgumentException when parameter is null. + + + + Enumeration für die Art des Zugriffs auf Datenzeilen in datengesteuerten Tests. + + + + + Zeilen werden in sequenzieller Reihenfolge zurückgegeben. + + + + + Zeilen werden in zufälliger Reihenfolge zurückgegeben. + + + + + Attribut zum Definieren von Inlinedaten für eine Testmethode. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Das Datenobjekt. + + + + Initialisiert eine neue Instanz der -Klasse, die ein Array aus Argumenten akzeptiert. + + Ein Datenobjekt. + Weitere Daten. + + + + Ruft Daten für den Aufruf der Testmethode ab. + + + + + Ruft den Anzeigenamen in den Testergebnissen für die Anpassung ab. + + + + + Die nicht eindeutige Assert-Ausnahme. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Die InternalTestFailureException-Klasse. Wird zum Angeben eines internen Fehlers für einen Testfall verwendet. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Ausnahmemeldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Ausnahmemeldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Ein Attribut, das angibt, dass eine Ausnahme des angegebenen Typs erwartet wird + + + + + Initialisiert eine neue Instanz der -Klasse mit dem erwarteten Typ + + Der Typ der erwarteten Ausnahme. + + + + Initialisiert eine neue Instanz der-Klasse mit + dem erwarteten Typ und der einzuschließenden Meldung, wenn vom Test keine Ausnahme ausgelöst wurde. + + Der Typ der erwarteten Ausnahme. + + Die Meldung, die in das Testergebnis eingeschlossen werden soll, wenn beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft einen Wert ab, der den Typ der erwarteten Ausnahme angibt. + + + + + Ruft einen Wert ab, der angibt, ob es zulässig ist, dass vom Typ der erwarteten Ausnahme abgeleitete Typen + als erwartet qualifiziert werden. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Überprüft, ob der Typ der vom Komponententest ausgelösten Ausnahme erwartet wird. + + Die vom Komponententest ausgelöste Ausnahme. + + + + Basisklasse für Attribute, die angeben, dass eine Ausnahme aus einem Komponententest erwartet wird. + + + + + Initialisiert eine neue Instanz der -Klasse mit einer standardmäßigen "no-exception"-Meldung. + + + + + Initialisiert eine neue Instanz der -Klasse mit einer 2no-exception"-Meldung + + + Die Meldung, die in das Testergebnis eingeschlossen werden soll, wenn beim Test ein Fehler auftritt, + weil keine Ausnahme ausgelöst wird. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft die standardmäßige Nichtausnahmemeldung ab. + + Der Typname des ExpectedException-Attributs. + Die standardmäßige Nichtausnahmemeldung. + + + + Ermittelt, ob die Annahme erwartet ist. Wenn die Methode zurückkehrt, wird davon ausgegangen, + dass die Annahme erwartet war. Wenn die Methode eine Ausnahme auslöst, + wird davon ausgegangen, dass die Ausnahme nicht erwartet war, und die Meldung + der ausgelösten Ausnahme wird in das Testergebnis eingeschlossen. Die -Klasse wird aus Gründen der + Zweckmäßigkeit bereitgestellt. Wenn verwendet wird und ein Fehler der Assertion auftritt, + wird das Testergebnis auf Inconclusive festgelegt. + + Die vom Komponententest ausgelöste Ausnahme. + + + + Löst die Ausnahme erneut aus, wenn es sich um eine AssertFailedException oder eine AssertInconclusiveException handelt. + + Die Ausnahme, die erneut ausgelöst werden soll, wenn es sich um eine Assertionausnahme handelt. + + + + Diese Klasse unterstützt Benutzer beim Ausführen von Komponententests für Typen, die generische Typen verwenden. + GenericParameterHelper erfüllt einige allgemeine generische Typeinschränkungen, + beispielsweise: + 1. öffentlicher Standardkonstruktor + 2. implementiert allgemeine Schnittstellen: IComparable, IEnumerable + + + + + Initialisiert eine neue Instanz der -Klasse, die + die Einschränkung "newable" in C#-Generika erfüllt. + + + This constructor initializes the Data property to a random value. + + + + + Initialisiert eine neue Instanz der-Klasse, die + die Data-Eigenschaft mit einem vom Benutzer bereitgestellten Wert initialisiert. + + Ein Integerwert + + + + Ruft die Daten ab oder legt sie fest. + + + + + Führt den Wertvergleich für zwei GenericParameterHelper-Objekte aus. + + Das Objekt, mit dem der Vergleich ausgeführt werden soll. + TRUE, wenn das Objekt den gleichen Wert wie "dieses" GenericParameterHelper-Objekt aufweist. + Andernfalls FALSE. + + + + Gibt einen Hashcode für diese Objekt zurück. + + Der Hash. + + + + Vergleicht die Daten der beiden -Objekte. + + Das Objekt, mit dem verglichen werden soll. + + Eine signierte Zahl, die die relativen Werte dieser Instanz und dieses Werts angibt. + + + Thrown when the object passed in is not an instance of . + + + + + Gibt ein IEnumerator-Objekt zurück, dessen Länge aus + der Data-Eigenschaft abgeleitet ist. + + Das IEnumerator-Objekt + + + + Gibt ein GenericParameterHelper-Objekt zurück, das gleich + dem aktuellen Objekt ist. + + Das geklonte Objekt. + + + + Ermöglicht Benutzern das Protokollieren/Schreiben von Ablaufverfolgungen aus Komponententests für die Diagnose. + + + + + Handler für LogMessage. + + Die zu protokollierende Meldung. + + + + Zu überwachendes Ereignis. Wird ausgelöst, wenn der Komponententestwriter eine Meldung schreibt. + Wird hauptsächlich von Adaptern verwendet. + + + + + Vom Testwriter aufzurufende API zum Protokollieren von Meldungen. + + Das Zeichenfolgenformat mit Platzhaltern. + Parameter für Platzhalter. + + + + Das TestCategory-Attribut. Wird zum Angeben der Kategorie eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse und wendet die Kategorie auf den Test an. + + + Die test-Kategorie. + + + + + Ruft die Testkategorien ab, die auf den Test angewendet wurden. + + + + + Die Basisklasse für das Category-Attribut. + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initialisiert eine neue Instanz der -Klasse. + Wendet die Kategorie auf den Test an. Die von TestCategories + zurückgegebenen Zeichenfolgen werden mit dem Befehl "/category" zum Filtern von Tests verwendet. + + + + + Ruft die Testkategorie ab, die auf den Test angewendet wurde. + + + + + Die AssertFailedException-Klasse. Wird zum Angeben eines Fehlers für einen Testfall verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Eine Sammlung von Hilfsklassen zum Testen verschiedener Bedingungen in + Komponententests. Wenn die getestete Bedingung nicht erfüllt wird, wird eine Ausnahme + ausgelöst. + + + + + Ruft die Singleton-Instanz der Assert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + FALSE ist. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + FALSE ist. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Thrown if is true. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist TRUE. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is true. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist TRUE. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is true. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Thrown if is null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is null. + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Löst eine AssertFailedException aus. + + + Always thrown. + + + + + Löst eine AssertFailedException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Always thrown. + + + + + Löst eine AssertFailedException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Always thrown. + + + + + Statische equals-Überladungen werden zum Vergleichen von Instanzen zweier Typen für + Verweisgleichheit verwendet. Diese Methode sollte nicht zum Vergleichen von zwei Instanzen auf + Gleichheit verwendet werden. Dieses Objekt löst immer einen Assert.Fail aus. Verwenden Sie + Assert.AreEqual und zugehörige Überladungen in Ihren Komponententests. + + Objekt A + Objekt B + Immer FALSE. + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Testet, ob der von Delegat angegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und AssertFailedException auslöst, wenn der Code keine Ausnahme auslöst oder einen anderen Typ als auslöst. + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Testet, ob der von Delegat angegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und AssertFailedException auslöst, wenn der Code keine Ausnahme auslöst oder einen anderen Typ als auslöst. + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Ersetzt Nullzeichen ("\0") durch "\\0". + + + Die Zeichenfolge, nach der gesucht werden soll. + + + Die konvertierte Zeichenfolge, in der Nullzeichen durch "\\0" ersetzt wurden. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Eine Hilfsfunktion, die eine AssertionFailedException erstellt und auslöst. + + + Der Name der Assertion, die eine Ausnahme auslöst. + + + Eine Meldung, die Bedingungen für den Assertionfehler beschreibt. + + + Die Parameter. + + + + + Überprüft den Parameter auf gültige Bedingungen. + + + Der Parameter. + + + Der Name der Assertion. + + + Parametername + + + Meldung für die ungültige Parameterausnahme. + + + Die Parameter. + + + + + Konvertiert ein Objekt sicher in eine Zeichenfolge und verarbeitet dabei NULL-Werte und Nullzeichen. + NULL-Werte werden in "(null)" konvertiert. Nullzeichen werden in "\\0" konvertiert". + + + Das Objekt, das in eine Zeichenfolge konvertiert werden soll. + + + Die konvertierte Zeichenfolge. + + + + + Die Zeichenfolgenassertion. + + + + + Ruft die Singleton-Instanz der CollectionAssert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + beginnt nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + beginnt nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + endet nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + endet nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + keine Übereinstimmung vorliegt. . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + keine Übereinstimmung vorliegt. . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Thrown if matches . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + Übereinstimmungen . Die Meldung wird in den Testergebnissen + angezeigt. + + + Thrown if matches . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + Übereinstimmungen . Die Meldung wird in den Testergebnissen + angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if matches . + + + + + Eine Sammlung von Hilfsklassen zum Testen verschiedener Bedingungen, die + Sammlungen in Komponententests zugeordnet sind. Wenn die getestete Bedingung nicht + erfüllt wird, wird eine Ausnahme ausgelöst. + + + + + Ruft die Singleton-Instanz der CollectionAssert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Thrown if is found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist in . Die Meldung wird in den Testergebnissen + angezeigt. + + + Thrown if is found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist in . Die Meldung wird in den Testergebnissen + angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält ein Nullelement. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält ein Nullelement. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält mindestens ein Elementduplikat. Die Meldung wird in + den Testergebnissen angezeigt. + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält mindestens ein Elementduplikat. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + wurde nicht gefunden in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + wurde nicht gefunden in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Thrown if every element in is also found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn jedes Element in + auch gefunden wird in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if every element in is also found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn jedes Element in + auch gefunden wird in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if every element in is also found in + . + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in einer + der Sammlungen gefunden wurde, aber nicht in der anderen. Die Meldung wird in + den Testergebnissen angezeigt. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in einer + der Sammlungen gefunden wurde, aber nicht in der anderen. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält die gleichen Elemente wie . Die Meldung + wird in den Testergebnissen angezeigt. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält die gleichen Elemente wie . Die Meldung + wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + ist keine Instanz von + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + ist keine Instanz von + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Ermittelt, ob die erste Sammlung eine Teilmenge der zweiten + Sammlung ist. Wenn eine der Mengen Elementduplikate enthält, muss die Anzahl + der Vorkommen des Elements in der Teilmenge kleiner oder + gleich der Anzahl der Vorkommen in der Obermenge sein. + + + Die Sammlung, von der der Test erwartet, dass sie enthalten ist in . + + + Die Sammlung, von der der Test erwartet, dass sie Folgendes enthält: . + + + TRUE, wenn: eine Teilmenge ist von + , andernfalls FALSE. + + + + + Generiert ein Wörterbuch, das Anzahl der Vorkommen jedes + Elements in der angegebenen Sammlung enthält. + + + Die zu verarbeitende Sammlung. + + + Die Anzahl der Nullelemente in der Sammlung. + + + Ein Wörterbuch, das Anzahl der Vorkommen jedes + Elements in der angegebenen Sammlung enthält. + + + + + Findet ein nicht übereinstimmendes Element in den beiden Sammlungen. Ein nicht übereinstimmendes + Element ist ein Element, für das sich die Anzahl der Vorkommen in der + erwarteten Sammlung von der Anzahl der Vorkommen in der tatsächlichen Sammlung unterscheidet. Von den + Sammlungen wird angenommen, dass unterschiedliche Verweise ungleich null mit der + gleichen Anzahl von Elementen vorhanden sind. Der Aufrufer ist für diese Ebene + der Überprüfung verantwortlich. Wenn kein nicht übereinstimmendes Element vorhanden ist, gibt die Funktion FALSE + zurück, und die out-Parameter sollten nicht verwendet werden. + + + Die erste zu vergleichende Sammlung. + + + Die zweite zu vergleichende Sammlung. + + + Die erwartete Anzahl von Vorkommen von + oder 0, wenn kein nicht übereinstimmendes + Element vorhanden ist. + + + Die tatsächliche Anzahl von Vorkommen von + oder 0, wenn kein nicht übereinstimmendes + Element vorhanden ist. + + + Das nicht übereinstimmende Element (kann NULL sein) oder NULL, wenn kein nicht + übereinstimmendes Element vorhanden ist. + + + TRUE, wenn ein nicht übereinstimmendes Element gefunden wurde, andernfalls FALSE. + + + + + vergleicht die Objekte mithilfe von object.Equals + + + + + Basisklasse für Frameworkausnahmen. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Eine stark typisierte Ressourcenklasse zum Suchen nach lokalisierten Zeichenfolgen usw. + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcensuchen mithilfe dieser stark typisierten Ressourcenklasse. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zugriffszeichenfolge weist ungültige Syntax auf." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartete Sammlung enthält {1} Vorkommen von <{2}>. Die tatsächliche Sammlung enthält {3} Vorkommen. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Elementduplikat gefunden: <{1}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1}>. Groß-/Kleinschreibung unterscheidet sich für den tatsächlichen Wert: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Differenz nicht größer als <{3}> zwischen erwartetem Wert <{1}> und tatsächlichem Wert <{2}> erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1} ({2})>. Tatsächlich: <{3} ({4})>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Differenz größer als <{3}> zwischen erwartetem Wert <{1}> und tatsächlichem Wert <{2}> erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beliebiger Wert erwartet, ausgenommen: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Übergeben Sie keine Werttypen an AreSame(). In Object konvertierte Werte sind nie gleich. Verwenden Sie ggf. AreEqual(). {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Fehler von {0}. {1}" nach. + + + + + Sucht nach einer lokalisierten Zeichenfolge ähnlich der folgenden: "async TestMethod" wird mit UITestMethodAttribute nicht unterstützt. Entfernen Sie "async", oder verwenden Sie TestMethodAttribute. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen sind leer. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen enthalten die gleichen Elemente." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungsverweise zeigen auf das gleiche Sammlungsobjekt. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen enthalten die gleichen Elemente. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0}({1})." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(null)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(object)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' enthält nicht Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0} ({1})." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Assert.Equals sollte für Assertionen nicht verwendet werden. Verwenden Sie stattdessen Assert.AreEqual & Überladungen." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Anzahl der Elemente in den Sammlungen stimmt nicht überein. Erwartet: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {0} stimmt nicht überein." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {1} weist nicht den erwarteten Typ auf. Erwarteter Typ: <{2}>. Tatsächlicher Typ: <{3}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {1} ist (null). Erwarteter Typ: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' endet nicht mit Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Ungültiges Argument: EqualsTester darf keine NULL-Werte verwenden." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Objekt vom Typ {0} kann nicht in {1} konvertiert werden." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Das referenzierte interne Objekt ist nicht mehr gültig." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der Parameter '{0}' ist ungültig. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Eigenschaft {0} weist den Typ {1} auf. Erwartet wurde der Typ {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0} Erwarteter Typ: <{1}>. Tatsächlicher Typ: <{2}>." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' stimmt nicht mit dem Muster '{1}' überein. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Falscher Typ: <{1}>. Tatsächlicher Typ: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' stimmt mit dem Muster '{1}' überein. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Kein DataRowAttribute angegeben. Mindestens ein DataRowAttribute ist mit DataTestMethodAttribute erforderlich." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Keine Ausnahme ausgelöst. {1}-Ausnahme wurde erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der Parameter '{0}' ist ungültig. Der Wert darf nicht NULL sein. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Unterschiedliche Anzahl von Elementen." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich + "Der Konstruktor mit der angegebenen Signatur wurde nicht gefunden. Möglicherweise müssen Sie Ihren privaten Accessor erneut generieren, + oder der Member ist ggf. privat und für eine Basisklasse definiert. Wenn Letzteres zutrifft, müssen Sie den Typ an den + Konstruktor von PrivateObject übergeben, der den Member definiert." nach. + . + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich + "Der angegebene Member ({0}) wurde nicht gefunden. Möglicherweise müssen Sie Ihren privaten Accessor erneut generieren, + oder der Member ist ggf. privat und für eine Basisklasse definiert. Wenn Letzteres zutrifft, müssen Sie den Typ an den + Konstruktor von PrivateObject übergeben, der den Member definiert." nach. + . + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Zeichenfolge '{0}' beginnt nicht mit der Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der erwartete Ausnahmetyp muss System.Exception oder ein von System.Exception abgeleiteter Typ sein." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(Fehler beim Abrufen der Meldung vom Typ {0} aufgrund einer Ausnahme.)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat erwartete Ausnahme {0} nicht ausgelöst. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Testmethode hat keine Ausnahme ausgelöst. Vom Attribut {0}, das für die Testmethode definiert ist, wurde eine Ausnahme erwartet." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat Ausnahme {0} ausgelöst, aber Ausnahme {1} wurde erwartet. Ausnahmemeldung: {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat Ausnahme {0} ausgelöst, aber Ausnahme {1} oder ein davon abgeleiteter Typ wurde erwartet. Ausnahmemeldung: {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Ausnahme {2} wurde ausgelöst, aber Ausnahme {1} wurde erwartet. {0} + Ausnahmemeldung: {3} + Stapelüberwachung: {4}" nach. + + + + + Ergebnisse des Komponententests + + + + + Der Test wurde ausgeführt, aber es gab Probleme. + Möglicherweise liegen Ausnahmen oder Assertionsfehler vor. + + + + + Der Test wurde abgeschlossen, es lässt sich aber nicht sagen, ob er bestanden wurde oder fehlerhaft war. + Kann für abgebrochene Tests verwendet werden. + + + + + Der Test wurde ohne Probleme ausgeführt. + + + + + Der Test wird zurzeit ausgeführt. + + + + + Systemfehler beim Versuch, einen Test auszuführen. + + + + + Timeout des Tests. + + + + + Der Test wurde vom Benutzer abgebrochen. + + + + + Der Test weist einen unbekannten Zustand auf. + + + + + Stellt Hilfsfunktionen für das Komponententestframework bereit. + + + + + Ruft die Ausnahmemeldungen (einschließlich der Meldungen für alle inneren Ausnahmen) + rekursiv ab. + + Ausnahme, für die Meldungen abgerufen werden sollen + Zeichenfolge mit Fehlermeldungsinformationen + + + + Enumeration für Timeouts, die mit der -Klasse verwendet werden kann. + Der Typ der Enumeration muss entsprechen: + + + + + Unendlich. + + + + + Das Testklassenattribut. + + + + + Erhält ein Testmethodenattribut, das die Ausführung des Tests ermöglicht. + + Die für diese Methode definierte Attributinstanz der Testmethode. + Diezum Ausführen dieses Tests + Extensions can override this method to customize how all methods in a class are run. + + + + Das Testmethodenattribut. + + + + + Führt eine Testmethode aus. + + Die auszuführende Textmethode. + Ein Array aus TestResult-Objekten, die für die Ergebnisses des Tests stehen. + Extensions can override this method to customize running a TestMethod. + + + + Das Testinitialisierungsattribut. + + + + + Das Testbereinigungsattribut. + + + + + Das Ignorierattribut. + + + + + Das Testeigenschaftattribut. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Der Name. + + + Der Wert. + + + + + Ruft den Namen ab. + + + + + Ruft den Wert ab. + + + + + Das Klasseninitialisierungsattribut. + + + + + Das Klassenbereinigungsattribut. + + + + + Das Assemblyinitialisierungsattribut. + + + + + Das Assemblybereinigungsattribut. + + + + + Der Testbesitzer. + + + + + Initialisiert eine neue Instanz der-Klasse. + + + Der Besitzer. + + + + + Ruft den Besitzer ab. + + + + + Prioritätsattribut. Wird zum Angeben der Priorität eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Die Priorität. + + + + + Ruft die Priorität ab. + + + + + Die Beschreibung des Tests. + + + + + Initialisiert eine neue Instanz der -Klasse zum Beschreiben eines Tests. + + Die Beschreibung. + + + + Ruft die Beschreibung eines Tests ab. + + + + + Der URI der CSS-Projektstruktur. + + + + + Initialisiert eine neue Instanz der -Klasse der CSS Projektstruktur-URI. + + Der CSS-Projektstruktur-URI. + + + + Ruft den CSS-Projektstruktur-URI ab. + + + + + Der URI der CSS-Iteration. + + + + + Initialisiert eine neue Instanz der-Klasse für den CSS Iterations-URI. + + Der CSS-Iterations-URI. + + + + Ruft den CSS-Iterations-URI ab. + + + + + WorkItem-Attribut. Wird zum Angeben eines Arbeitselements verwendet, das diesem Test zugeordnet ist. + + + + + Initialisiert eine neue Instanz der-Klasse für das WorkItem-Attribut. + + Die ID eines Arbeitselements. + + + + Ruft die ID für ein zugeordnetes Arbeitselement ab. + + + + + Timeoutattribut. Wird zum Angeben des Timeouts eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Das Timeout. + + + + + Initialisiert eine neue Instanz der -Klasse mit einem voreingestellten Timeout. + + + Das Timeout. + + + + + Ruft das Timeout ab. + + + + + Das TestResult-Objekt, das an den Adapter zurückgegeben werden soll. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Ruft den Anzeigenamen des Ergebnisses ab oder legt ihn fest. Hilfreich, wenn mehrere Ergebnisse zurückgegeben werden. + Wenn NULL, wird der Methodenname als DisplayName verwendet. + + + + + Ruft das Ergebnis der Testausführung ab oder legt es fest. + + + + + Ruft die Ausnahme ab, die bei einem Testfehler ausgelöst wird, oder legt sie fest. + + + + + Ruft die Ausgabe der Meldung ab, die vom Testcode protokolliert wird, oder legt sie fest. + + + + + Ruft die Ausgabe der Meldung ab, die vom Testcode protokolliert wird, oder legt sie fest. + + + + + Ruft die Debugablaufverfolgungen nach Testcode fest oder legt sie fest. + + + + + Gets or sets the debug traces by test code. + + + + + Ruft die Dauer der Testausführung ab oder legt sie fest. + + + + + Ruft den Datenzeilenindex in der Datenquelle ab, oder legt ihn fest. Nur festgelegt für Ergebnisse einer individuellen + Ausführung einer Datenzeile eines datengesteuerten Tests. + + + + + Ruft den Rückgabewert der Testmethode ab (zurzeit immer NULL). + + + + + Ruft die vom Test angehängten Ergebnisdateien ab, oder legt sie fest. + + + + + Gibt die Verbindungszeichenfolge, den Tabellennamen und die Zeilenzugriffsmethode für datengesteuerte Tests an. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Der Standardanbietername für DataSource. + + + + + Die standardmäßige Datenzugriffsmethode. + + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einem Datenanbieter, einer Verbindungszeichenfolge, einer Datentabelle und einer Datenzugriffsmethode für den Zugriff auf die Daten initialisiert. + + Invarianter Datenanbietername, z. B. "System.Data.SqlClient" + + Die für den Datenanbieter spezifische Verbindungszeichenfolge. + WARNUNG: Die Verbindungszeichenfolge kann sensible Daten (z. B. ein Kennwort) enthalten. + Die Verbindungszeichenfolge wird als Nur-Text im Quellcode und in der kompilierten Assembly gespeichert. + Schränken Sie den Zugriff auf den Quellcode und die Assembly ein, um diese vertraulichen Informationen zu schützen. + + Der Name der Datentabelle. + Gibt die Reihenfolge für den Datenzugriff an. + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einer Verbindungszeichenfolge und einem Tabellennamen initialisiert. + Geben Sie eine Verbindungszeichenfolge und Datentabelle an, um auf die OLEDB-Datenquelle zuzugreifen. + + + Die für den Datenanbieter spezifische Verbindungszeichenfolge. + WARNUNG: Die Verbindungszeichenfolge kann sensible Daten (z. B. ein Kennwort) enthalten. + Die Verbindungszeichenfolge wird als Nur-Text im Quellcode und in der kompilierten Assembly gespeichert. + Schränken Sie den Zugriff auf den Quellcode und die Assembly ein, um diese vertraulichen Informationen zu schützen. + + Der Name der Datentabelle. + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einem Datenanbieter und einer Verbindungszeichenfolge mit dem Namen der Einstellung initialisiert. + + Der Name einer Datenquelle, die im Abschnitt <microsoft.visualstudio.qualitytools> in der Datei "app.config" gefunden wurde. + + + + Ruft einen Wert ab, der den Datenanbieter der Datenquelle darstellt. + + + Der Name des Datenanbieters. Wenn kein Datenanbieter während der Objektinitialisierung festgelegt wurde, wird der Standardanbieter "System.Data.OleDb" zurückgegeben. + + + + + Ruft einen Wert ab, der die Verbindungszeichenfolge für die Datenquelle darstellt. + + + + + Ruft einen Wert ab, der den Tabellennamen angibt, der Daten bereitstellt. + + + + + Ruft die Methode ab, die für den Zugriff auf die Datenquelle verwendet wird. + + + + Einer der-Werte. Wenn das nicht initialisiert wurde, wird der Standardwert zurückgegeben. . + + + + + Ruft den Namen einer Datenquelle ab, die im Abschnitt <microsoft.visualstudio.qualitytools> in der Datei "app.config" gefunden wurde. + + + + + Ein Attribut für datengesteuerte Tests, in denen Daten inline angegeben werden können. + + + + + Ermittelt alle Datenzeilen und beginnt mit der Ausführung. + + + Die test-Methode. + + + Ein Array aus . + + + + + Führt die datengesteuerte Testmethode aus. + + Die auszuführende Testmethode. + Die Datenzeile. + Ergebnisse der Ausführung. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..17b74f5 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Se usa para especificar el elemento (archivo o directorio) para la implementación por prueba. + Puede especificarse en la clase de prueba o en el método de prueba. + Puede tener varias instancias del atributo para especificar más de un elemento. + La ruta de acceso del elemento puede ser absoluta o relativa. Si es relativa, lo es respecto a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Inicializa una nueva instancia de la clase . + + Archivo o directorio para implementar. La ruta de acceso es relativa al directorio de salida de compilación. El elemento se copiará en el mismo directorio que los ensamblados de prueba implementados. + + + + Inicializa una nueva instancia de la clase . + + Ruta de acceso relativa o absoluta al archivo o directorio para implementar. La ruta de acceso es relativa al directorio de salida de compilación. El elemento se copiará en el mismo directorio que los ensamblados de prueba implementados. + Ruta de acceso del directorio en el que se van a copiar los elementos. Puede ser absoluta o relativa respecto al directorio de implementación. Todos los archivos y directorios que identifica se copiarán en este directorio. + + + + Obtiene la ruta de acceso al archivo o carpeta de origen que se debe copiar. + + + + + Obtiene la ruta de acceso al directorio donde se copia el elemento. + + + + + Contiene literales para los nombres de secciones, propiedades y atributos. + + + + + Nombre de la sección de configuración. + + + + + Nombre de la sección de configuración para Beta2. Se deja por motivos de compatibilidad. + + + + + Nombre de sección para el origen de datos. + + + + + Nombre de atributo para "Name". + + + + + Nombre de atributo para "ConnectionString". + + + + + Nombre de atributo para "DataAccessMethod". + + + + + Nombre de atributo para "DataTable". + + + + + Elemento de origen de datos. + + + + + Obtiene o establece el nombre de esta configuración. + + + + + Obtiene o establece el elemento ConnectionStringSettings en la sección <connectionStrings> del archivo .config. + + + + + Obtiene o establece el nombre de la tabla de datos. + + + + + Obtiene o establece el tipo de acceso de datos. + + + + + Obtiene el nombre de la clave. + + + + + Obtiene las propiedades de configuración. + + + + + Colección de elementos del origen de datos. + + + + + Inicializa una nueva instancia de la clase . + + + + + Devuelve el elemento de configuración con la clave especificada. + + Clave del elemento que se va a devolver. + Objeto System.Configuration.ConfigurationElement con la clave especificada. De lo contrario, NULL. + + + + Obtiene el elemento de configuración en la ubicación del índice especificada. + + Ubicación del índice del objeto System.Configuration.ConfigurationElement que se va a devolver. + + + + Agrega un elemento de configuración a la colección de elementos de configuración. + + Objeto System.Configuration.ConfigurationElement que se va a agregar. + + + + Quita un elemento System.Configuration.ConfigurationElement de la colección. + + El . + + + + Quita un elemento System.Configuration.ConfigurationElement de la colección. + + Clave del objeto System.Configuration.ConfigurationElement que se va a quitar. + + + + Quita todos los objetos de elemento de configuración de la colección. + + + + + Crea un nuevo elemento . + + Un nuevo objeto . + + + + Obtiene la clave de un elemento de configuración especificado. + + Objeto System.Configuration.ConfigurationElement para el que se va a devolver la clave. + Elemento System.Object que actúa como clave del objeto System.Configuration.ConfigurationElement especificado. + + + + Agrega un elemento de configuración a la colección de elementos de configuración. + + Objeto System.Configuration.ConfigurationElement que se va a agregar. + + + + Agrega un elemento de configuración a la colección de elementos de configuración. + + Ubicación del índice en la que se va a agregar el objeto System.Configuration.ConfigurationElement especificado. + Objeto System.Configuration.ConfigurationElement que se va a agregar. + + + + Compatibilidad con las opciones de configuración para pruebas. + + + + + Obtiene la sección de configuración para pruebas. + + + + + Sección de configuración para pruebas. + + + + + Obtiene los orígenes de datos para esta sección de configuración. + + + + + Obtiene la colección de propiedades. + + + de propiedades para el elemento. + + + + + Esta clase representa el objeto INTERNO NO público activo en el sistema. + + + + + Inicializa una nueva instancia de la clase que contiene + el objeto que ya existe de la clase privada. + + objeto que sirve como punto de partida para llegar a los miembros privados + Cadena de desreferencia que usa . para apuntar al objeto que se va a recuperar, como en m_X.m_Y.m_Z + + + + Inicializa una nueva instancia de la clase que contiene el + tipo especificado. + + Nombre del ensamblado + nombre completo + Argumentos para pasar al constructor + + + + Inicializa una nueva instancia de la clase que contiene el + tipo especificado. + + Nombre del ensamblado + nombre completo + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el constructor que se va a obtener + Argumentos para pasar al constructor + + + + Inicializa una nueva instancia de la clase que contiene el + tipo especificado. + + tipo del objeto que se va a crear + Argumentos para pasar al constructor + + + + Inicializa una nueva instancia de la clase que contiene el + tipo especificado. + + tipo del objeto que se va a crear + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el constructor que se va a obtener + Argumentos para pasar al constructor + + + + Inicializa una nueva instancia de la clase que contiene el + objeto dado. + + objeto para encapsular + + + + Inicializa una nueva instancia de la clase que contiene el + objeto dado. + + objeto para encapsular + Objeto PrivateType + + + + Obtiene o establece el destino. + + + + + Obtiene el tipo del objeto subyacente. + + + + + Devuelve el código hash del objeto de destino. + + valor int que representa el código hash del objeto de destino + + + + Es igual a + + Objeto con el que se va a comparar + devuelve "true" si los objetos son iguales. + + + + Invoca el método especificado. + + Nombre del método + Argumentos para pasar al miembro que se va a invocar. + Resultado de la llamada al método + + + + Invoca el método especificado. + + Nombre del método + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a obtener. + Argumentos para pasar al miembro que se va a invocar. + Resultado de la llamada al método + + + + Invoca el método especificado. + + Nombre del método + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a obtener. + Argumentos para pasar al miembro que se va a invocar. + Matriz de tipos correspondientes a los tipos de los argumentos genéricos. + Resultado de la llamada al método + + + + Invoca el método especificado. + + Nombre del método + Argumentos para pasar al miembro que se va a invocar. + Información de referencia cultural + Resultado de la llamada al método + + + + Invoca el método especificado. + + Nombre del método + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a obtener. + Argumentos para pasar al miembro que se va a invocar. + Información de referencia cultural + Resultado de la llamada al método + + + + Invoca el método especificado. + + Nombre del método + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + Argumentos para pasar al miembro que se va a invocar. + Resultado de la llamada al método + + + + Invoca el método especificado. + + Nombre del método + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a obtener. + Argumentos para pasar al miembro que se va a invocar. + Resultado de la llamada al método + + + + Invoca el método especificado. + + Nombre del método + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + Argumentos para pasar al miembro que se va a invocar. + Información de referencia cultural + Resultado de la llamada al método + + + + Invoca el método especificado. + + Nombre del método + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a obtener. + Argumentos para pasar al miembro que se va a invocar. + Información de referencia cultural + Resultado de la llamada al método + + + + Invoca el método especificado. + + Nombre del método + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a obtener. + Argumentos para pasar al miembro que se va a invocar. + Información de referencia cultural + Matriz de tipos correspondientes a los tipos de los argumentos genéricos. + Resultado de la llamada al método + + + + Obtiene el elemento de matriz con una matriz de subíndices para cada dimensión. + + Nombre del miembro + los índices de la matriz + Una matriz de elementos. + + + + Establece el elemento de matriz con una matriz de subíndices para cada dimensión. + + Nombre del miembro + Valor para establecer + los índices de la matriz + + + + Obtiene el elemento de matriz con una matriz de subíndices para cada dimensión. + + Nombre del miembro + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + los índices de la matriz + Una matriz de elementos. + + + + Establece el elemento de matriz con una matriz de subíndices para cada dimensión. + + Nombre del miembro + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + Valor para establecer + los índices de la matriz + + + + Obtiene el campo. + + Nombre del campo + El campo. + + + + Establece el campo. + + Nombre del campo + valor para establecer + + + + Obtiene el campo. + + Nombre del campo + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + El campo. + + + + Establece el campo. + + Nombre del campo + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + valor para establecer + + + + Obtiene el campo o la propiedad. + + Nombre del campo o propiedad + El campo o la propiedad. + + + + Establece el campo o la propiedad. + + Nombre del campo o propiedad + valor para establecer + + + + Obtiene el campo o la propiedad. + + Nombre del campo o propiedad + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + El campo o la propiedad. + + + + Establece el campo o la propiedad. + + Nombre del campo o propiedad + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + valor para establecer + + + + Obtiene la propiedad. + + Nombre de la propiedad + Argumentos para pasar al miembro que se va a invocar. + La propiedad. + + + + Obtiene la propiedad. + + Nombre de la propiedad + Una matriz de objetos que representan el número, orden y tipo de los parámetros para la propiedad indizada. + Argumentos para pasar al miembro que se va a invocar. + La propiedad. + + + + Establece la propiedad. + + Nombre de la propiedad + valor para establecer + Argumentos para pasar al miembro que se va a invocar. + + + + Establece la propiedad. + + Nombre de la propiedad + Una matriz de objetos que representan el número, orden y tipo de los parámetros para la propiedad indizada. + valor para establecer + Argumentos para pasar al miembro que se va a invocar. + + + + Obtiene la propiedad. + + Nombre de la propiedad + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + Argumentos para pasar al miembro que se va a invocar. + La propiedad. + + + + Obtiene la propiedad. + + Nombre de la propiedad + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + Una matriz de objetos que representan el número, orden y tipo de los parámetros para la propiedad indizada. + Argumentos para pasar al miembro que se va a invocar. + La propiedad. + + + + Establece la propiedad. + + Nombre de la propiedad + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + valor para establecer + Argumentos para pasar al miembro que se va a invocar. + + + + Establece la propiedad. + + Nombre de la propiedad + Máscara de bits que consta de uno o más objetos que especifican cómo se realiza la búsqueda. + valor para establecer + Una matriz de objetos que representan el número, orden y tipo de los parámetros para la propiedad indizada. + Argumentos para pasar al miembro que se va a invocar. + + + + Valida la cadena de acceso. + + cadena de acceso + + + + Invoca el miembro. + + Nombre del miembro + Atributos adicionales + Argumentos para la invocación + Referencia cultural + Resultado de la invocación + + + + Extrae la signatura de método genérico más adecuada del tipo privado actual. + + Nombre del método donde se va a buscar la memoria caché de signatura. + Matriz de tipos correspondientes a los tipos de los parámetros donde buscar. + Matriz de tipos correspondientes a los tipos de los argumentos genéricos. + para filtrar aún más las signaturas de método. + Modificadores para parámetros. + Una instancia de methodinfo. + + + + Esta clase representa una clase privada para la funcionalidad de descriptor de acceso privado. + + + + + Se enlaza a todo. + + + + + Tipo que contiene la clase. + + + + + Inicializa una nueva instancia de la clase que contiene el tipo privado. + + Nombre del ensamblado + nombre completo de + + + + Inicializa una nueva instancia de la clase que contiene + el tipo privado del objeto de tipo. + + Tipo encapsulado que se va a crear. + + + + Obtiene el tipo al que se hace referencia. + + + + + Invoca el miembro estático. + + Nombre del miembro para InvokeHelper + Argumentos para la invocación + Resultado de la invocación + + + + Invoca el miembro estático. + + Nombre del miembro para InvokeHelper + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a invocar + Argumentos para la invocación + Resultado de la invocación + + + + Invoca el miembro estático. + + Nombre del miembro para InvokeHelper + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a invocar + Argumentos para la invocación + Matriz de tipos correspondientes a los tipos de los argumentos genéricos. + Resultado de la invocación + + + + Invoca el método estático. + + Nombre del miembro + Argumentos para la invocación + Referencia cultural + Resultado de la invocación + + + + Invoca el método estático. + + Nombre del miembro + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a invocar + Argumentos para la invocación + Información de referencia cultural + Resultado de la invocación + + + + Invoca el método estático. + + Nombre del miembro + Atributos de invocación adicionales + Argumentos para la invocación + Resultado de la invocación + + + + Invoca el método estático. + + Nombre del miembro + Atributos de invocación adicionales + Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a invocar + Argumentos para la invocación + Resultado de la invocación + + + + Invoca el método estático. + + Nombre del miembro + Atributos de invocación adicionales + Argumentos para la invocación + Referencia cultural + Resultado de la invocación + + + + Invoca el método estático. + + Nombre del miembro + Atributos de invocación adicionales + /// Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a invocar + Argumentos para la invocación + Referencia cultural + Resultado de la invocación + + + + Invoca el método estático. + + Nombre del miembro + Atributos de invocación adicionales + /// Una matriz de objetos que representan el número, orden y tipo de los parámetros para el método que se va a invocar + Argumentos para la invocación + Referencia cultural + Matriz de tipos correspondientes a los tipos de los argumentos genéricos. + Resultado de la invocación + + + + Obtiene el elemento de la matriz estática. + + Nombre de la matriz + + Matriz unidimensional de enteros de 32 bits que representan los índices que especifican + la posición del elemento que se va a obtener. Por ejemplo, para acceder a a[10][11], los índices serían {10,11} + + elemento en la ubicación especificada + + + + Establece el miembro de la matriz estática. + + Nombre de la matriz + valor para establecer + + Matriz unidimensional de enteros de 32 bits que representan los índices que especifican + la posición del elemento que se va a establecer. Por ejemplo, para acceder a a[10][11], la matriz sería {10,11} + + + + + Obtiene el elemento de la matriz estática. + + Nombre de la matriz + Atributos InvokeHelper adicionales + + Matriz unidimensional de enteros de 32 bits que representan los índices que especifican + la posición del elemento que se va a obtener. Por ejemplo, para acceder a a[10][11], la matriz sería {10,11} + + elemento en la ubicación especificada + + + + Establece el miembro de la matriz estática. + + Nombre de la matriz + Atributos InvokeHelper adicionales + valor para establecer + + Matriz unidimensional de enteros de 32 bits que representan los índices que especifican + la posición del elemento que se va a establecer. Por ejemplo, para acceder a a[10][11], la matriz sería {10,11} + + + + + Obtiene el campo estático. + + Nombre del campo + El campo estático. + + + + Establece el campo estático. + + Nombre del campo + Argumento para la invocación + + + + Obtiene el campo estático con los atributos InvokeHelper especificados. + + Nombre del campo + Atributos de invocación adicionales + El campo estático. + + + + Establece el campo estático con atributos de enlace. + + Nombre del campo + Atributos InvokeHelper adicionales + Argumento para la invocación + + + + Obtiene la propiedad o el campo estático. + + Nombre del campo o propiedad + El campo o la propiedad estáticos. + + + + Establece la propiedad o el campo estático. + + Nombre del campo o propiedad + Valor que se va a establecer en el campo o la propiedad + + + + Obtiene la propiedad o el campo estático con los atributos InvokeHelper especificados. + + Nombre del campo o propiedad + Atributos de invocación adicionales + El campo o la propiedad estáticos. + + + + Establece la propiedad o el campo estático con atributos de enlace. + + Nombre del campo o propiedad + Atributos de invocación adicionales + Valor que se va a establecer en el campo o la propiedad + + + + Obtiene la propiedad estática. + + Nombre del campo o propiedad + Argumentos para la invocación + La propiedad estática. + + + + Establece la propiedad estática. + + Nombre de la propiedad + Valor que se va a establecer en el campo o la propiedad + Argumentos para pasar al miembro que se va a invocar. + + + + Establece la propiedad estática. + + Nombre de la propiedad + Valor que se va a establecer en el campo o la propiedad + Una matriz de objetos que representan el número, orden y tipo de los parámetros para la propiedad indizada. + Argumentos para pasar al miembro que se va a invocar. + + + + Obtiene la propiedad estática. + + Nombre de la propiedad + Atributos de invocación adicionales. + Argumentos para pasar al miembro que se va a invocar. + La propiedad estática. + + + + Obtiene la propiedad estática. + + Nombre de la propiedad + Atributos de invocación adicionales. + Una matriz de objetos que representan el número, orden y tipo de los parámetros para la propiedad indizada. + Argumentos para pasar al miembro que se va a invocar. + La propiedad estática. + + + + Establece la propiedad estática. + + Nombre de la propiedad + Atributos de invocación adicionales. + Valor que se va a establecer en el campo o la propiedad + Valores de índice opcionales para las propiedades indizadas. Los índices de las propiedades indizadas son de base cero. Este valor debe ser NULL para las propiedades no indizadas. + + + + Establece la propiedad estática. + + Nombre de la propiedad + Atributos de invocación adicionales. + Valor que se va a establecer en el campo o la propiedad + Una matriz de objetos que representan el número, orden y tipo de los parámetros para la propiedad indizada. + Argumentos para pasar al miembro que se va a invocar. + + + + Invoca el método estático. + + Nombre del miembro + Atributos de invocación adicionales + Argumentos para la invocación + Referencia cultural + Resultado de la invocación + + + + Proporciona detección de la signatura de los métodos genéricos. + + + + + Compara las firmas de estos dos métodos. + + Method1 + Method2 + "True" si son similares. + + + + Obtiene la profundidad de jerarquía desde el tipo base del tipo proporcionado. + + El tipo. + La profundidad. + + + + Busca el tipo más derivado con la información proporcionada. + + Coincidencias de candidato. + Número de coincidencias. + El método más derivado. + + + + Dado un conjunto de métodos que coinciden con los criterios base, seleccione un método basado + en una matriz de tipos. Este método debe devolver NULL si no hay ningún método que coincida + con los criterios. + + Especificación de enlace. + Coincidencias de candidato + Tipos + Modificadores de parámetro. + Método coincidente. "Null" si no coincide ninguno. + + + + Busca el método más específico entre los dos métodos proporcionados. + + Método 1 + Orden de parámetros del método 1 + Tipo de matriz de parámetro. + Método 2 + Orden de parámetros del método 2 + >Tipo de matriz de parámetro. + Tipos en los que buscar. + Args. + Un tipo int que representa la coincidencia. + + + + Busca el método más específico entre los dos métodos proporcionados. + + Método 1 + Orden de parámetros del método 1 + Tipo de matriz de parámetro. + Método 2 + Orden de parámetros del método 2 + >Tipo de matriz de parámetro. + Tipos en los que buscar. + Args. + Un tipo int que representa la coincidencia. + + + + Busca el tipo más específico de los dos proporcionados. + + Tipo 1 + Tipo 2 + El tipo de definición + Un tipo int que representa la coincidencia. + + + + Se usa para almacenar información proporcionada a las pruebas unitarias. + + + + + Obtiene las propiedades de una prueba. + + + + + Obtiene la fila de datos actual cuando la prueba se usa para realizar pruebas controladas por datos. + + + + + Obtiene la fila de conexión de datos actual cuando la prueba se usa para realizar pruebas controladas por datos. + + + + + Obtiene el directorio base para la serie de pruebas, en el que se almacenan los archivos implementados y los archivos de resultados. + + + + + Obtiene el directorio de los archivos implementados para la serie de pruebas. Suele ser un subdirectorio de . + + + + + Obtiene el directorio base para los resultados de la serie de pruebas. Suele ser un subdirectorio de . + + + + + Obtiene el directorio de los archivos de resultados de la serie de pruebas. Suele ser un subdirectorio de . + + + + + Obtiene el directorio de los archivos de resultados de la prueba. + + + + + Obtiene el directorio base para la serie de pruebas donde se almacenan los archivos implementados y los archivos de resultados. + Funciona igual que . Utilice esa propiedad en su lugar. + + + + + Obtiene el directorio de los archivos implementados para la serie de pruebas. Suele ser un subdirectorio de . + Funciona igual que . Utilice esa propiedad en su lugar. + + + + + Obtiene el directorio de los archivos de resultados de la serie de pruebas. Suele ser un subdirectorio de . + Funciona igual que . Utilice esa propiedad para los archivos de resultados de la serie de pruebas o + para los archivos de resultados específicos de cada prueba. + + + + + Obtiene el nombre completo de la clase que contiene el método de prueba que se está ejecutando. + + + + + Obtiene el nombre del método de prueba que se está ejecutando. + + + + + Obtiene el resultado de la prueba actual. + + + + + Se usa para escribir mensajes de seguimiento durante la ejecución de la prueba. + + cadena de mensaje con formato + + + + Se usa para escribir mensajes de seguimiento durante la ejecución de la prueba. + + cadena de formato + los argumentos + + + + Agrega un nombre de archivo a la lista en TestResult.ResultFileNames. + + + Nombre del archivo. + + + + + Inicia un temporizador con el nombre especificado. + + Nombre del temporizador. + + + + Finaliza un temporizador con el nombre especificado. + + Nombre del temporizador. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..5b05af9 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4199 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Atributo TestMethod para la ejecución. + + + + + Obtiene el nombre del método de prueba. + + + + + Obtiene el nombre de la clase de prueba. + + + + + Obtiene el tipo de valor devuelto del método de prueba. + + + + + Obtiene los parámetros del método de prueba. + + + + + Obtiene el valor de methodInfo para el método de prueba. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invoca el método de prueba. + + + Argumentos que se pasan al método de prueba (por ejemplo, controlada por datos) + + + Resultado de la invocación del método de prueba. + + + This call handles asynchronous test methods as well. + + + + + Obtiene todos los atributos del método de prueba. + + + Indica si el atributo definido en la clase primaria es válido. + + + Todos los atributos. + + + + + Obtiene un atributo de un tipo específico. + + System.Attribute type. + + Indica si el atributo definido en la clase primaria es válido. + + + Atributos del tipo especificado. + + + + + Elemento auxiliar. + + + + + Parámetro de comprobación no NULL. + + + El parámetro. + + + El nombre del parámetro. + + + El mensaje. + + Throws argument null exception when parameter is null. + + + + Parámetro de comprobación no NULL o vacío. + + + El parámetro. + + + El nombre del parámetro. + + + El mensaje. + + Throws ArgumentException when parameter is null. + + + + Enumeración de cómo se accede a las filas de datos en las pruebas controladas por datos. + + + + + Las filas se devuelven en orden secuencial. + + + + + Las filas se devuelven en orden aleatorio. + + + + + Atributo para definir los datos insertados de un método de prueba. + + + + + Inicializa una nueva instancia de la clase . + + Objeto de datos. + + + + Inicializa una nueva instancia de la clase , que toma una matriz de argumentos. + + Objeto de datos. + Más datos. + + + + Obtiene datos para llamar al método de prueba. + + + + + Obtiene o establece el nombre para mostrar en los resultados de pruebas para personalizarlo. + + + + + Excepción de aserción no concluyente. + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Inicializa una nueva instancia de la clase . + + + + + Clase InternalTestFailureException. Se usa para indicar un error interno de un caso de prueba. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializa una nueva instancia de la clase . + + Mensaje de la excepción. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + Mensaje de la excepción. + + + + Inicializa una nueva instancia de la clase . + + + + + Atributo que indica que debe esperarse una excepción del tipo especificado. + + + + + Inicializa una nueva instancia de la clase con el tipo esperado. + + Tipo de la excepción esperada + + + + Inicializa una nueva instancia de la clase + con el tipo esperado y el mensaje para incluir cuando la prueba no produce una excepción. + + Tipo de la excepción esperada + + Mensaje que se incluye en el resultado de la prueba si esta no se supera debido a que no se inicia una excepción + + + + + Obtiene un valor que indica el tipo de la excepción esperada. + + + + + Obtiene o establece un valor que indica si se permite que los tipos derivados del tipo de la excepción esperada + se consideren también como esperados. + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Comprueba que el tipo de la excepción producida por la prueba unitaria es el esperado. + + Excepción que inicia la prueba unitaria + + + + Clase base para atributos que especifican que se espere una excepción de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase con un mensaje de ausencia de excepción predeterminado. + + + + + Inicializa una nueva instancia de la clase con un mensaje de ausencia de excepción. + + + Mensaje para incluir en el resultado de la prueba si esta no se supera debido a que no se inicia una + excepción + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Obtiene el mensaje de ausencia de excepción predeterminado. + + Nombre del tipo de atributo ExpectedException + Mensaje de ausencia de excepción predeterminado + + + + Determina si se espera la excepción. Si el método devuelve un valor, se entiende + que se esperaba la excepción. Si el método produce una excepción, + se entiende que no se esperaba la excepción y se incluye el mensaje + de la misma en el resultado de la prueba. Se puede usar para mayor + comodidad. Si se utiliza y la aserción no funciona, + el resultado de la prueba se establece como No concluyente. + + Excepción que inicia la prueba unitaria + + + + Produce de nuevo la excepción si es de tipo AssertFailedException o AssertInconclusiveException. + + La excepción que se va a reiniciar si es una excepción de aserción + + + + Esta clase está diseñada para ayudar al usuario a realizar pruebas unitarias para tipos con tipos genéricos. + GenericParameterHelper satisface algunas de las restricciones de tipo genérico comunes, + como: + 1. Constructor predeterminado público. + 2. Implementa una interfaz común: IComparable, IEnumerable. + + + + + Inicializa una nueva instancia de la clase que + satisface la restricción "renovable" en genéricos de C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializa una nueva instancia de la clase que + inicializa la propiedad Data con un valor proporcionado por el usuario. + + Cualquier valor entero + + + + Obtiene o establece los datos. + + + + + Compara el valor de dos objetos GenericParameterHelper. + + objeto con el que hacer la comparación + Es true si el objeto tiene el mismo valor que el objeto GenericParameterHelper "this". + De lo contrario, false. + + + + Devuelve un código hash para este objeto. + + El código hash. + + + + Compara los datos de los dos objetos . + + Objeto con el que se va a comparar. + + Número con signo que indica los valores relativos de esta instancia y valor. + + + Thrown when the object passed in is not an instance of . + + + + + Devuelve un objeto IEnumerator cuya longitud se deriva de + la propiedad Data. + + El objeto IEnumerator + + + + Devuelve un objeto GenericParameterHelper que es igual al + objeto actual. + + El objeto clonado. + + + + Permite a los usuarios registrar o escribir el seguimiento de las pruebas unitarias con fines de diagnóstico. + + + + + Controlador para LogMessage. + + Mensaje para registrar. + + + + Evento que se debe escuchar. Se genera cuando el autor de las pruebas unitarias escribe algún mensaje. + Lo consume principalmente el adaptador. + + + + + API del escritor de la prueba para llamar a los mensajes de registro. + + Formato de cadena con marcadores de posición. + Parámetros para los marcadores de posición. + + + + Atributo TestCategory. Se usa para especificar la categoría de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase y le aplica la categoría a la prueba. + + + Categoría de prueba. + + + + + Obtiene las categorías que se le han aplicado a la prueba. + + + + + Clase base del atributo "Category". + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializa una nueva instancia de la clase . + Aplica la categoría a la prueba. Las cadenas que devuelve TestCategories + se usan con el comando /category para filtrar las pruebas. + + + + + Obtiene la categoría que se le ha aplicado a la prueba. + + + + + Clase AssertFailedException. Se usa para indicar el error de un caso de prueba. + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Inicializa una nueva instancia de la clase . + + + + + Colección de clases auxiliares para probar varias condiciones en las + pruebas unitarias. Si la condición que se está probando no se cumple, se produce + una excepción. + + + + + Obtiene la instancia de singleton de la funcionalidad de Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Thrown if is false. + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Mensaje que se va a incluir en la excepción cuando + es false. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is false. + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Mensaje que se va a incluir en la excepción cuando + es false. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is false. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Thrown if is true. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Mensaje que se va a incluir en la excepción cuando + es true. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is true. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Mensaje que se va a incluir en la excepción cuando + es true. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is true. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + no es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + no es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Thrown if is null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is null. + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual que . El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual que . El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual que . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual que . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if is not equal to . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Mensaje que se va a incluir en la excepción cuando + no es una instancia de . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Mensaje que se va a incluir en la excepción cuando + no es una instancia de . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Mensaje que se va a incluir en la excepción cuando + es una instancia de . El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Mensaje que se va a incluir en la excepción cuando + es una instancia de . El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Produce una excepción AssertFailedException. + + + Always thrown. + + + + + Produce una excepción AssertFailedException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Always thrown. + + + + + Produce una excepción AssertFailedException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Always thrown. + + + + + Las sobrecargas de igualdad estáticas se usan para comparar la igualdad de referencia de + instancias de dos tipos. Este método no debe usarse para comparar la igualdad de dos instancias. + Este objeto se devolverá siempre con Assert.Fail. Utilice + Assert.AreEqual y las sobrecargas asociadas en pruebas unitarias. + + Objeto A + Objeto B + False, siempre. + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción AssertFailedException si el código no produce la excepción dada o produce otra de un tipo que no sea . + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción AssertFailedException si el código no produce la excepción dada o produce otra de un tipo que no sea . + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Reemplaza los caracteres NULL "\0" por "\\0". + + + Cadena para buscar. + + + La cadena convertida con los caracteres NULL reemplazados por "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Función auxiliar que produce una excepción AssertionFailedException. + + + nombre de la aserción que inicia una excepción + + + mensaje que describe las condiciones del error de aserción + + + Los parámetros. + + + + + Comprueba el parámetro para las condiciones válidas. + + + El parámetro. + + + Nombre de la aserción. + + + nombre de parámetro + + + mensaje de la excepción de parámetro no válido + + + Los parámetros. + + + + + Convierte un objeto en cadena de forma segura, con control de los valores y caracteres NULL. + Los valores NULL se convierten en "NULL". Los caracteres NULL se convierten en "\\0". + + + Objeto que se va a convertir en cadena. + + + La cadena convertida. + + + + + Aserción de cadena. + + + + + Obtiene la instancia de singleton de la funcionalidad CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Mensaje que se va a incluir en la excepción cuando + no empieza por . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Mensaje que se va a incluir en la excepción cuando + no empieza por . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Mensaje que se va a incluir en la excepción cuando + no termina con . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Mensaje que se va a incluir en la excepción cuando + no termina con . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Mensaje que se va a incluir en la excepción cuando + no coincide con . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Mensaje que se va a incluir en la excepción cuando + no coincide con . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Thrown if matches . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Mensaje que se va a incluir en la excepción cuando + coincide con . El mensaje se muestra en los resultados de las + pruebas. + + + Thrown if matches . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Mensaje que se va a incluir en la excepción cuando + coincide con . El mensaje se muestra en los resultados de las + pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if matches . + + + + + Colección de clases auxiliares para probar varias condiciones asociadas + a las colecciones en las pruebas unitarias. Si la condición que se está probando no se + cumple, se produce una excepción. + + + + + Obtiene la instancia de singleton de la funcionalidad CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Thrown if is found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + se encuentra en . El mensaje se muestra en los resultados de las + pruebas. + + + Thrown if is found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + se encuentra en . El mensaje se muestra en los resultados de las + pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is found in + . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Thrown if a null element is found in . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Mensaje que se va a incluir en la excepción cuando + contiene un elemento NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if a null element is found in . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Mensaje que se va a incluir en la excepción cuando + contiene un elemento NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if a null element is found in . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Mensaje que se va a incluir en la excepción cuando + contiene al menos un elemento duplicado. El mensaje se muestra en los + resultados de las pruebas. + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Mensaje que se va a incluir en la excepción cuando + contiene al menos un elemento duplicado. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Thrown if every element in is also found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando cada elemento de + también se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Thrown if every element in is also found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando cada elemento de + también se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if every element in is also found in + . + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando un elemento se encontró + en una de las colecciones pero no en la otra. El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando un elemento se encontró + en una de las colecciones pero no en la otra. El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + contiene los mismos elementos que . El mensaje + se muestra en los resultados de las pruebas. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + contiene los mismos elementos que . El mensaje + se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no es una instancia de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no es una instancia de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Determina si la primera colección es un subconjunto de la + segunda. Si cualquiera de los conjuntos contiene elementos duplicados, el número + de repeticiones del elemento en el subconjunto debe ser inferior o + igual al número de repeticiones en el superconjunto. + + + Colección que la prueba espera que esté incluida en . + + + Colección que la prueba espera que contenga . + + + True si es un subconjunto de + , de lo contrario false. + + + + + Construye un diccionario que contiene el número de repeticiones de cada + elemento en la colección especificada. + + + Colección que se va a procesar. + + + Número de elementos NULL de la colección. + + + Diccionario que contiene el número de repeticiones de cada elemento + en la colección especificada. + + + + + Encuentra un elemento no coincidente entre ambas colecciones. Un elemento + no coincidente es aquel que aparece un número distinto de veces en la + colección esperada de lo que aparece en la colección real. Se + supone que las colecciones son referencias no NULL diferentes con el + mismo número de elementos. El autor de la llamada es el responsable de + este nivel de comprobación. Si no hay ningún elemento no coincidente, + la función devuelve false y no deben usarse parámetros out. + + + La primera colección para comparar. + + + La segunda colección para comparar. + + + Número esperado de repeticiones de + o 0 si no hay ningún elemento no + coincidente. + + + El número real de repeticiones de + o 0 si no hay ningún elemento no + coincidente. + + + El elemento no coincidente (puede ser nulo) o NULL si no hay ningún + elemento no coincidente. + + + Es true si se encontró un elemento no coincidente. De lo contrario, false. + + + + + compara los objetos con object.Equals. + + + + + Clase base para las excepciones de marco. + + + + + Inicializa una nueva instancia de la clase . + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Clase de recurso fuertemente tipado para buscar cadenas traducidas, etc. + + + + + Devuelve la instancia de ResourceManager almacenada en caché que usa esta clase. + + + + + Invalida la propiedad CurrentUICulture del subproceso actual para todas + las búsquedas de recursos que usan esta clase de recursos fuertemente tipados. + + + + + Busca una cadena traducida similar a "La cadena de acceso tiene una sintaxis no válida". + + + + + Busca una cadena traducida similar a "La colección esperada contiene {1} repeticiones de <{2}>. La colección actual contiene {3} repeticiones. {0}". + + + + + Busca una cadena traducida similar a "Se encontró un elemento duplicado: <{1}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1}>. El caso es distinto para el valor real: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba una diferencia no superior a <{3}> entre el valor esperado <{1}> y el valor real <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1} ({2})>, pero es: <{3} ({4})>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba una diferencia mayor que <{3}> entre el valor esperado <{1}> y el valor real <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba cualquier valor excepto: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "No pase tipos de valor a AreSame(). Los valores convertidos a Object no serán nunca iguales. Considere el uso de AreEqual(). {0}". + + + + + Busca una cadena traducida similar a "Error de {0}. {1}". + + + + + Busca una cadena traducida similar a "No se admite un método de prueba asincrónico con UITestMethodAttribute. Quite el método asincrónico o use TestMethodAttribute. + + + + + Busca una cadena traducida similar a "Ambas colecciones están vacías". {0}. + + + + + Busca una cadena traducida similar a "Ambas colecciones tienen los mismos elementos". + + + + + Busca una cadena traducida similar a "Las referencias de ambas colecciones apuntan al mismo objeto de colección. {0}". + + + + + Busca una cadena traducida similar a "Ambas colecciones tienen los mismos elementos. {0}". + + + + + Busca una cadena traducida similar a "{0}({1})". + + + + + Busca una cadena traducida similar a "(NULL)". + + + + + Busca una cadena traducida similar a "(objeto)". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no contiene la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "{0} ({1})". + + + + + Busca una cadena traducida similar a "No se debe usar Assert.Equals para aserciones. Use Assert.AreEqual y Overloads en su lugar". + + + + + Busca una cadena traducida similar a "El número de elementos de las colecciones no coincide. Se esperaba: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "El elemento del índice {0} no coincide". + + + + + Busca una cadena traducida similar a "El elemento del índice {1} no es del tipo esperado. Tipo esperado: <{2}>, tipo real: <{3}>. {0}". + + + + + Busca una cadena traducida similar a "El elemento del índice {1} es (NULL). Se esperaba el tipo: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no termina con la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "Argumento no válido: EqualsTester no puede utilizar valores NULL". + + + + + Busca una cadena traducida similar a "El objeto de tipo {0} no se puede convertir en {1}". + + + + + Busca una cadena traducida similar a "El objeto interno al que se hace referencia ya no es válido". + + + + + Busca una cadena traducida similar a "El parámetro "{0}" no es válido. {1}". + + + + + Busca una cadena traducida similar a "La propiedad {0} tiene el tipo {1}; se esperaba el tipo {2}". + + + + + Busca una cadena traducida similar a "{0} Tipo esperado: <{1}>. Tipo real: <{2}>". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no coincide con el patrón "{1}". {2}". + + + + + Busca una cadena traducida similar a "Tipo incorrecto: <{1}>. Tipo real: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "La cadena "{0}" coincide con el patrón "{1}". {2}". + + + + + Busca una cadena traducida similar a "No se especificó ningún atributo DataRowAttribute. Se requiere al menos un elemento DataRowAttribute con DataTestMethodAttribute". + + + + + Busca una cadena traducida similar a "No se produjo ninguna excepción. Se esperaba la excepción {1}. {0}". + + + + + Busca una cadena traducida similar a "El parámetro "{0}" no es válido. El valor no puede ser NULL. {1}". + + + + + Busca una cadena traducida similar a "Número diferente de elementos". + + + + + Busca una cadena traducida similar a + "No se encontró el constructor con la signatura especificada. Es posible que tenga que regenerar el descriptor de acceso privado, + o que el miembro sea privado y esté definido en una clase base. Si se trata de esto último, debe pasar el tipo + que define el miembro al constructor de PrivateObject". + + + + + Busca una cadena traducida similar a + "No se encontró el miembro especificado ({0}). Es posible que tenga que regenerar el descriptor de acceso privado, + o que el miembro sea privado y esté definido en una clase base. Si se trata de esto último, debe pasar el tipo + que define el miembro al constructor de PrivateObject". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no empieza con la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "El tipo de excepción esperado debe ser System.Exception o un tipo derivado de System.Exception". + + + + + Busca una cadena traducida similar a "No se pudo obtener el mensaje para una excepción del tipo {0} debido a una excepción". + + + + + Busca una cadena traducida similar a "El método de prueba no inició la excepción esperada {0}. {1}". + + + + + Busca una cadena traducida similar a "El método de prueba no inició una excepción. El atributo {0} definido en el método de prueba esperaba una excepción". + + + + + Busca una cadena traducida similar a "El método de prueba inició la excepción {0}, pero se esperaba la excepción {1}. Mensaje de la excepción: {2}". + + + + + Busca una cadena traducida similar a "El método de prueba inició la excepción {0}, pero se esperaba la excepción {1} o un tipo derivado de ella. Mensaje de la excepción: {2}". + + + + + Busca una cadena traducida similar a "Se produjo la excepción {2}, pero se esperaba la excepción {1}. {0} + Mensaje de excepción: {3} + Seguimiento de la pila: {4}". + + + + + Resultados de la prueba unitaria. + + + + + La prueba se ejecutó, pero hubo problemas. + Entre estos, puede haber excepciones o aserciones con errores. + + + + + La prueba se completó, pero no podemos determinar si el resultado fue correcto o no. + Se puede usar para pruebas anuladas. + + + + + La prueba se ejecutó sin problemas. + + + + + La prueba se está ejecutando. + + + + + Error del sistema al intentar ejecutar una prueba. + + + + + Se agotó el tiempo de espera de la prueba. + + + + + El usuario anuló la prueba. + + + + + La prueba tiene un estado desconocido + + + + + Proporciona funcionalidad auxiliar para el marco de pruebas unitarias. + + + + + Obtiene los mensajes de excepción, incluidos los mensajes de todas las excepciones internas, + de forma recursiva. + + Excepción para la que se obtienen los mensajes + la cadena con información del mensaje de error + + + + Enumeración para cuando se agota el tiempo de espera que se puede usar con el atributo . + El tipo de la enumeración debe coincidir. + + + + + Infinito. + + + + + Atributo de la clase de prueba. + + + + + Obtiene un atributo de método de prueba que habilita la ejecución de esta prueba. + + La instancia de atributo de método de prueba definida en este método. + Tipo que se utilizará para ejecutar esta prueba. + Extensions can override this method to customize how all methods in a class are run. + + + + Atributo del método de prueba. + + + + + Ejecuta un método de prueba. + + El método de prueba para ejecutar. + Una matriz de objetos de TestResult que representan los resultados de la prueba. + Extensions can override this method to customize running a TestMethod. + + + + Atributo para inicializar la prueba. + + + + + Atributo de limpieza de la prueba. + + + + + Atributo de omisión. + + + + + Atributo de propiedad de la prueba. + + + + + Inicializa una nueva instancia de la clase . + + + El nombre. + + + El valor. + + + + + Obtiene el nombre. + + + + + Obtiene el valor. + + + + + Atributo de inicialización de la clase. + + + + + Atributo de limpieza de la clase. + + + + + Atributo de inicialización del ensamblado. + + + + + Atributo de limpieza del ensamblado. + + + + + Propietario de la prueba. + + + + + Inicializa una nueva instancia de la clase . + + + El propietario. + + + + + Obtiene el propietario. + + + + + Atributo de prioridad. Se usa para especificar la prioridad de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase . + + + La prioridad. + + + + + Obtiene la prioridad. + + + + + Descripción de la prueba. + + + + + Inicializa una nueva instancia de la clase para describir una prueba. + + La descripción. + + + + Obtiene la descripción de una prueba. + + + + + URI de estructura de proyectos de CSS. + + + + + Inicializa una nueva instancia de la clase para el URI de estructura de proyecto de CSS. + + URI de estructura de proyectos de CSS. + + + + Obtiene el URI de estructura de proyectos de CSS. + + + + + URI de iteración de CSS. + + + + + Inicializa una nueva instancia de la clase para el URI de iteración de CSS. + + URI de iteración de CSS. + + + + Obtiene el URI de iteración de CSS. + + + + + Atributo WorkItem. Se usa para especificar un elemento de trabajo asociado a esta prueba. + + + + + Inicializa una nueva instancia de la clase para el atributo WorkItem. + + Identificador de un elemento de trabajo. + + + + Obtiene el identificador de un elemento de trabajo asociado. + + + + + Atributo de tiempo de espera. Se usa para especificar el tiempo de espera de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase . + + + Tiempo de espera. + + + + + Inicializa una nueva instancia de la clase con un tiempo de espera preestablecido. + + + Tiempo de espera + + + + + Obtiene el tiempo de espera. + + + + + Objeto TestResult que debe devolverse al adaptador. + + + + + Inicializa una nueva instancia de la clase . + + + + + Obtiene o establece el nombre para mostrar del resultado. Es útil cuando se devuelven varios resultados. + Si es NULL, se utiliza el nombre del método como nombre para mostrar. + + + + + Obtiene o establece el resultado de la ejecución de pruebas. + + + + + Obtiene o establece la excepción que se inicia cuando la prueba da error. + + + + + Obtiene o establece la salida del mensaje registrado por el código de la prueba. + + + + + Obtiene o establece la salida del mensaje registrado por el código de la prueba. + + + + + Obtiene o establece el seguimiento de depuración que realiza el código de la prueba. + + + + + Gets or sets the debug traces by test code. + + + + + Obtiene o establece la duración de la ejecución de la prueba. + + + + + Obtiene o establece el índice de la fila de datos en el origen de datos. Se establece solo para resultados + de ejecuciones individuales de filas de datos de una prueba controlada por datos. + + + + + Obtiene o establece el valor devuelto del método de prueba. Actualmente es siempre NULL. + + + + + Obtiene o establece los archivos de resultados que adjunta la prueba. + + + + + Especifica la cadena de conexión, el nombre de tabla y el método de acceso a fila para las pruebas controladas por datos. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nombre de proveedor predeterminado del origen de datos. + + + + + Método de acceso a datos predeterminado. + + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con un proveedor de datos, una cadena de conexión, una tabla de datos y un método de acceso a datos para acceder al origen de datos. + + Nombre invariable del proveedor de datos, como System.Data.SqlClient + + Cadena de conexión específica del proveedor de datos. + ADVERTENCIA: La cadena de conexión puede contener información confidencial (por ejemplo, una contraseña). + La cadena de conexión se almacena en texto sin formato en el código fuente y en el ensamblado compilado. + Restrinja el acceso al código fuente y al ensamblado para proteger esta información confidencial. + + Nombre de la tabla de datos. + Especifica el orden de acceso a los datos. + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con una cadena de conexión y un nombre de tabla. + Especifique la cadena de conexión y la tabla de datos para acceder al origen de datos OLEDB. + + + Cadena de conexión específica del proveedor de datos. + ADVERTENCIA: La cadena de conexión puede contener información confidencial (por ejemplo, una contraseña). + La cadena de conexión se almacena en texto sin formato en el código fuente y en el ensamblado compilado. + Restrinja el acceso al código fuente y al ensamblado para proteger esta información confidencial. + + Nombre de la tabla de datos. + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con un proveedor de datos y una cadena de conexión asociada al nombre del valor de configuración. + + El nombre de un origen de datos que se encuentra en la sección <microsoft.visualstudio.qualitytools> del archivo app.config. + + + + Obtiene un valor que representa el proveedor de datos del origen de datos. + + + Nombre del proveedor de datos. Si no se designó un proveedor de datos al inicializar el objeto, se devolverá el proveedor predeterminado de System.Data.OleDb. + + + + + Obtiene un valor que representa la cadena de conexión para el origen de datos. + + + + + Obtiene un valor que indica el nombre de la tabla que proporciona los datos. + + + + + Obtiene el método usado para tener acceso al origen de datos. + + + + Uno de los . Si no se ha inicializado, devolverá el valor predeterminado . + + + + + Obtiene el nombre del origen de datos que se encuentra en la sección <microsoft.visualstudio.qualitytools> del archivo app.config. + + + + + Atributo para una prueba controlada por datos donde los datos pueden especificarse insertados. + + + + + Busca todas las filas de datos y las ejecuta. + + + El método de prueba. + + + Una matriz de . + + + + + Ejecuta el método de prueba controlada por datos. + + Método de prueba para ejecutar. + Fila de datos. + Resultados de la ejecución. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..fcb3e3f --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Permet de spécifier l'élément de déploiement (fichier ou répertoire) pour un déploiement par test. + Peut être spécifié sur une classe de test ou une méthode de test. + Peut avoir plusieurs instances de l'attribut pour spécifier plusieurs éléments. + Le chemin de l'élément peut être absolu ou relatif. S'il est relatif, il l'est par rapport à RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Initialise une nouvelle instance de la classe . + + Fichier ou répertoire à déployer. Le chemin est relatif au répertoire de sortie de build. L'élément est copié dans le même répertoire que les assemblys de tests déployés. + + + + Initialise une nouvelle instance de la classe + + Chemin relatif ou absolu du fichier ou du répertoire à déployer. Le chemin est relatif au répertoire de sortie de build. L'élément est copié dans le même répertoire que les assemblys de tests déployés. + Chemin du répertoire dans lequel les éléments doivent être copiés. Il peut être absolu ou relatif au répertoire de déploiement. Tous les fichiers et répertoires identifiés par vont être copiés dans ce répertoire. + + + + Obtient le chemin du fichier ou dossier source à copier. + + + + + Obtient le chemin du répertoire dans lequel l'élément est copié. + + + + + Contient les littéraux pour les noms de sections, de propriétés et d'attributs. + + + + + Nom de la section de configuration. + + + + + Nom de la section de configuration pour Beta2. Conservé par souci de compatibilité. + + + + + Nom de section pour la source de données. + + + + + Nom d'attribut pour 'Name' + + + + + Nom d'attribut pour 'ConnectionString' + + + + + Nom d'attribut de 'DataAccessMethod' + + + + + Nom d'attribut de 'DataTable' + + + + + Élément de la source de données. + + + + + Obtient ou définit le nom de cette configuration. + + + + + Obtient ou définit l'élément ConnectionStringSettings dans la section <connectionStrings> du fichier .config. + + + + + Obtient ou définit le nom de la table de données. + + + + + Obtient ou définit le type d'accès aux données. + + + + + Obtient le nom de la clé. + + + + + Obtient les propriétés de configuration. + + + + + Collection d'éléments de la source de données. + + + + + Initialise une nouvelle instance de la classe . + + + + + Retourne l'élément de configuration avec la clé spécifiée. + + Clé de l'élément à retourner. + System.Configuration.ConfigurationElement avec la clé spécifiée ; sinon, null. + + + + Obtient l'élément de configuration à l'emplacement d'index spécifié. + + Emplacement d'index du System.Configuration.ConfigurationElement à retourner. + + + + Ajoute un élément de configuration à la collection d'éléments de configuration. + + System.Configuration.ConfigurationElement à ajouter. + + + + Supprime System.Configuration.ConfigurationElement de la collection. + + Le . + + + + Supprime System.Configuration.ConfigurationElement de la collection. + + Clé du System.Configuration.ConfigurationElement à supprimer. + + + + Supprime tous les objets d'éléments de configuration dans la collection. + + + + + Crée . + + Nouveau . + + + + Obtient la clé d'un élément de configuration spécifique. + + System.Configuration.ConfigurationElement dont la clé doit être retournée. + System.Object qui fait office de clé pour le System.Configuration.ConfigurationElement spécifié. + + + + Ajoute un élément de configuration à la collection d'éléments de configuration. + + System.Configuration.ConfigurationElement à ajouter. + + + + Ajoute un élément de configuration à la collection d'éléments de configuration. + + Emplacement d'index où ajouter le System.Configuration.ConfigurationElement spécifié. + System.Configuration.ConfigurationElement à ajouter. + + + + Prise en charge des paramètres de configuration pour les tests. + + + + + Obtient la section de configuration des tests. + + + + + Section de configuration des tests. + + + + + Obtient les sources de données de cette section de configuration. + + + + + Obtient la collection de propriétés. + + + Le des propriétés de l'élément. + + + + + Cette classe représente l'objet INTERNE dynamique NON public dans le système + + + + + Initialise une nouvelle instance de la classe qui contient + l'objet déjà existant de la classe privée + + objet qui sert de point de départ pour atteindre les membres privés + chaîne de déréférencement utilisant . et qui pointe vers l'objet à récupérer, par exemple m_X.m_Y.m_Z + + + + Initialise une nouvelle instance de la classe qui inclut dans un wrapper le + type spécifié. + + Nom de l'assembly + nom complet + Arguments à passer au constructeur + + + + Initialise une nouvelle instance de la classe qui inclut dans un wrapper le + type spécifié. + + Nom de l'assembly + nom complet + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres du constructeur à obtenir + Arguments à passer au constructeur + + + + Initialise une nouvelle instance de la classe qui inclut dans un wrapper le + type spécifié. + + type d'objet à créer + Arguments à passer au constructeur + + + + Initialise une nouvelle instance de la classe qui inclut dans un wrapper le + type spécifié. + + type d'objet à créer + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres du constructeur à obtenir + Arguments à passer au constructeur + + + + Initialise une nouvelle instance de la classe qui inclut dans un wrapper + l'objet donné. + + objet à inclure dans un wrapper + + + + Initialise une nouvelle instance de la classe qui inclut dans un wrapper + l'objet donné. + + objet à inclure dans un wrapper + Objet PrivateType + + + + Obtient ou définit la cible + + + + + Obtient le type de l'objet sous-jacent + + + + + retourne le code de hachage de l'objet cible + + int représentant le code de hachage de l'objet cible + + + + Est égal à + + Objet à comparer + retourne true si les objets sont égaux. + + + + Appelle la méthode spécifiée + + Nom de la méthode + Arguments à passer au membre à appeler. + Résultat de l'appel de méthode + + + + Appelle la méthode spécifiée + + Nom de la méthode + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à obtenir. + Arguments à passer au membre à appeler. + Résultat de l'appel de méthode + + + + Appelle la méthode spécifiée + + Nom de la méthode + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à obtenir. + Arguments à passer au membre à appeler. + Tableau de types correspondant aux types des arguments génériques. + Résultat de l'appel de méthode + + + + Appelle la méthode spécifiée + + Nom de la méthode + Arguments à passer au membre à appeler. + Informations sur la culture + Résultat de l'appel de méthode + + + + Appelle la méthode spécifiée + + Nom de la méthode + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à obtenir. + Arguments à passer au membre à appeler. + Informations sur la culture + Résultat de l'appel de méthode + + + + Appelle la méthode spécifiée + + Nom de la méthode + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Arguments à passer au membre à appeler. + Résultat de l'appel de méthode + + + + Appelle la méthode spécifiée + + Nom de la méthode + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à obtenir. + Arguments à passer au membre à appeler. + Résultat de l'appel de méthode + + + + Appelle la méthode spécifiée + + Nom de la méthode + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Arguments à passer au membre à appeler. + Informations sur la culture + Résultat de l'appel de méthode + + + + Appelle la méthode spécifiée + + Nom de la méthode + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à obtenir. + Arguments à passer au membre à appeler. + Informations sur la culture + Résultat de l'appel de méthode + + + + Appelle la méthode spécifiée + + Nom de la méthode + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à obtenir. + Arguments à passer au membre à appeler. + Informations sur la culture + Tableau de types correspondant aux types des arguments génériques. + Résultat de l'appel de méthode + + + + Obtient l'élément de tableau à l'aide du tableau d'indices pour chaque dimension + + Nom du membre + les indices du tableau + Tableau d'éléments. + + + + Définit l'élément de tableau à l'aide du tableau d'indices pour chaque dimension + + Nom du membre + Valeur à définir + les indices du tableau + + + + Obtient l'élément de tableau à l'aide du tableau d'indices pour chaque dimension + + Nom du membre + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + les indices du tableau + Tableau d'éléments. + + + + Définit l'élément de tableau à l'aide du tableau d'indices pour chaque dimension + + Nom du membre + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Valeur à définir + les indices du tableau + + + + Obtient le champ + + Nom du champ + Champ. + + + + Définit le champ + + Nom du champ + valeur à définir + + + + Obtient le champ + + Nom du champ + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Champ. + + + + Définit le champ + + Nom du champ + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + valeur à définir + + + + Obtient le champ ou la propriété + + Nom du champ ou de la propriété + Champ ou propriété. + + + + Définit le champ ou la propriété + + Nom du champ ou de la propriété + valeur à définir + + + + Obtient le champ ou la propriété + + Nom du champ ou de la propriété + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Champ ou propriété. + + + + Définit le champ ou la propriété + + Nom du champ ou de la propriété + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + valeur à définir + + + + Obtient la propriété + + Nom de la propriété + Arguments à passer au membre à appeler. + Propriété. + + + + Obtient la propriété + + Nom de la propriété + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la propriété indexée. + Arguments à passer au membre à appeler. + Propriété. + + + + Définit la propriété + + Nom de la propriété + valeur à définir + Arguments à passer au membre à appeler. + + + + Définit la propriété + + Nom de la propriété + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la propriété indexée. + valeur à définir + Arguments à passer au membre à appeler. + + + + Obtient la propriété + + Nom de la propriété + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Arguments à passer au membre à appeler. + Propriété. + + + + Obtient la propriété + + Nom de la propriété + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la propriété indexée. + Arguments à passer au membre à appeler. + Propriété. + + + + Définit la propriété + + Nom de la propriété + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + valeur à définir + Arguments à passer au membre à appeler. + + + + Définit la propriété + + Nom de la propriété + Masque de bits composé d'un ou de plusieurs qui spécifient la façon dont la recherche est effectuée. + valeur à définir + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la propriété indexée. + Arguments à passer au membre à appeler. + + + + Valide la chaîne d'accès + + chaîne d'accès + + + + Appelle le membre + + Nom du membre + Attributs supplémentaires + Arguments de l'appel + Culture + Résultat de l'appel + + + + Extrait la signature de méthode générique la plus appropriée à partir du type privé actuel. + + Nom de la méthode dans laquelle rechercher le cache de signatures. + Tableau de types correspondant aux types des paramètres où effectuer la recherche. + Tableau de types correspondant aux types des arguments génériques. + pour filtrer plus précisément les signatures de méthode. + Modificateurs des paramètres. + Instance de methodinfo. + + + + Cette classe représente une classe privée pour la fonctionnalité d'accesseur private. + + + + + Se lie à tout + + + + + Type inclus dans un wrapper. + + + + + Initialise une nouvelle instance de la classe qui contient le type privé. + + Nom de l'assembly + nom complet de + + + + Initialise une nouvelle instance de la classe qui contient + le type privé de l'objet de type + + Type inclus dans un wrapper à créer. + + + + Obtient le type référencé + + + + + Appelle un membre statique + + Nom du membre InvokeHelper + Arguments de l'appel + Résultat de l'appel + + + + Appelle un membre statique + + Nom du membre InvokeHelper + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à appeler + Arguments de l'appel + Résultat de l'appel + + + + Appelle un membre statique + + Nom du membre InvokeHelper + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à appeler + Arguments de l'appel + Tableau de types correspondant aux types des arguments génériques. + Résultat de l'appel + + + + Appelle la méthode statique + + Nom du membre + Arguments de l'appel + Culture + Résultat de l'appel + + + + Appelle la méthode statique + + Nom du membre + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à appeler + Arguments de l'appel + Informations sur la culture + Résultat de l'appel + + + + Appelle la méthode statique + + Nom du membre + Attributs d'appel supplémentaires + Arguments de l'appel + Résultat de l'appel + + + + Appelle la méthode statique + + Nom du membre + Attributs d'appel supplémentaires + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à appeler + Arguments de l'appel + Résultat de l'appel + + + + Appelle la méthode statique + + Nom du membre + Attributs d'appel supplémentaires + Arguments de l'appel + Culture + Résultat de l'appel + + + + Appelle la méthode statique + + Nom du membre + Attributs d'appel supplémentaires + /// Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à appeler + Arguments de l'appel + Culture + Résultat de l'appel + + + + Appelle la méthode statique + + Nom du membre + Attributs d'appel supplémentaires + /// Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la méthode à appeler + Arguments de l'appel + Culture + Tableau de types correspondant aux types des arguments génériques. + Résultat de l'appel + + + + Obtient l'élément dans le tableau statique + + Nom du tableau + + Tableau unidimensionnel d'entiers 32 bits qui représentent les index spécifiant + la position de l'élément à obtenir. Par exemple, pour accéder à a[10][11], les indices sont {10,11} + + élément à l'emplacement spécifié + + + + Définit le membre du tableau statique + + Nom du tableau + valeur à définir + + Tableau unidimensionnel d'entiers 32 bits qui représentent les index spécifiant + la position de l'élément à définir. Par exemple, pour accéder à a[10][11], le tableau est {10,11} + + + + + Obtient l'élément dans le tableau statique + + Nom du tableau + Attributs InvokeHelper supplémentaires + + Tableau unidimensionnel d'entiers 32 bits qui représentent les index spécifiant + la position de l'élément à obtenir. Par exemple, pour accéder à a[10][11], le tableau est {10,11} + + élément à l'emplacement spécifié + + + + Définit le membre du tableau statique + + Nom du tableau + Attributs InvokeHelper supplémentaires + valeur à définir + + Tableau unidimensionnel d'entiers 32 bits qui représentent les index spécifiant + la position de l'élément à définir. Par exemple, pour accéder à a[10][11], le tableau est {10,11} + + + + + Obtient le champ static + + Nom du champ + Champ static. + + + + Définit le champ static + + Nom du champ + Argument de l'appel + + + + Obtient le champ static à l'aide des attributs InvokeHelper spécifiés + + Nom du champ + Attributs d'appel supplémentaires + Champ static. + + + + Définit le champ static à l'aide des attributs de liaison + + Nom du champ + Attributs InvokeHelper supplémentaires + Argument de l'appel + + + + Obtient le champ ou la propriété statique + + Nom du champ ou de la propriété + Champ ou propriété statique. + + + + Définit le champ ou la propriété statique + + Nom du champ ou de la propriété + Valeur à affecter au champ ou à la propriété + + + + Obtient le champ ou la propriété statique à l'aide des attributs InvokeHelper spécifiés + + Nom du champ ou de la propriété + Attributs d'appel supplémentaires + Champ ou propriété statique. + + + + Définit le champ ou la propriété statique à l'aide des attributs de liaison + + Nom du champ ou de la propriété + Attributs d'appel supplémentaires + Valeur à affecter au champ ou à la propriété + + + + Obtient la propriété statique + + Nom du champ ou de la propriété + Arguments de l'appel + Propriété statique. + + + + Définit la propriété statique + + Nom de la propriété + Valeur à affecter au champ ou à la propriété + Arguments à passer au membre à appeler. + + + + Définit la propriété statique + + Nom de la propriété + Valeur à affecter au champ ou à la propriété + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la propriété indexée. + Arguments à passer au membre à appeler. + + + + Obtient la propriété statique + + Nom de la propriété + Attributs d'appel supplémentaires. + Arguments à passer au membre à appeler. + Propriété statique. + + + + Obtient la propriété statique + + Nom de la propriété + Attributs d'appel supplémentaires. + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la propriété indexée. + Arguments à passer au membre à appeler. + Propriété statique. + + + + Définit la propriété statique + + Nom de la propriété + Attributs d'appel supplémentaires. + Valeur à affecter au champ ou à la propriété + Valeurs d'index facultatives pour les propriétés indexées. Les index des propriétés indexées sont de base zéro. Cette valeur doit être null pour les propriétés non indexées. + + + + Définit la propriété statique + + Nom de la propriété + Attributs d'appel supplémentaires. + Valeur à affecter au champ ou à la propriété + Tableau qui contient des objets représentant le nombre, l'ordre et le type des paramètres de la propriété indexée. + Arguments à passer au membre à appeler. + + + + Appelle la méthode statique + + Nom du membre + Attributs d'appel supplémentaires + Arguments de l'appel + Culture + Résultat de l'appel + + + + Fournit la découverte de signatures de méthodes pour les méthodes génériques. + + + + + Compare les signatures de méthode de ces deux méthodes. + + Method1 + Method2 + True en cas de similitude. + + + + Obtient la profondeur de la hiérarchie à partir du type de base du type fourni. + + Type. + Profondeur. + + + + Recherche le type le plus dérivé à l'aide des informations fournies. + + Concordances. + Nombre de correspondances. + Méthode la plus dérivée. + + + + À partir d'un ensemble de méthodes qui correspondent aux critères de base, sélectionnez une méthode + reposant sur un tableau de types. Cette méthode doit retourner une valeur null, si aucune méthode ne correspond + aux critères. + + Spécification de liaison. + Concordances + Types + Modificateurs des paramètres. + Méthode de concordance. Null en l'absence de concordance. + + + + Recherche la méthode la plus spécifique parmi les deux méthodes fournies. + + Méthode 1 + Ordre des paramètres pour la méthode 1 + Type du tableau de paramètres. + Méthode 2 + Ordre des paramètres pour la méthode 2 + >Type du tableau de paramètres. + Types à rechercher. + Args. + Type int représentant la concordance. + + + + Recherche la méthode la plus spécifique parmi les deux méthodes fournies. + + Méthode 1 + Ordre des paramètres pour la méthode 1 + Type du tableau de paramètres. + Méthode 2 + Ordre des paramètres pour la méthode 2 + >Type du tableau de paramètres. + Types à rechercher. + Args. + Type int représentant la concordance. + + + + Recherche le type le plus spécifique parmi les deux types fournis. + + Type 1 + Type 2 + Type de définition + Type int représentant la concordance. + + + + Permet de stocker les informations fournies pour les tests unitaires. + + + + + Obtient les propriétés de test d'un test. + + + + + Obtient la ligne de données active quand le test est utilisé pour un test piloté par les données. + + + + + Obtient la ligne de la connexion de données active quand le test est utilisé pour un test piloté par les données. + + + + + Obtient le répertoire de base de la série de tests, sous lequel sont stockés les fichiers déployés et les fichiers de résultats. + + + + + Obtient le répertoire des fichiers déployés pour la série de tests. Généralement, il s'agit d'un sous-répertoire de . + + + + + Obtient le répertoire de base des résultats de la série de tests. Généralement, il s'agit d'un sous-répertoire de . + + + + + Obtient le répertoire des fichiers de résultats des séries de tests. Généralement, il s'agit d'un sous-répertoire de . + + + + + Obtient le répertoire des fichiers de résultats des tests. + + + + + Obtient le répertoire de base de la série de tests, sous lequel sont stockés les fichiers déployés et les fichiers de résultats. + Identique à . Utilisez cette propriété à la place. + + + + + Obtient le répertoire des fichiers déployés pour la série de tests. Généralement, il s'agit d'un sous-répertoire de . + Identique à . Utilisez cette propriété à la place. + + + + + Obtient le répertoire des fichiers de résultats des séries de tests. Généralement, il s'agit d'un sous-répertoire de . + Identique à . Utilisez cette propriété pour les fichiers de résultats des séries de tests, ou + pour les fichiers de résultats des tests spécifiques, à la place. + + + + + Obtient le nom complet de la classe contenant la méthode de test en cours d'exécution + + + + + Obtient le nom de la méthode de test en cours d'exécution + + + + + Obtient le résultat de test actuel. + + + + + Permet d'écrire des messages de suivi quand le test est en cours d'exécution + + chaîne de message mise en forme + + + + Permet d'écrire des messages de suivi quand le test est en cours d'exécution + + chaîne de format + arguments + + + + Ajoute un nom de fichier à la liste dans TestResult.ResultFileNames + + + Nom du fichier. + + + + + Démarre un minuteur ayant le nom spécifié + + Nom du minuteur. + + + + Met fin à un minuteur ayant le nom spécifié + + Nom du minuteur. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..2d63dc0 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod pour exécution. + + + + + Obtient le nom de la méthode de test. + + + + + Obtient le nom de la classe de test. + + + + + Obtient le type de retour de la méthode de test. + + + + + Obtient les paramètres de la méthode de test. + + + + + Obtient le methodInfo de la méthode de test. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Appelle la méthode de test. + + + Arguments à passer à la méthode de test. (Exemple : pour un test piloté par les données) + + + Résultat de l'appel de la méthode de test. + + + This call handles asynchronous test methods as well. + + + + + Obtient tous les attributs de la méthode de test. + + + Indique si l'attribut défini dans la classe parente est valide. + + + Tous les attributs. + + + + + Obtient l'attribut du type spécifique. + + System.Attribute type. + + Indique si l'attribut défini dans la classe parente est valide. + + + Attributs du type spécifié. + + + + + Assistance. + + + + + Paramètre de vérification non null. + + + Paramètre. + + + Nom du paramètre. + + + Message. + + Throws argument null exception when parameter is null. + + + + Paramètre de vérification non null ou vide. + + + Paramètre. + + + Nom du paramètre. + + + Message. + + Throws ArgumentException when parameter is null. + + + + Énumération liée à la façon dont nous accédons aux lignes de données dans les tests pilotés par les données. + + + + + Les lignes sont retournées dans un ordre séquentiel. + + + + + Les lignes sont retournées dans un ordre aléatoire. + + + + + Attribut permettant de définir les données inline d'une méthode de test. + + + + + Initialise une nouvelle instance de la classe . + + Objet de données. + + + + Initialise une nouvelle instance de la classe qui accepte un tableau d'arguments. + + Objet de données. + Plus de données. + + + + Obtient les données permettant d'appeler la méthode de test. + + + + + Obtient ou définit le nom d'affichage dans les résultats des tests à des fins de personnalisation. + + + + + Exception d'assertion non concluante. + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Initialise une nouvelle instance de la classe . + + + + + Classe InternalTestFailureException. Sert à indiquer l'échec interne d'un cas de test + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initialise une nouvelle instance de la classe . + + Message d'exception. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message d'exception. + + + + Initialise une nouvelle instance de la classe . + + + + + Attribut indiquant d'attendre une exception du type spécifié + + + + + Initialise une nouvelle instance de la classe avec le type attendu + + Type de l'exception attendue + + + + Initialise une nouvelle instance de la classe avec + le type attendu et le message à inclure quand aucune exception n'est levée par le test. + + Type de l'exception attendue + + Message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient une valeur indiquant le type de l'exception attendue + + + + + Obtient ou définit une valeur indiquant si les types dérivés du type de l'exception attendue peuvent + être éligibles comme prévu + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Vérifie que le type de l'exception levée par le test unitaire est bien attendu + + Exception levée par le test unitaire + + + + Classe de base des attributs qui spécifient d'attendre une exception d'un test unitaire + + + + + Initialise une nouvelle instance de la classe avec un message d'absence d'exception par défaut + + + + + Initialise une nouvelle instance de la classe avec un message d'absence d'exception + + + Message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une + exception + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient le message d'absence d'exception par défaut + + Nom du type de l'attribut ExpectedException + Message d'absence d'exception par défaut + + + + Détermine si l'exception est attendue. Si la méthode est retournée, cela + signifie que l'exception est attendue. Si la méthode lève une exception, cela + signifie que l'exception n'est pas attendue, et que le message de l'exception levée + est inclus dans le résultat de test. La classe peut être utilisée par + commodité. Si est utilisé et si l'assertion est un échec, + le résultat de test a la valeur Non concluant. + + Exception levée par le test unitaire + + + + Lève à nouveau l'exception, s'il s'agit de AssertFailedException ou de AssertInconclusiveException + + Exception à lever de nouveau, s'il s'agit d'une exception d'assertion + + + + Cette classe permet à l'utilisateur d'effectuer des tests unitaires pour les types basés sur des types génériques. + GenericParameterHelper répond à certaines contraintes usuelles des types génériques, + exemple : + 1. constructeur par défaut public + 2. implémentation d'une interface commune : IComparable, IEnumerable + + + + + Initialise une nouvelle instance de la classe qui + répond à la contrainte 'newable' dans les génériques C#. + + + This constructor initializes the Data property to a random value. + + + + + Initialise une nouvelle instance de la classe qui + initialise la propriété Data en lui assignant une valeur fournie par l'utilisateur. + + Valeur entière + + + + Obtient ou définit les données + + + + + Compare la valeur de deux objets GenericParameterHelper + + objet à comparer + true si obj a la même valeur que l'objet GenericParameterHelper de 'this'. + sinon false. + + + + Retourne un code de hachage pour cet objet. + + Code de hachage. + + + + Compare les données des deux objets . + + Objet à comparer. + + Nombre signé indiquant les valeurs relatives de cette instance et de cette valeur. + + + Thrown when the object passed in is not an instance of . + + + + + Retourne un objet IEnumerator dont la longueur est dérivée de + la propriété Data. + + Objet IEnumerator + + + + Retourne un objet GenericParameterHelper égal à + l'objet actuel. + + Objet cloné. + + + + Permet aux utilisateurs de journaliser/d'écrire des traces de tests unitaires à des fins de diagnostic. + + + + + Gestionnaire de LogMessage. + + Message à journaliser. + + + + Événement à écouter. Déclenché quand le writer de test unitaire écrit un message. + Sert principalement à être consommé par un adaptateur. + + + + + API à appeler par le writer de test pour journaliser les messages. + + Format de chaîne avec des espaces réservés. + Paramètres des espaces réservés. + + + + Attribut TestCategory utilisé pour spécifier la catégorie d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe et applique la catégorie au test. + + + Catégorie de test. + + + + + Obtient les catégories de test appliquées au test. + + + + + Classe de base de l'attribut "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initialise une nouvelle instance de la classe . + Applique la catégorie au test. Les chaînes retournées par TestCategories + sont utilisées avec la commande /category pour filtrer les tests + + + + + Obtient la catégorie de test appliquée au test. + + + + + Classe AssertFailedException. Sert à indiquer l'échec d'un cas de test + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Initialise une nouvelle instance de la classe . + + + + + Collection de classes d'assistance permettant de tester diverses conditions dans + des tests unitaires. Si la condition testée n'est pas remplie, une exception + est levée. + + + + + Obtient l'instance singleton de la fonctionnalité Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Message à inclure dans l'exception quand + est false. Le message s'affiche dans les résultats des tests. + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Message à inclure dans l'exception quand + est false. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Thrown if is true. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Message à inclure dans l'exception quand + est true. Le message s'affiche dans les résultats des tests. + + + Thrown if is true. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Message à inclure dans l'exception quand + est true. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is true. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + n'a pas une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + n'a pas une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Thrown if is null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + a une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if is null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + a une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is null. + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas identique à . Le message s'affiche + dans les résultats des tests. + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas identique à . Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if refers to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est identique à . Le message s'affiche dans + les résultats des tests. + + + Thrown if refers to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est identique à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if refers to the same object + as . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if is not equal to . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if is equal to . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Message à inclure dans l'exception quand + n'est pas une instance de . Le message + s'affiche dans les résultats des tests. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Message à inclure dans l'exception quand + n'est pas une instance de . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Message à inclure dans l'exception quand + est une instance de . Le message s'affiche + dans les résultats des tests. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Message à inclure dans l'exception quand + est une instance de . Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Lève AssertFailedException. + + + Always thrown. + + + + + Lève AssertFailedException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Always thrown. + + + + + Lève AssertFailedException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Always thrown. + + + + + Les surcharges statiques d'equals comparent les instances de deux types pour déterminer si leurs références sont + égales entre elles. Cette méthode ne doit pas être utilisée pour évaluer si deux instances sont + égales entre elles. Cet objet est toujours levé avec Assert.Fail. Utilisez + Assert.AreEqual et les surcharges associées dans vos tests unitaires. + + Objet A + Objet B + False, toujours. + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève AssertFailedException si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + Délégué du code à tester et censé lever une exception. + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève AssertFailedException si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + Délégué du code à tester et censé lever une exception. + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Remplace les caractères Null ('\0') par "\\0". + + + Chaîne à rechercher. + + + Chaîne convertie où les caractères null sont remplacés par "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Fonction d'assistance qui crée et lève AssertionFailedException + + + nom de l'assertion levant une exception + + + message décrivant les conditions de l'échec d'assertion + + + Paramètres. + + + + + Vérifie la validité des conditions du paramètre + + + Paramètre. + + + Nom de l'assertion. + + + nom du paramètre + + + message d'exception liée à un paramètre non valide + + + Paramètres. + + + + + Convertit en toute sécurité un objet en chaîne, en gérant les valeurs null et les caractères Null. + Les valeurs null sont converties en "(null)". Les caractères Null sont convertis en "\\0". + + + Objet à convertir en chaîne. + + + Chaîne convertie. + + + + + Assertion de chaîne. + + + + + Obtient l'instance singleton de la fonctionnalité CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Message à inclure dans l'exception quand + ne commence pas par . Le message + s'affiche dans les résultats des tests. + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Message à inclure dans l'exception quand + ne commence pas par . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Thrown if does not end with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Message à inclure dans l'exception quand + ne finit pas par . Le message + s'affiche dans les résultats des tests. + + + Thrown if does not end with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Message à inclure dans l'exception quand + ne finit pas par . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not end with + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Message à inclure dans l'exception quand + ne correspond pas . Le message s'affiche dans + les résultats des tests. + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Message à inclure dans l'exception quand + ne correspond pas . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Thrown if matches . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Message à inclure dans l'exception quand + correspond à . Le message s'affiche dans les + résultats des tests. + + + Thrown if matches . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Message à inclure dans l'exception quand + correspond à . Le message s'affiche dans les + résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if matches . + + + + + Collection de classes d'assistance permettant de tester diverses conditions associées + à des collections dans les tests unitaires. Si la condition testée n'est pas + remplie, une exception est levée. + + + + + Obtient l'instance singleton de la fonctionnalité CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Thrown if is found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Message à inclure dans l'exception quand + est dans . Le message s'affiche dans les + résultats des tests. + + + Thrown if is found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Message à inclure dans l'exception quand + est dans . Le message s'affiche dans les + résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is found in + . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Message à inclure dans l'exception quand + contient un élément ayant une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Message à inclure dans l'exception quand + contient un élément ayant une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Message à inclure dans l'exception quand + contient au moins un élément dupliqué. Le message s'affiche dans + les résultats des tests. + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Message à inclure dans l'exception quand + contient au moins un élément dupliqué. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Thrown if an element in is not found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Message à inclure dans l'exception quand un élément présent dans + est introuvable dans . + Le message s'affiche dans les résultats des tests. + + + Thrown if an element in is not found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Message à inclure dans l'exception quand un élément présent dans + est introuvable dans . + Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element in is not found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Thrown if every element in is also found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Message à inclure dans l'exception quand chaque élément présent dans + est également trouvé dans . + Le message s'affiche dans les résultats des tests. + + + Thrown if every element in is also found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Message à inclure dans l'exception quand chaque élément présent dans + est également trouvé dans . + Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if every element in is also found in + . + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand un élément est trouvé + dans l'une des collections mais pas l'autre. Le message s'affiche + dans les résultats des tests. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand un élément est trouvé + dans l'une des collections mais pas l'autre. Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand + contient les mêmes éléments que . Le message + s'affiche dans les résultats des tests. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand + contient les mêmes éléments que . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Message à inclure dans l'exception quand un élément présent dans + n'est pas une instance de + . Le message s'affiche dans les résultats des tests. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Message à inclure dans l'exception quand un élément présent dans + n'est pas une instance de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Détermine si la première collection est un sous-ensemble de la seconde + collection. Si l'un des deux ensembles contient des éléments dupliqués, le nombre + d'occurrences de l'élément dans le sous-ensemble doit être inférieur ou + égal au nombre d'occurrences dans le sur-ensemble. + + + Collection dans laquelle le test est censé être contenu . + + + Collection que le test est censé contenir . + + + True si est un sous-ensemble de + , sinon false. + + + + + Construit un dictionnaire contenant le nombre d'occurrences de chaque + élément dans la collection spécifiée. + + + Collection à traiter. + + + Nombre d'éléments de valeur null dans la collection. + + + Dictionnaire contenant le nombre d'occurrences de chaque élément + dans la collection spécifiée. + + + + + Recherche un élément incompatible parmi les deux collections. Un élément incompatible + est un élément qui n'apparaît pas avec la même fréquence dans la + collection attendue et dans la collection réelle. Les + collections sont supposées être des références non null distinctes ayant le + même nombre d'éléments. L'appelant est responsable de ce niveau de + vérification. S'il n'existe aucun élément incompatible, la fonction retourne + la valeur false et les paramètres out ne doivent pas être utilisés. + + + Première collection à comparer. + + + Seconde collection à comparer. + + + Nombre attendu d'occurrences de + ou 0, s'il n'y a aucune incompatibilité + des éléments. + + + Nombre réel d'occurrences de + ou 0, s'il n'y a aucune incompatibilité + des éléments. + + + Élément incompatible (pouvant avoir une valeur null), ou valeur null s'il n'existe aucun + élément incompatible. + + + true si un élément incompatible est trouvé ; sinon, false. + + + + + compare les objets via object.Equals + + + + + Classe de base pour les exceptions de framework. + + + + + Initialise une nouvelle instance de la classe . + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. + + + + + Retourne l'instance ResourceManager mise en cache utilisée par cette classe. + + + + + Remplace la propriété CurrentUICulture du thread actuel pour toutes + les recherches de ressources à l'aide de cette classe de ressource fortement typée. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne Access comporte une syntaxe non valide. + + + + + Recherche une chaîne localisée semblable à celle-ci : La collection attendue contient {1} occurrence(s) de <{2}>. La collection réelle contient {3} occurrence(s). {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Un élément dupliqué a été trouvé : <{1}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1}>. La casse est différente pour la valeur réelle : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Différence attendue non supérieure à <{3}> comprise entre la valeur attendue <{1}> et la valeur réelle <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1} ({2})>. Réel : <{3} ({4})>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1}>. Réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Différence attendue supérieure à <{3}> comprise entre la valeur attendue <{1}> et la valeur réelle <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Toute valeur attendue sauf : <{1}>. Réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Ne passez pas de types valeur à AreSame(). Les valeurs converties en Object ne seront plus jamais les mêmes. Si possible, utilisez AreEqual(). {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Échec de {0}. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : async TestMethod utilisé avec UITestMethodAttribute n'est pas pris en charge. Supprimez async ou utilisez TestMethodAttribute. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections sont vides. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections contiennent des éléments identiques. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections Reference pointent vers le même objet Collection. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections contiennent les mêmes éléments. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0}({1}). + + + + + Recherche une chaîne localisée semblable à celle-ci : (null). + + + + + Recherche une chaîne localisée semblable à celle-ci : (objet). + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne contient pas la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0} ({1}). + + + + + Recherche une chaîne localisée semblable à celle-ci : Assert.Equals ne doit pas être utilisé pour les assertions. Utilisez Assert.AreEqual et des surcharges à la place. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le nombre d'éléments dans les collections ne correspond pas. Attendu : <{1}>. Réel : <{2}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les éléments à l'index {0} ne correspondent pas. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'élément à l'index {1} n'est pas du type attendu. Type attendu : <{2}>. Type réel : <{3}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'élément à l'index {1} est (null). Type attendu : <{2}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne se termine pas par la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Argument non valide - EqualsTester ne peut pas utiliser de valeurs null. + + + + + Recherche une chaîne localisée semblable à celle-ci : Impossible de convertir un objet de type {0} en {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'objet interne référencé n'est plus valide. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le paramètre '{0}' est non valide. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La propriété {0} a le type {1} ; type attendu {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0} Type attendu : <{1}>. Type réel : <{2}>. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne correspond pas au modèle '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Type incorrect : <{1}>. Type réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' correspond au modèle '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Aucun DataRowAttribute spécifié. Au moins un DataRowAttribute est nécessaire avec DataTestMethodAttribute. + + + + + Recherche une chaîne localisée semblable à celle-ci : Aucune exception levée. Exception {1} attendue. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le paramètre '{0}' est non valide. La valeur ne peut pas être null. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Nombre d'éléments différent. + + + + + Recherche une chaîne localisée semblable à celle-ci : + Le constructeur doté de la signature spécifiée est introuvable. Vous devrez peut-être régénérer votre accesseur private, + ou le membre est peut-être private et défini sur une classe de base. Si le dernier cas est vrai, vous devez transmettre le type + qui définit le membre dans le constructeur de PrivateObject. + . + + + + + Recherche une chaîne localisée semblable à celle-ci : + Le membre spécifié ({0}) est introuvable. Vous devrez peut-être régénérer votre accesseur private, + ou le membre est peut-être private et défini sur une classe de base. Si le dernier cas est vrai, vous devez transmettre le type + qui définit le membre dans le constructeur de PrivateObject. + . + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne commence pas par la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le type de l'exception attendue doit être System.Exception ou un type dérivé de System.Exception. + + + + + Recherche une chaîne localisée semblable à celle-ci : (Échec de la réception du message pour une exception de type {0} en raison d'une exception.). + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test n'a pas levé l'exception attendue {0}. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test n'a pas levé d'exception. Une exception était attendue par l'attribut {0} défini sur la méthode de test. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test a levé l'exception {0}, mais l'exception {1} était attendue. Message d'exception : {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test a levé l'exception {0}, mais l'exception {1} (ou un type dérivé de cette dernière) était attendue. Message d'exception : {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'exception {2} a été levée, mais l'exception {1} était attendue. {0} + Message d'exception : {3} + Arborescence des appels de procédure : {4}. + + + + + résultats du test unitaire + + + + + Le test a été exécuté mais des problèmes se sont produits. + Il peut s'agir de problèmes liés à des exceptions ou des échecs d'assertion. + + + + + Test effectué, mais nous ne pouvons pas dire s'il s'agit d'une réussite ou d'un échec. + Utilisable éventuellement pour les tests abandonnés. + + + + + Le test a été exécuté sans problème. + + + + + Le test est en cours d'exécution. + + + + + Une erreur système s'est produite pendant que nous tentions d'exécuter un test. + + + + + Délai d'expiration du test. + + + + + Test abandonné par l'utilisateur. + + + + + Le test est dans un état inconnu + + + + + Fournit une fonctionnalité d'assistance pour le framework de tests unitaires + + + + + Obtient les messages d'exception, notamment les messages de toutes les exceptions internes + de manière récursive + + Exception pour laquelle les messages sont obtenus + chaîne avec les informations du message d'erreur + + + + Énumération des délais d'expiration, qui peut être utilisée avec la classe . + Le type de l'énumération doit correspondre + + + + + Infini. + + + + + Attribut de la classe de test. + + + + + Obtient un attribut de méthode de test qui permet d'exécuter ce test. + + Instance d'attribut de méthode de test définie sur cette méthode. + Le à utiliser pour exécuter ce test. + Extensions can override this method to customize how all methods in a class are run. + + + + Attribut de la méthode de test. + + + + + Exécute une méthode de test. + + Méthode de test à exécuter. + Tableau d'objets TestResult qui représentent le ou les résultats du test. + Extensions can override this method to customize running a TestMethod. + + + + Attribut d'initialisation du test. + + + + + Attribut de nettoyage du test. + + + + + Attribut ignore. + + + + + Attribut de la propriété de test. + + + + + Initialise une nouvelle instance de la classe . + + + Nom. + + + Valeur. + + + + + Obtient le nom. + + + + + Obtient la valeur. + + + + + Attribut d'initialisation de la classe. + + + + + Attribut de nettoyage de la classe. + + + + + Attribut d'initialisation de l'assembly. + + + + + Attribut de nettoyage de l'assembly. + + + + + Propriétaire du test + + + + + Initialise une nouvelle instance de la classe . + + + Propriétaire. + + + + + Obtient le propriétaire. + + + + + Attribut Priority utilisé pour spécifier la priorité d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe . + + + Priorité. + + + + + Obtient la priorité. + + + + + Description du test + + + + + Initialise une nouvelle instance de la classe pour décrire un test. + + Description. + + + + Obtient la description d'un test. + + + + + URI de structure de projet CSS + + + + + Initialise une nouvelle instance de la classe pour l'URI de structure de projet CSS. + + URI de structure de projet CSS. + + + + Obtient l'URI de structure de projet CSS. + + + + + URI d'itération CSS + + + + + Initialise une nouvelle instance de la classe pour l'URI d'itération CSS. + + URI d'itération CSS. + + + + Obtient l'URI d'itération CSS. + + + + + Attribut WorkItem permettant de spécifier un élément de travail associé à ce test. + + + + + Initialise une nouvelle instance de la classe pour l'attribut WorkItem. + + ID d'un élément de travail. + + + + Obtient l'ID d'un élément de travail associé. + + + + + Attribut Timeout utilisé pour spécifier le délai d'expiration d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe . + + + Délai d'expiration. + + + + + Initialise une nouvelle instance de la classe avec un délai d'expiration prédéfini + + + Délai d'expiration + + + + + Obtient le délai d'attente. + + + + + Objet TestResult à retourner à l'adaptateur. + + + + + Initialise une nouvelle instance de la classe . + + + + + Obtient ou définit le nom d'affichage du résultat. Utile pour retourner plusieurs résultats. + En cas de valeur null, le nom de la méthode est utilisé en tant que DisplayName. + + + + + Obtient ou définit le résultat de l'exécution du test. + + + + + Obtient ou définit l'exception levée en cas d'échec du test. + + + + + Obtient ou définit la sortie du message journalisé par le code de test. + + + + + Obtient ou définit la sortie du message journalisé par le code de test. + + + + + Obtient ou définit les traces de débogage du code de test. + + + + + Gets or sets the debug traces by test code. + + + + + Obtient ou définit la durée de l'exécution du test. + + + + + Obtient ou définit l'index de ligne de données dans la source de données. Défini uniquement pour les résultats de + l'exécution individuelle de la ligne de données d'un test piloté par les données. + + + + + Obtient ou définit la valeur renvoyée de la méthode de test. (Toujours null). + + + + + Obtient ou définit les fichiers de résultats attachés par le test. + + + + + Spécifie la chaîne de connexion, le nom de la table et la méthode d'accès aux lignes pour les tests pilotés par les données. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nom du fournisseur par défaut de DataSource. + + + + + Méthode d'accès aux données par défaut. + + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec un fournisseur de données, une chaîne de connexion, une table de données et une méthode d'accès aux données pour accéder à la source de données. + + Nom du fournisseur de données invariant, par exemple System.Data.SqlClient + + Chaîne de connexion spécifique au fournisseur de données. + AVERTISSEMENT : La chaîne de connexion peut contenir des données sensibles (par exemple, un mot de passe). + La chaîne de connexion est stockée en texte brut dans le code source et dans l'assembly compilé. + Restreignez l'accès au code source et à l'assembly pour protéger ces informations sensibles. + + Nom de la table de données. + Spécifie l'ordre d'accès aux données. + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec une chaîne de connexion et un nom de table. + Spécifiez la chaîne de connexion et la table de données permettant d'accéder à la source de données OLEDB. + + + Chaîne de connexion spécifique au fournisseur de données. + AVERTISSEMENT : La chaîne de connexion peut contenir des données sensibles (par exemple, un mot de passe). + La chaîne de connexion est stockée en texte brut dans le code source et dans l'assembly compilé. + Restreignez l'accès au code source et à l'assembly pour protéger ces informations sensibles. + + Nom de la table de données. + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec un fournisseur de données et une chaîne de connexion associés au nom du paramètre. + + Nom d'une source de données trouvée dans la section <microsoft.visualstudio.qualitytools> du fichier app.config. + + + + Obtient une valeur représentant le fournisseur de données de la source de données. + + + Nom du fournisseur de données. Si aucun fournisseur de données n'a été désigné au moment de l'initialisation de l'objet, le fournisseur par défaut de System.Data.OleDb est retourné. + + + + + Obtient une valeur représentant la chaîne de connexion de la source de données. + + + + + Obtient une valeur indiquant le nom de la table qui fournit les données. + + + + + Obtient la méthode utilisée pour accéder à la source de données. + + + + Une des valeurs possibles. Si n'est pas initialisé, ce qui entraîne le retour de la valeur par défaut . + + + + + Obtient le nom d'une source de données trouvée dans la section <microsoft.visualstudio.qualitytools> du fichier app.config. + + + + + Attribut du test piloté par les données, où les données peuvent être spécifiées inline. + + + + + Recherche toutes les lignes de données et les exécute. + + + Méthode de test. + + + Tableau des . + + + + + Exécute la méthode de test piloté par les données. + + Méthode de test à exécuter. + Ligne de données. + Résultats de l'exécution. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..d743158 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Usato per specificare l'elemento di distribuzione (file o directory) per la distribuzione per singolo test. + Può essere specificato in classi o metodi di test. + Può contenere più istanze dell'attributo per specificare più di un elemento. + Il percorso dell'elemento può essere assoluto o relativo; se è relativo, è relativo rispetto a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Inizializza una nuova istanza della classe . + + File o directory per la distribuzione. Il percorso è relativo alla directory di output della compilazione. L'elemento verrà copiato nella stessa directory degli assembly di test distribuiti. + + + + Inizializza una nuova istanza della classe + + Percorso relativo o assoluto del file o della directory per la distribuzione. Il percorso è relativo alla directory di output della compilazione. L'elemento verrà copiato nella stessa directory degli assembly di test distribuiti. + Percorso della directory in cui vengono copiati gli elementi. Può essere assoluto o relativo rispetto alla directory di distribuzione. Tutte le directory e tutti i file identificati da verranno copiati in questa directory. + + + + Ottiene il percorso della cartella o del file di origine da copiare. + + + + + Ottiene il percorso della directory in cui viene copiato l'elemento. + + + + + Contiene i valori letterali relativi ai nomi di sezioni, proprietà, attributi. + + + + + Nome della sezione di configurazione. + + + + + Nome della sezione della configurazione per Beta2. Opzione lasciata per garantire la compatibilità. + + + + + Nome della sezione per l'origine dati. + + + + + Nome di attributo per 'Name' + + + + + Nome di attributo per 'ConnectionString' + + + + + Nome di attributo per 'DataAccessMethod' + + + + + Nome di attributo per 'DataTable' + + + + + Elemento dell'origine dati. + + + + + Ottiene o imposta il nome di questa configurazione. + + + + + Ottiene o imposta l'elemento ConnectionStringSettings nella sezione <connectionStrings> del file con estensione config. + + + + + Ottiene o imposta il nome della tabella dati. + + + + + Ottiene o imposta il tipo di accesso ai dati. + + + + + Ottiene il nome della chiave. + + + + + Ottiene le proprietà di configurazione. + + + + + Raccolta di elementi dell'origine dati. + + + + + Inizializza una nuova istanza della classe . + + + + + Restituisce l'elemento di configurazione con la chiave specificata. + + Chiave dell'elemento da restituire. + Elemento System.Configuration.ConfigurationElement con la chiave specificata; in caso contrario, Null. + + + + Ottiene l'elemento di configurazione nella posizione di indice specificata. + + Posizione di indice dell'elemento System.Configuration.ConfigurationElement da restituire. + + + + Aggiunge un elemento di configurazione alla raccolta di elementi di configurazione. + + Elemento System.Configuration.ConfigurationElement da aggiungere. + + + + Rimuove un elemento System.Configuration.ConfigurationElement dalla raccolta. + + Elemento . + + + + Rimuove un elemento System.Configuration.ConfigurationElement dalla raccolta. + + Chiave dell'elemento System.Configuration.ConfigurationElement da rimuovere. + + + + Rimuove tutti gli oggetti degli elementi di configurazione dalla raccolta. + + + + + Crea un nuovo oggetto . + + Nuovo elemento . + + + + Ottiene la chiave dell'elemento per un elemento di configurazione specificato. + + Elemento System.Configuration.ConfigurationElement per cui restituire la chiave. + Elemento System.Object che funge da chiave per l'elemento System.Configuration.ConfigurationElement specificato. + + + + Aggiunge un elemento di configurazione alla raccolta di elementi di configurazione. + + Elemento System.Configuration.ConfigurationElement da aggiungere. + + + + Aggiunge un elemento di configurazione alla raccolta di elementi di configurazione. + + Posizione di indice in cui aggiungere l'elemento System.Configuration.ConfigurationElement specificato. + Elemento System.Configuration.ConfigurationElement da aggiungere. + + + + Supporto per le impostazioni di configurazione per Test. + + + + + Ottiene la sezione della configurazione per i test. + + + + + Sezione della configurazione per i test. + + + + + Ottiene le origini dati per questa sezione della configurazione. + + + + + Ottiene la raccolta di proprietà. + + + delle proprietà per l'elemento. + + + + + Questa classe rappresenta l'oggetto INTERNO attivo NON pubblico nel sistema + + + + + Inizializza una nuova istanza della classe che contiene + l'oggetto già esistente della classe privata + + oggetto che funge da punto di partenza per raggiungere i membri privati + stringa di deferenziazione che usa . e punta all'oggetto da recuperare come in m_X.m_Y.m_Z + + + + Inizializza una nuova istanza della classe che esegue il wrapping del + tipo specificato. + + Nome dell'assembly + nome completo + Argomenti da passare al costruttore + + + + Inizializza una nuova istanza della classe che esegue il wrapping del + tipo specificato. + + Nome dell'assembly + nome completo + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al costruttore da ottenere + Argomenti da passare al costruttore + + + + Inizializza una nuova istanza della classe che esegue il wrapping del + tipo specificato. + + tipo dell'oggetto da creare + Argomenti da passare al costruttore + + + + Inizializza una nuova istanza della classe che esegue il wrapping del + tipo specificato. + + tipo dell'oggetto da creare + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al costruttore da ottenere + Argomenti da passare al costruttore + + + + Inizializza una nuova istanza della classe che esegue il wrapping + dell'oggetto specificato. + + oggetto di cui eseguire il wrapping + + + + Inizializza una nuova istanza della classe che esegue il wrapping + dell'oggetto specificato. + + oggetto di cui eseguire il wrapping + Oggetto PrivateType + + + + Ottiene o imposta la destinazione + + + + + Ottiene il tipo dell'oggetto sottostante + + + + + restituisce il codice hash dell'oggetto di destinazione + + int che rappresenta il codice hash dell'oggetto di destinazione + + + + È uguale a + + Oggetto con cui eseguire il confronto + restituisce true se gli oggetti sono uguali. + + + + Richiama il metodo specificato + + Nome del metodo + Argomenti da passare al membro da richiamare. + Risultato della chiamata al metodo + + + + Richiama il metodo specificato + + Nome del metodo + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da ottenere. + Argomenti da passare al membro da richiamare. + Risultato della chiamata al metodo + + + + Richiama il metodo specificato + + Nome del metodo + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da ottenere. + Argomenti da passare al membro da richiamare. + Matrice di tipi corrispondenti ai tipi degli argomenti generici. + Risultato della chiamata al metodo + + + + Richiama il metodo specificato + + Nome del metodo + Argomenti da passare al membro da richiamare. + Info su impostazioni cultura + Risultato della chiamata al metodo + + + + Richiama il metodo specificato + + Nome del metodo + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da ottenere. + Argomenti da passare al membro da richiamare. + Info su impostazioni cultura + Risultato della chiamata al metodo + + + + Richiama il metodo specificato + + Nome del metodo + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Argomenti da passare al membro da richiamare. + Risultato della chiamata al metodo + + + + Richiama il metodo specificato + + Nome del metodo + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da ottenere. + Argomenti da passare al membro da richiamare. + Risultato della chiamata al metodo + + + + Richiama il metodo specificato + + Nome del metodo + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Argomenti da passare al membro da richiamare. + Info su impostazioni cultura + Risultato della chiamata al metodo + + + + Richiama il metodo specificato + + Nome del metodo + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da ottenere. + Argomenti da passare al membro da richiamare. + Info su impostazioni cultura + Risultato della chiamata al metodo + + + + Richiama il metodo specificato + + Nome del metodo + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da ottenere. + Argomenti da passare al membro da richiamare. + Info su impostazioni cultura + Matrice di tipi corrispondenti ai tipi degli argomenti generici. + Risultato della chiamata al metodo + + + + Ottiene l'elemento di matrice usando la matrice di indici per ogni dimensione + + Nome del membro + indici della matrice + Matrice di elementi. + + + + Imposta l'elemento di matrice usando la matrice di indici per ogni dimensione + + Nome del membro + Valore da impostare + indici della matrice + + + + Ottiene l'elemento di matrice usando la matrice di indici per ogni dimensione + + Nome del membro + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + indici della matrice + Matrice di elementi. + + + + Imposta l'elemento di matrice usando la matrice di indici per ogni dimensione + + Nome del membro + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Valore da impostare + indici della matrice + + + + Ottiene il campo + + Nome del campo + Campo. + + + + Imposta il campo + + Nome del campo + valore da impostare + + + + Ottiene il campo + + Nome del campo + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Campo. + + + + Imposta il campo + + Nome del campo + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + valore da impostare + + + + Ottiene il campo o la proprietà + + Nome del campo o della proprietà + Campo o proprietà. + + + + Imposta il campo o la proprietà + + Nome del campo o della proprietà + valore da impostare + + + + Ottiene il campo o la proprietà + + Nome del campo o della proprietà + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Campo o proprietà. + + + + Imposta il campo o la proprietà + + Nome del campo o della proprietà + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + valore da impostare + + + + Ottiene la proprietà + + Nome della proprietà + Argomenti da passare al membro da richiamare. + Proprietà. + + + + Ottiene la proprietà + + Nome della proprietà + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi alla proprietà indicizzata. + Argomenti da passare al membro da richiamare. + Proprietà. + + + + Imposta la proprietà + + Nome della proprietà + valore da impostare + Argomenti da passare al membro da richiamare. + + + + Imposta la proprietà + + Nome della proprietà + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi alla proprietà indicizzata. + valore da impostare + Argomenti da passare al membro da richiamare. + + + + Ottiene la proprietà + + Nome della proprietà + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Argomenti da passare al membro da richiamare. + Proprietà. + + + + Ottiene la proprietà + + Nome della proprietà + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi alla proprietà indicizzata. + Argomenti da passare al membro da richiamare. + Proprietà. + + + + Imposta la proprietà + + Nome della proprietà + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + valore da impostare + Argomenti da passare al membro da richiamare. + + + + Imposta la proprietà + + Nome della proprietà + Maschera di bit costituita da uno o più che specificano in che modo viene eseguita la ricerca. + valore da impostare + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi alla proprietà indicizzata. + Argomenti da passare al membro da richiamare. + + + + Convalida la stringa di accesso + + stringa di accesso + + + + Richiama il membro + + Nome del membro + Attributi aggiuntivi + Argomenti della chiamata + Impostazioni cultura + Risultato della chiamata + + + + Estrae la firma del metodo generico più appropriata dal tipo privato corrente. + + Nome del metodo in cui cercare la cache delle firme. + Matrice di tipi corrispondenti ai tipi dei parametri in cui eseguire la ricerca. + Matrice di tipi corrispondenti ai tipi degli argomenti generici. + per filtrare ulteriormente le firme del metodo. + Modificatori per i parametri. + Istanza di MethodInfo. + + + + Questa classe rappresenta una classe privata per la funzionalità della funzione di accesso privata. + + + + + Esegue il binding a tutto + + + + + Tipo di cui è stato eseguito il wrapping. + + + + + Inizializza una nuova istanza della classe che contiene il tipo privato. + + Nome dell'assembly + nome completo del + + + + Inizializza una nuova istanza della classe che contiene + il tipo privato dell'oggetto tipo + + Oggetto Type con wrapping da creare. + + + + Ottiene il tipo di riferimento + + + + + Richiama il membro statico + + Nome del membro per InvokeHelper + Argomenti della chiamata + Risultato della chiamata + + + + Richiama il membro statico + + Nome del membro per InvokeHelper + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da richiamare + Argomenti della chiamata + Risultato della chiamata + + + + Richiama il membro statico + + Nome del membro per InvokeHelper + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da richiamare + Argomenti della chiamata + Matrice di tipi corrispondenti ai tipi degli argomenti generici. + Risultato della chiamata + + + + Richiama il metodo statico + + Nome del membro + Argomenti della chiamata + Impostazioni cultura + Risultato della chiamata + + + + Richiama il metodo statico + + Nome del membro + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da richiamare + Argomenti della chiamata + Info su impostazioni cultura + Risultato della chiamata + + + + Richiama il metodo statico + + Nome del membro + Attributi di chiamata aggiuntivi + Argomenti della chiamata + Risultato della chiamata + + + + Richiama il metodo statico + + Nome del membro + Attributi di chiamata aggiuntivi + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da richiamare + Argomenti della chiamata + Risultato della chiamata + + + + Richiama il metodo statico + + Nome del membro + Attributi di chiamata aggiuntivi + Argomenti della chiamata + Impostazioni cultura + Risultato della chiamata + + + + Richiama il metodo statico + + Nome del membro + Attributi di chiamata aggiuntivi + /// Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da richiamare + Argomenti della chiamata + Impostazioni cultura + Risultato della chiamata + + + + Richiama il metodo statico + + Nome del membro + Attributi di chiamata aggiuntivi + /// Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi al metodo da richiamare + Argomenti della chiamata + Impostazioni cultura + Matrice di tipi corrispondenti ai tipi degli argomenti generici. + Risultato della chiamata + + + + Ottiene l'elemento nella matrice statica + + Nome della matrice + + Matrice unidimensionale di valori interi a 32 bit che rappresentano gli indici che specificano + la posizione dell'elemento da ottenere. Ad esempio, per accedere a a[10][11], gli indici sono {10,11} + + elemento alla posizione specificata + + + + Imposta il membro della matrice statica + + Nome della matrice + valore da impostare + + Matrice unidimensionale di valori interi a 32 bit che rappresentano gli indici che specificano + la posizione dell'elemento da impostare. Ad esempio, per accedere a a[10][11], la matrice è {10,11} + + + + + Ottiene l'elemento nella matrice statica + + Nome della matrice + Attributi di InvokeHelper aggiuntivi + + Matrice unidimensionale di valori interi a 32 bit che rappresentano gli indici che specificano + la posizione dell'elemento da ottenere. Ad esempio, per accedere a a[10][11], la matrice è {10,11} + + elemento alla posizione specificata + + + + Imposta il membro della matrice statica + + Nome della matrice + Attributi di InvokeHelper aggiuntivi + valore da impostare + + Matrice unidimensionale di valori interi a 32 bit che rappresentano gli indici che specificano + la posizione dell'elemento da impostare. Ad esempio, per accedere a a[10][11], la matrice è {10,11} + + + + + Ottiene il campo statico + + Nome del campo + Campo statico. + + + + Imposta il campo statico + + Nome del campo + Argomento della chiamata + + + + Ottiene il campo statico usando gli attributi specificati di InvokeHelper + + Nome del campo + Attributi di chiamata aggiuntivi + Campo statico. + + + + Imposta il campo statico usando gli attributi di binding + + Nome del campo + Attributi di InvokeHelper aggiuntivi + Argomento della chiamata + + + + Ottiene la proprietà o il campo statico + + Nome del campo o della proprietà + Campo o proprietà statica. + + + + Imposta la proprietà o il campo statico + + Nome del campo o della proprietà + Valore da impostare sul campo o sulla proprietà + + + + Ottiene la proprietà o il campo statico usando gli attributi specificati di InvokeHelper + + Nome del campo o della proprietà + Attributi di chiamata aggiuntivi + Campo o proprietà statica. + + + + Imposta la proprietà o il campo statico usando gli attributi di binding + + Nome del campo o della proprietà + Attributi di chiamata aggiuntivi + Valore da impostare sul campo o sulla proprietà + + + + Ottiene la proprietà statica + + Nome del campo o della proprietà + Argomenti della chiamata + Proprietà statica. + + + + Imposta la proprietà statica + + Nome della proprietà + Valore da impostare sul campo o sulla proprietà + Argomenti da passare al membro da richiamare. + + + + Imposta la proprietà statica + + Nome della proprietà + Valore da impostare sul campo o sulla proprietà + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi alla proprietà indicizzata. + Argomenti da passare al membro da richiamare. + + + + Ottiene la proprietà statica + + Nome della proprietà + Attributi di chiamata aggiuntivi. + Argomenti da passare al membro da richiamare. + Proprietà statica. + + + + Ottiene la proprietà statica + + Nome della proprietà + Attributi di chiamata aggiuntivi. + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi alla proprietà indicizzata. + Argomenti da passare al membro da richiamare. + Proprietà statica. + + + + Imposta la proprietà statica + + Nome della proprietà + Attributi di chiamata aggiuntivi. + Valore da impostare sul campo o sulla proprietà + Valori di indice facoltativi per le proprietà indicizzate. Gli indici delle proprietà indicizzate sono in base zero. Questo valore deve essere Null per le proprietà non indicizzate. + + + + Imposta la proprietà statica + + Nome della proprietà + Attributi di chiamata aggiuntivi. + Valore da impostare sul campo o sulla proprietà + Matrice di oggetti che rappresentano numero, ordine e tipo dei parametri relativi alla proprietà indicizzata. + Argomenti da passare al membro da richiamare. + + + + Richiama il metodo statico + + Nome del membro + Attributi di chiamata aggiuntivi + Argomenti della chiamata + Impostazioni cultura + Risultato della chiamata + + + + Fornisce l'individuazione della firma del metodo per i metodi generici. + + + + + Confronta le firme di questi due metodi. + + Method1 + Method2 + True se sono simili. + + + + Ottiene la profondità della gerarchia dal tipo di base del tipo fornito. + + Tipo. + Profondità. + + + + Trova il tipo più derivato con le informazioni fornite. + + Corrispondenze possibili. + Numero di corrispondenze. + Metodo più derivato. + + + + Dato un set di metodi corrispondenti ai criteri di base, seleziona un metodo + basato su una matrice di tipi. Questo metodo deve restituire Null se nessun + metodo corrisponde ai criteri. + + Specifica del binding. + Corrispondenze possibili + Tipi + Modificatori di parametro. + Metodo corrispondente. È Null se non ci sono metodi corrispondenti. + + + + Trova il metodo più specifico tra i due metodi forniti. + + Metodo 1 + Ordine dei parametri per il metodo 1 + Tipo della matrice di parametri. + Metodo 2 + Ordine dei parametri per il metodo 2 + >Tipo della matrice di parametri. + Tipi in cui eseguire la ricerca. + Argomenti. + Tipo int che rappresenta la corrispondenza. + + + + Trova il metodo più specifico tra i due metodi forniti. + + Metodo 1 + Ordine dei parametri per il metodo 1 + Tipo della matrice di parametri. + Metodo 2 + Ordine dei parametri per il metodo 2 + >Tipo della matrice di parametri. + Tipi in cui eseguire la ricerca. + Argomenti. + Tipo int che rappresenta la corrispondenza. + + + + Trova il tipo più specifico tra i due tipi forniti. + + Tipo 1 + Tipo 2 + Tipo per la definizione + Tipo int che rappresenta la corrispondenza. + + + + Usata per archiviare le informazioni fornite agli unit test. + + + + + Ottiene le proprietà di un test. + + + + + Ottiene la riga di dati corrente quando il test viene usato per test basati sui dati. + + + + + Ottiene la riga di connessione dati corrente quando il test viene usato per test basati sui dati. + + + + + Ottiene la directory di base per l'esecuzione dei test, in cui vengono archiviati i file distribuiti e i file di risultati. + + + + + Ottiene la directory per i file distribuiti per l'esecuzione dei test. È in genere una sottodirectory di . + + + + + Ottiene la directory di base per i risultati dell'esecuzione dei test. È in genere una sottodirectory di . + + + + + Ottiene la directory per i file di risultati dell'esecuzione dei test. È in genere una sottodirectory di . + + + + + Ottiene la directory per i file di risultati del test. + + + + + Ottiene la directory di base per l'esecuzione dei test, in cui vengono archiviati i file distribuiti e i file di risultati. + Uguale a . In alternativa, usare tale proprietà. + + + + + Ottiene la directory per i file distribuiti per l'esecuzione dei test. È in genere una sottodirectory di . + Uguale a . In alternativa, usare tale proprietà. + + + + + Ottiene la directory per i file di risultati dell'esecuzione dei test. È in genere una sottodirectory di . + Uguale a . In alternativa, usare tale proprietà per i file di risultati dell'esecuzione dei test oppure + per file di risultati specifici del test. + + + + + Ottiene il nome completo della classe contenente il metodo di test attualmente in esecuzione + + + + + Ottiene il nome del metodo di test attualmente in esecuzione + + + + + Ottiene il risultato del test corrente. + + + + + Usato per scrivere messaggi di traccia durante l'esecuzione del test + + stringa del messaggio formattato + + + + Usato per scrivere messaggi di traccia durante l'esecuzione del test + + stringa di formato + argomenti + + + + Aggiunge un nome file all'elenco in TestResult.ResultFileNames + + + Nome file. + + + + + Avvia un timer con il nome specificato + + Nome del timer. + + + + Termina un timer con il nome specificato + + Nome del timer. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..d3540c8 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Metodo di test per l'esecuzione. + + + + + Ottiene il nome del metodo di test. + + + + + Ottiene il nome della classe di test. + + + + + Ottiene il tipo restituito del metodo di test. + + + + + Ottiene i parametri del metodo di test. + + + + + Ottiene l'oggetto methodInfo per il metodo di test. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Richiama il metodo di test. + + + Argomenti da passare al metodo di test, ad esempio per test basati sui dati + + + Risultato della chiamata del metodo di test. + + + This call handles asynchronous test methods as well. + + + + + Ottiene tutti gli attributi del metodo di test. + + + Indica se l'attributo definito nella classe padre è valido. + + + Tutti gli attributi. + + + + + Ottiene l'attributo di tipo specifico. + + System.Attribute type. + + Indica se l'attributo definito nella classe padre è valido. + + + Attributi del tipo specificato. + + + + + Helper. + + + + + Parametro check non Null. + + + Parametro. + + + Nome del parametro. + + + Messaggio. + + Throws argument null exception when parameter is null. + + + + Parametro check non Null o vuoto. + + + Parametro. + + + Nome del parametro. + + + Messaggio. + + Throws ArgumentException when parameter is null. + + + + Enumerazione relativa alla modalità di accesso alle righe di dati nei test basati sui dati. + + + + + Le righe vengono restituite in ordine sequenziale. + + + + + Le righe vengono restituite in ordine casuale. + + + + + Attributo per definire i dati inline per un metodo di test. + + + + + Inizializza una nuova istanza della classe . + + Oggetto dati. + + + + Inizializza una nuova istanza della classe che accetta una matrice di argomenti. + + Oggetto dati. + Altri dati. + + + + Ottiene i dati per chiamare il metodo di test. + + + + + Ottiene o imposta il nome visualizzato nei risultati del test per la personalizzazione. + + + + + Eccezione senza risultati dell'asserzione. + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Inizializza una nuova istanza della classe . + + + + + Classe InternalTestFailureException. Usata per indicare un errore interno per un test case + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inizializza una nuova istanza della classe . + + Messaggio dell'eccezione. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio dell'eccezione. + + + + Inizializza una nuova istanza della classe . + + + + + Attributo che specifica di presupporre un'eccezione del tipo specificato + + + + + Inizializza una nuova istanza della classe con il tipo previsto + + Tipo dell'eccezione prevista + + + + Inizializza una nuova istanza della classe con + il tipo previsto e il messaggio da includere quando il test non genera alcuna eccezione. + + Tipo dell'eccezione prevista + + Messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene un valore che indica il tipo dell'eccezione prevista + + + + + Ottiene o imposta un valore che indica se consentire a tipi derivati dal tipo dell'eccezione prevista + di qualificarsi come previsto + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Verifica che il tipo dell'eccezione generata dallo unit test sia prevista + + Eccezione generata dallo unit test + + + + Classe di base per attributi che specificano se prevedere che uno unit test restituisca un'eccezione + + + + + Inizializza una nuova istanza della classe con un messaggio per indicare nessuna eccezione + + + + + Inizializza una nuova istanza della classe con un messaggio che indica nessuna eccezione + + + Messaggio da includere nel risultato del test se il test non riesce perché non + viene generata un'eccezione + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene il messaggio predefinito per indicare nessuna eccezione + + Nome del tipo di attributo di ExpectedException + Messaggio predefinito per indicare nessuna eccezione + + + + Determina se l'eccezione è prevista. Se il metodo viene completato, si + presuppone che l'eccezione era prevista. Se il metodo genera un'eccezione, si + presuppone che l'eccezione non era prevista e il messaggio dell'eccezione generata + viene incluso nel risultato del test. Si può usare la classe per + comodità. Se si usa e l'asserzione non riesce, + il risultato del test viene impostato su Senza risultati. + + Eccezione generata dallo unit test + + + + Genera di nuovo l'eccezione se si tratta di un'eccezione AssertFailedException o AssertInconclusiveException + + Eccezione da generare di nuovo se si tratta di un'eccezione di asserzione + + + + Questa classe consente all'utente di eseguire testing unità per tipi che usano tipi generici. + GenericParameterHelper soddisfa alcuni dei vincoli di tipo generici più comuni, + ad esempio: + 1. costruttore predefinito pubblico + 2. implementa l'interfaccia comune: IComparable, IEnumerable + + + + + Inizializza una nuova istanza della classe che + soddisfa il vincolo 'newable' nei generics C#. + + + This constructor initializes the Data property to a random value. + + + + + Inizializza una nuova istanza della classe che + inizializza la proprietà Data con un valore fornito dall'utente. + + Qualsiasi valore Integer + + + + Ottiene o imposta i dati + + + + + Esegue il confronto dei valori di due oggetti GenericParameterHelper + + oggetto con cui eseguire il confronto + true se il valore di obj è uguale a quello dell'oggetto GenericParameterHelper 'this'; + in caso contrario, false. + + + + Restituisce un codice hash per questo oggetto. + + Codice hash. + + + + Confronta i dati dei due oggetti . + + Oggetto con cui eseguire il confronto. + + Numero con segno che indica i valori relativi di questa istanza e di questo valore. + + + Thrown when the object passed in is not an instance of . + + + + + Restituisce un oggetto IEnumerator la cui lunghezza viene derivata dalla + proprietà Data. + + L'oggetto IEnumerator + + + + Restituisce un oggetto GenericParameterHelper uguale a + quello corrente. + + Oggetto clonato. + + + + Consente agli utenti di registrare/scrivere tracce degli unit test per la diagnostica. + + + + + Gestore per LogMessage. + + Messaggio da registrare. + + + + Evento di cui rimanere in ascolto. Generato quando il writer di unit test scrive alcuni messaggi. + Utilizzato principalmente dall'adattatore. + + + + + API del writer di test da chiamare per registrare i messaggi. + + Formato stringa con segnaposto. + Parametri per segnaposto. + + + + Attributo TestCategory; usato per specificare la categoria di uno unit test. + + + + + Inizializza una nuova istanza della classe e applica la categoria al test. + + + Categoria di test. + + + + + Ottiene le categorie di test applicate al test. + + + + + Classe di base per l'attributo "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inizializza una nuova istanza della classe . + Applica la categoria al test. Le stringhe restituite da TestCategories + vengono usate con il comando /category per filtrare i test + + + + + Ottiene la categoria di test applicata al test. + + + + + Classe AssertFailedException. Usata per indicare un errore per un test case + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Inizializza una nuova istanza della classe . + + + + + Raccolta di classi helper per testare diverse condizioni + negli unit test. Se la condizione da testare non viene soddisfatta, + viene generata un'eccezione. + + + + + Ottiene l'istanza singleton della funzionalità Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Thrown if is false. + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Messaggio da includere nell'eccezione quando + è false. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is false. + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Messaggio da includere nell'eccezione quando + è false. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is false. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Thrown if is true. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Messaggio da includere nell'eccezione quando + è true. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is true. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Messaggio da includere nell'eccezione quando + è true. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is true. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Messaggio da includere nell'eccezione quando + non è Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Messaggio da includere nell'eccezione quando + non è Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Thrown if is null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Messaggio da includere nell'eccezione quando + è Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Messaggio da includere nell'eccezione quando + è Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is null. + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if refers to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if refers to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if refers to the same object + as . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if is not equal to . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Thrown if is not equal to + . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Messaggio da includere nell'eccezione quando + non è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Messaggio da includere nell'eccezione quando + non è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Messaggio da includere nell'eccezione quando + è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Messaggio da includere nell'eccezione quando + è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Genera un'eccezione AssertFailedException. + + + Always thrown. + + + + + Genera un'eccezione AssertFailedException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Always thrown. + + + + + Genera un'eccezione AssertFailedException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Always thrown. + + + + + Gli overload di uguaglianza statici vengono usati per confrontare istanze di due tipi e stabilire se + i riferimenti sono uguali. Questo metodo non deve essere usato per il confronto di uguaglianza tra due + istanze. Questo oggetto verrà sempre generato con Assert.Fail. Usare + Assert.AreEqual e gli overload associati negli unit test. + + Oggetto A + Oggetto B + Sempre false. + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione AssertFailedException se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione AssertFailedException se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Sostituisce caratteri Null ('\0') con "\\0". + + + Stringa da cercare. + + + Stringa convertita con caratteri Null sostituiti da "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Funzione helper che crea e genera un'eccezione AssertionFailedException + + + nome dell'asserzione che genera un'eccezione + + + messaggio che descrive le condizioni per l'errore di asserzione + + + Parametri. + + + + + Verifica la validità delle condizioni nel parametro + + + Parametro. + + + Nome dell'asserzione. + + + nome del parametro + + + messaggio per l'eccezione di parametro non valido + + + Parametri. + + + + + Converte in modo sicuro un oggetto in una stringa, gestendo valori e caratteri Null. + I valori Null vengono convertiti in "(null)". I caratteri Null vengono convertiti in "\\0". + + + Oggetto da convertire in una stringa. + + + Stringa convertita. + + + + + Asserzione della stringa. + + + + + Ottiene l'istanza singleton della funzionalità CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Messaggio da includere nell'eccezione quando + non inizia con . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Messaggio da includere nell'eccezione quando + non inizia con . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Messaggio da includere nell'eccezione quando + non termina con . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Messaggio da includere nell'eccezione quando + non termina con . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Messaggio da includere nell'eccezione quando + non corrisponde a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Messaggio da includere nell'eccezione quando + non corrisponde a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Thrown if matches . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Messaggio da includere nell'eccezione quando + corrisponde a . Il messaggio viene visualizzato nei risultati + del test. + + + Thrown if matches . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Messaggio da includere nell'eccezione quando + corrisponde a . Il messaggio viene visualizzato nei risultati + del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if matches . + + + + + Raccolta di classi helper per testare diverse condizioni associate + alle raccolte negli unit test. Se la condizione da testare non viene + soddisfatta, viene generata un'eccezione. + + + + + Ottiene l'istanza singleton della funzionalità CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Thrown if is found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + è presente in . Il messaggio viene visualizzato nei risultati + del test. + + + Thrown if is found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + è presente in . Il messaggio viene visualizzato nei risultati + del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Messaggio da includere nell'eccezione quando + contiene un elemento Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Messaggio da includere nell'eccezione quando + contiene un elemento Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Messaggio da includere nell'eccezione quando + contiene almeno un elemento duplicato. Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Messaggio da includere nell'eccezione quando + contiene almeno un elemento duplicato. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando un elemento in + non è presente in . + Il messaggio viene visualizzato nei risultati del test. + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando un elemento in + non è presente in . + Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Thrown if every element in is also found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando ogni elemento in + è presente anche in . + Il messaggio viene visualizzato nei risultati del test. + + + Thrown if every element in is also found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando ogni elemento in + è presente anche in . + Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if every element in is also found in + . + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando un elemento viene trovato + in una delle raccolte ma non nell'altra. Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando un elemento viene trovato + in una delle raccolte ma non nell'altra. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + contiene gli stessi elementi di . Il messaggio + viene visualizzato nei risultati del test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + contiene gli stessi elementi di . Il messaggio + viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Messaggio da includere nell'eccezione quando un elemento in + non è un'istanza di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Messaggio da includere nell'eccezione quando un elemento in + non è un'istanza di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Determina se la prima raccolta è un subset della seconda raccolta. + Se entrambi i set contengono elementi duplicati, il numero delle + occorrenze dell'elemento nel subset deve essere minore o uguale + a quello delle occorrenze nel superset. + + + Raccolta che il test presuppone debba essere contenuta in . + + + Raccolta che il test presuppone debba contenere . + + + True se è un subset di + ; in caso contrario, false. + + + + + Costruisce un dizionario contenente il numero di occorrenze di ogni + elemento nella raccolta specificata. + + + Raccolta da elaborare. + + + Numero di elementi Null presenti nella raccolta. + + + Dizionario contenente il numero di occorrenze di ogni elemento + nella raccolta specificata. + + + + + Trova un elemento senza corrispondenza tra le due raccolte. Per elemento + senza corrispondenza si intende un elemento che appare nella raccolta prevista + un numero di volte diverso rispetto alla raccolta effettiva. Si presuppone + che le raccolte siano riferimenti non Null diversi con lo stesso + numero di elementi. Il chiamante è responsabile di questo livello di + verifica. Se non ci sono elementi senza corrispondenza, la funzione + restituisce false e i parametri out non devono essere usati. + + + Prima raccolta da confrontare. + + + Seconda raccolta da confrontare. + + + Numero previsto di occorrenze di + o 0 se non ci sono elementi senza + corrispondenza. + + + Numero effettivo di occorrenze di + o 0 se non ci sono elementi senza + corrispondenza. + + + Elemento senza corrispondenza (può essere Null) o Null se non ci sono elementi + senza corrispondenza. + + + true se è stato trovato un elemento senza corrispondenza; in caso contrario, false. + + + + + confronta gli oggetti usando object.Equals + + + + + Classe di base per le eccezioni del framework. + + + + + Inizializza una nuova istanza della classe . + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Classe di risorse fortemente tipizzata per la ricerca di stringhe localizzate e così via. + + + + + Restituisce l'istanza di ResourceManager nella cache usata da questa classe. + + + + + Esegue l'override della proprietà CurrentUICulture del thread corrente per tutte + le ricerche di risorse eseguite usando questa classe di risorse fortemente tipizzata. + + + + + Cerca una stringa localizzata simile a La sintassi della stringa di accesso non è valida. + + + + + Cerca una stringa localizzata simile a La raccolta prevista contiene {1} occorrenza/e di <{2}>, mentre quella effettiva ne contiene {3}. {0}. + + + + + Cerca una stringa localizzata simile a È stato trovato un elemento duplicato:<{1}>. {0}. + + + + + Cerca una stringa localizzata simile a Il valore previsto è <{1}>, ma la combinazione di maiuscole/minuscole è diversa per il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È prevista una differenza minore di <{3}> tra il valore previsto <{1}> e il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a Valore previsto: <{1} ({2})>. Valore effettivo: <{3} ({4})>. {0}. + + + + + Cerca una stringa localizzata simile a Valore previsto: <{1}>. Valore effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È prevista una differenza maggiore di <{3}> tra il valore previsto <{1}> e il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È previsto un valore qualsiasi eccetto <{1}>. Valore effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a Non passare tipi valore a AreSame(). I valori convertiti in Object non saranno mai uguali. Usare AreEqual(). {0}. + + + + + Cerca una stringa localizzata simile a {0} non riuscita. {1}. + + + + + Cerca una stringa localizzata simile ad async TestMethod con UITestMethodAttribute non supportata. Rimuovere async o usare TestMethodAttribute. + + + + + Cerca una stringa localizzata simile a Le raccolte sono entrambe vuote. {0}. + + + + + Cerca una stringa localizzata simile a Le raccolte contengono entrambe gli stessi elementi. + + + + + Cerca una stringa localizzata simile a I riferimenti a raccolte puntano entrambi allo stesso oggetto Collection. {0}. + + + + + Cerca una stringa localizzata simile a Le raccolte contengono entrambe gli stessi elementi. {0}. + + + + + Cerca una stringa localizzata simile a {0}({1}). + + + + + Cerca una stringa localizzata simile a (Null). + + + + + Cerca una stringa localizzata simile a (oggetto). + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non contiene la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a {0} ({1}). + + + + + Cerca una stringa localizzata simile a Per le asserzioni non usare Assert.Equals, ma preferire Assert.AreEqual e gli overload. + + + + + Cerca una stringa localizzata simile a Il numero di elementi nelle raccolte non corrisponde. Valore previsto: <{1}>. Valore effettivo: <{2}>.{0}. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {0} non corrisponde. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {1} non è del tipo previsto. Tipo previsto: <{2}>. Tipo effettivo: <{3}>.{0}. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {1} è (Null). Tipo previsto: <{2}>.{0}. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non termina con la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Argomento non valido: EqualsTester non può usare valori Null. + + + + + Cerca una stringa localizzata simile a Non è possibile convertire un oggetto di tipo {0} in {1}. + + + + + Cerca una stringa localizzata simile a L'oggetto interno a cui si fa riferimento non è più valido. + + + + + Cerca una stringa localizzata simile a Il parametro '{0}' non è valido. {1}. + + + + + Cerca una stringa localizzata simile a Il tipo della proprietà {0} è {1}, ma quello previsto è {2}. + + + + + Cerca una stringa localizzata simile a Tipo previsto di {0}: <{1}>. Tipo effettivo: <{2}>. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non corrisponde al criterio '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Tipo errato: <{1}>. Tipo effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' corrisponde al criterio '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Non è stato specificato alcun elemento DataRowAttribute. Con DataTestMethodAttribute è necessario almeno un elemento DataRowAttribute. + + + + + Cerca una stringa localizzata simile a Non è stata generata alcuna eccezione. Era prevista un'eccezione {1}. {0}. + + + + + Cerca una stringa localizzata simile a Il parametro '{0}' non è valido. Il valore non può essere Null. {1}. + + + + + Cerca una stringa localizzata simile a Il numero di elementi è diverso. + + + + + Cerca una stringa localizzata simile a + Il costruttore con la firma specificata non è stato trovato. Potrebbe essere necessario rigenerare la funzione di accesso privata + oppure il membro potrebbe essere privato e definito per una classe di base. In quest'ultimo caso, è necessario passare il tipo + che definisce il membro nel costruttore di PrivateObject. + . + + + + + Cerca una stringa localizzata simile a + Il membro specificato ({0}) non è stato trovato. Potrebbe essere necessario rigenerare la funzione di accesso privata + oppure il membro potrebbe essere privato e definito per una classe di base. In quest'ultimo caso, è necessario passare il tipo + che definisce il membro nel costruttore di PrivateObject. + . + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non inizia con la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Il tipo di eccezione previsto deve essere System.Exception o un tipo derivato da System.Exception. + + + + + Cerca una stringa localizzata simile a Non è stato possibile ottenere il messaggio per un'eccezione di tipo {0} a causa di un'eccezione. + + + + + Cerca una stringa localizzata simile a Il metodo di test non ha generato l'eccezione prevista {0}. {1}. + + + + + Cerca una stringa localizzata simile a Il metodo di test non ha generato un'eccezione. È prevista un'eccezione dall'attributo {0} definito nel metodo di test. + + + + + Cerca una stringa localizzata simile a Il metodo di test ha generato l'eccezione {0}, ma era prevista l'eccezione {1}. Messaggio dell'eccezione: {2}. + + + + + Cerca una stringa localizzata simile a Il metodo di test ha generato l'eccezione {0}, ma era prevista l'eccezione {1} o un tipo derivato da essa. Messaggio dell'eccezione: {2}. + + + + + Cerca una stringa localizzata simile a È stata generata l'eccezione {2}, ma era prevista un'eccezione {1}. {0} + Messaggio dell'eccezione: {3} + Analisi dello stack: {4}. + + + + + risultati degli unit test + + + + + Il test è stato eseguito, ma si sono verificati errori. + Gli errori possono implicare eccezioni o asserzioni non riuscite. + + + + + Il test è stato completato, ma non è possibile determinare se è stato o meno superato. + Può essere usato per test interrotti. + + + + + Il test è stato eseguito senza problemi. + + + + + Il test è attualmente in corso. + + + + + Si è verificato un errore di sistema durante il tentativo di eseguire un test. + + + + + Timeout del test. + + + + + Il test è stato interrotto dall'utente. + + + + + Il test si trova in uno stato sconosciuto + + + + + Fornisce la funzionalità di helper per il framework degli unit test + + + + + Ottiene i messaggi di eccezione in modo ricorsivo, inclusi quelli relativi a + tutte le eccezioni interne + + Eccezione per cui ottenere i messaggi + stringa con le informazioni sul messaggio di errore + + + + Enumerazione per i timeout, che può essere usata con la classe . + Il tipo dell'enumerazione deve corrispondere + + + + + Valore infinito. + + + + + Attributo della classe di test. + + + + + Ottiene un attributo di metodo di test che consente di eseguire questo test. + + Istanza di attributo del metodo di test definita in questo metodo. + Oggetto da usare per eseguire questo test. + Extensions can override this method to customize how all methods in a class are run. + + + + Attributo del metodo di test. + + + + + Esegue un metodo di test. + + Metodo di test da eseguire. + Matrice di oggetti TestResult che rappresentano il risultato o i risultati del test. + Extensions can override this method to customize running a TestMethod. + + + + Attributo di inizializzazione test. + + + + + Attributo di pulizia dei test. + + + + + Attributo ignore. + + + + + Attributo della proprietà di test. + + + + + Inizializza una nuova istanza della classe . + + + Nome. + + + Valore. + + + + + Ottiene il nome. + + + + + Ottiene il valore. + + + + + Attributo di inizializzazione classi. + + + + + Attributo di pulizia delle classi. + + + + + Attributo di inizializzazione assembly. + + + + + Attributo di pulizia degli assembly. + + + + + Proprietario del test + + + + + Inizializza una nuova istanza della classe . + + + Proprietario. + + + + + Ottiene il proprietario. + + + + + Attributo Priority; usato per specificare la priorità di uno unit test. + + + + + Inizializza una nuova istanza della classe . + + + Priorità. + + + + + Ottiene la priorità. + + + + + Descrizione del test + + + + + Inizializza una nuova istanza della classe per descrivere un test. + + Descrizione. + + + + Ottiene la descrizione di un test. + + + + + URI della struttura di progetto CSS + + + + + Inizializza una nuova istanza della classe per l'URI della struttura di progetto CSS. + + URI della struttura di progetto CSS. + + + + Ottiene l'URI della struttura di progetto CSS. + + + + + URI dell'iterazione CSS + + + + + Inizializza una nuova istanza della classe per l'URI dell'iterazione CSS. + + URI dell'iterazione CSS. + + + + Ottiene l'URI dell'iterazione CSS. + + + + + Attributo WorkItem; usato per specificare un elemento di lavoro associato a questo test. + + + + + Inizializza una nuova istanza della classe per l'attributo WorkItem. + + ID di un elemento di lavoro. + + + + Ottiene l'ID di un elemento di lavoro associato. + + + + + Attributo Timeout; usato per specificare il timeout di uno unit test. + + + + + Inizializza una nuova istanza della classe . + + + Timeout. + + + + + Inizializza una nuova istanza della classe con un timeout preimpostato + + + Timeout + + + + + Ottiene il timeout. + + + + + Oggetto TestResult da restituire all'adattatore. + + + + + Inizializza una nuova istanza della classe . + + + + + Ottiene o imposta il nome visualizzato del risultato. Utile quando vengono restituiti più risultati. + Se è Null, come nome visualizzato viene usato il nome del metodo. + + + + + Ottiene o imposta il risultato dell'esecuzione dei test. + + + + + Ottiene o imposta l'eccezione generata quando il test non viene superato. + + + + + Ottiene o imposta l'output del messaggio registrato dal codice del test. + + + + + Ottiene o imposta l'output del messaggio registrato dal codice del test. + + + + + Ottiene o imposta le tracce di debug in base al codice del test. + + + + + Gets or sets the debug traces by test code. + + + + + Ottiene o imposta la durata dell'esecuzione dei test. + + + + + Ottiene o imposta l'indice della riga di dati nell'origine dati. Impostare solo per risultati di singole + esecuzioni della riga di dati di un test basato sui dati. + + + + + Ottiene o imposta il valore restituito del metodo di test. Attualmente è sempre Null. + + + + + Ottiene o imposta i file di risultati allegati dal test. + + + + + Specifica la stringa di connessione, il nome tabella e il metodo di accesso alle righe per test basati sui dati. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nome del provider predefinito per DataSource. + + + + + Metodo predefinito di accesso ai dati. + + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con un provider di dati, la stringa di connessione, la tabella dati e il metodo di accesso ai dati per accedere all'origine dati. + + Nome del provider di dati non dipendente da paese/area geografica, ad esempio System.Data.SqlClient + + Stringa di connessione specifica del provider di dati. + AVVISO: la stringa di connessione può contenere dati sensibili, ad esempio una password. + La stringa di connessione è archiviata in formato testo normale nel codice sorgente e nell'assembly compilato. + Limitare l'accesso al codice sorgente e all'assembly per proteggere questi dati sensibili. + + Nome della tabella dati. + Specifica l'ordine per l'accesso ai dati. + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con una stringa di connessione e un nome tabella. + Specificare la stringa di connessione e la tabella dati per accedere all'origine dati OLEDB. + + + Stringa di connessione specifica del provider di dati. + AVVISO: la stringa di connessione può contenere dati sensibili, ad esempio una password. + La stringa di connessione è archiviata in formato testo normale nel codice sorgente e nell'assembly compilato. + Limitare l'accesso al codice sorgente e all'assembly per proteggere questi dati sensibili. + + Nome della tabella dati. + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con un provider di dati e la stringa di connessione associata al nome dell'impostazione. + + Nome di un'origine dati trovata nella sezione <microsoft.visualstudio.qualitytools> del file app.config. + + + + Ottiene un valore che rappresenta il provider di dati dell'origine dati. + + + Nome del provider di dati. Se non è stato designato un provider di dati durante l'inizializzazione dell'oggetto, verrà restituito il provider predefinito di System.Data.OleDb. + + + + + Ottiene un valore che rappresenta la stringa di connessione per l'origine dati. + + + + + Ottiene un valore che indica il nome della tabella che fornisce i dati. + + + + + Ottiene il metodo usato per accedere all'origine dati. + + + + Uno dei valori di . Se non è inizializzato, restituirà il valore predefinito . + + + + + Ottiene il nome di un'origine dati trovata nella sezione <microsoft.visualstudio.qualitytools> del file app.config. + + + + + Attributo per il test basato sui dati in cui è possibile specificare i dati inline. + + + + + Trova tutte le righe di dati e le esegue. + + + Metodo di test. + + + Matrice di istanze di . + + + + + Esegue il metodo di test basato sui dati. + + Metodo di test da eseguire. + Riga di dati. + Risultati dell'esecuzione. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..629a4bc --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + テスト配置ごとに配置項目 (ファイルまたはディレクトリ) を指定するために使用されます。 + テスト クラスまたはテスト メソッドで指定できます。 + 属性に複数のインスタンスを指定して、2 つ以上の項目を指定することができます。 + 項目のパスには絶対パスまたは相対パスを指定できます。相対パスの場合は、RunConfig.RelativePathRoot からの相対パスです。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + クラスの新しいインスタンスを初期化します。 + + 配置するファイルまたはディレクトリ。パスはビルドの出力ディレクトリの相対パスです。項目は配置されたテスト アセンブリと同じディレクトリにコピーされます。 + + + + クラスの新しいインスタンスを初期化する + + 配置するファイルまたはディレクトリへの相対パスまたは絶対パス。パスはビルドの出力ディレクトリの相対パスです。項目は配置されたテスト アセンブリと同じディレクトリにコピーされます。 + アイテムのコピー先のディレクトリのパス。配置ディレクトリへの絶対パスまたは相対パスのいずれかを指定できます。次で識別されるすべてのファイルとディレクトリは このディレクトリにコピーされます。 + + + + コピーするソース ファイルまたはフォルダーのパスを取得します。 + + + + + 項目のコピー先のディレクトリのパスを取得します。 + + + + + セクション、プロパティ、属性の名前のリテラルが含まれています。 + + + + + 構成セクション名。 + + + + + Beta2 の構成セクション名。互換性のために残されています。 + + + + + データ ソースのセクション名。 + + + + + 'Name' の属性名 + + + + + 'ConnectionString' の属性名 + + + + + 'DataAccessMethod' の属性名 + + + + + 'DataTable' の属性名 + + + + + データ ソース要素。 + + + + + この構成の名前を取得または設定します。 + + + + + .config ファイルの <connectionStrings> セクションの ConnectionStringSettings 要素を取得または設定します。 + + + + + データ テーブルの名前を取得または設定します。 + + + + + データ アクセスの種類を取得または設定します。 + + + + + キー名を取得します。 + + + + + 構成プロパティを取得します。 + + + + + データ ソース要素コレクション。 + + + + + クラスの新しいインスタンスを初期化します。 + + + + + 指定したキーを含む構成要素を返します。 + + 返される要素のキー。 + 指定したキーを持つ System.Configuration.ConfigurationElement。それ以外の場合は、null。 + + + + 指定したインデックスの場所の構成要素を取得します。 + + 返される System.Configuration.ConfigurationElement のインデックスの場所。 + + + + 構成要素を構成要素コレクションに追加します。 + + 追加する System.Configuration.ConfigurationElement。 + + + + コレクションから System.Configuration.ConfigurationElement を削除します。 + + 。 + + + + コレクションから System.Configuration.ConfigurationElement を削除します。 + + 削除する System.Configuration.ConfigurationElement のキー。 + + + + コレクションからすべての構成要素オブジェクトを削除します。 + + + + + 新しい を作成します。 + + 新しい + + + + 指定した構成要素の要素キーを取得します。 + + キーを返す対象の System.Configuration.ConfigurationElement。 + 指定した System.Configuration.ConfigurationElement のキーとして機能する System.Object。 + + + + 構成要素を構成要素コレクションに追加します。 + + 追加する System.Configuration.ConfigurationElement。 + + + + 構成要素を構成要素コレクションに追加します。 + + 指定した System.Configuration.ConfigurationElement を追加するインデックスの場所。 + 追加する System.Configuration.ConfigurationElement。 + + + + テストの構成設定のサポート。 + + + + + テスト用の構成セクションを取得します。 + + + + + テスト用の構成セクション。 + + + + + この構成セクションのデータ ソースを取得します。 + + + + + プロパティのコレクションを取得します。 + + + その (要素のプロパティ)。 + + + + + このクラスは、システム内のパブリックでないライブ内部オブジェクトを表します + + + + + プライベート クラスの既存のオブジェクトを含んでいる + クラスの新しいインスタンスを初期化します + + プライベート メンバーに到達するための開始点となるオブジェクト + m_X.m_Y.m_Z として取得するオブジェクトを指し示す "." を使用する逆参照文字列 + + + + 指定された型をラップする クラスの新しいインスタンスを + 初期化します。 + + アセンブリの名前 + 完全修飾名 + コンストラクターに渡す引数 + + + + 指定された型をラップする クラスの新しいインスタンスを + 初期化します。 + + アセンブリの名前 + 完全修飾名 + 配列: 取得するコンストラクターのパラメーターの数、順番、型を表すオブジェクト + コンストラクターに渡す引数 + + + + 指定された型をラップする クラスの新しいインスタンスを + 初期化します。 + + 作成するオブジェクトの型 + コンストラクターに渡す引数 + + + + 指定された型をラップする クラスの新しいインスタンスを + 初期化します。 + + 作成するオブジェクトの型 + 配列: 取得するコンストラクターのパラメーターの数、順番、型を表すオブジェクト + コンストラクターに渡す引数 + + + + 指定されたオブジェクトをラップする クラスの新しいインスタンスを + 初期化します。 + + ラップするオブジェクト + + + + 指定されたオブジェクトをラップする クラスの新しいインスタンスを + 初期化します。 + + ラップするオブジェクト + PrivateType オブジェクト + + + + ターゲットを取得または設定します + + + + + 基になるオブジェクトの型を取得します + + + + + 対象オブジェクトのハッシュ コードを返す + + 対象オブジェクトのハッシュコードを表す int + + + + 次の値と等しい + + 比較対象のオブジェクト + オブジェクトが等しい場合は True を返します。 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 呼び出すメンバーに渡す引数。 + メソッド呼び出しの結果 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 配列: 取得するメソッドのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + メソッド呼び出しの結果 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 配列: 取得するメソッドのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + ジェネリック引数の型に対応する型の配列。 + メソッド呼び出しの結果 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 呼び出すメンバーに渡す引数。 + カルチャ情報 + メソッド呼び出しの結果 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 配列: 取得するメソッドのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + カルチャ情報 + メソッド呼び出しの結果 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 呼び出すメンバーに渡す引数。 + メソッド呼び出しの結果 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 配列: 取得するメソッドのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + メソッド呼び出しの結果 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 呼び出すメンバーに渡す引数。 + カルチャ情報 + メソッド呼び出しの結果 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 配列: 取得するメソッドのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + カルチャ情報 + メソッド呼び出しの結果 + + + + 指定されたメソッドを呼び出す + + メソッドの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 配列: 取得するメソッドのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + カルチャ情報 + ジェネリック引数の型に対応する型の配列。 + メソッド呼び出しの結果 + + + + 各ディメンションに下付き文字の配列を使用して配列要素を取得する + + メンバーの名前 + 配列のインデックス + 要素の配列。 + + + + 各ディメンションに下付き文字の配列を使用して配列要素を設定する + + メンバーの名前 + 設定する値 + 配列のインデックス + + + + 各ディメンションに下付き文字の配列を使用して配列要素を取得する + + メンバーの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 配列のインデックス + 要素の配列。 + + + + 各ディメンションに下付き文字の配列を使用して配列要素を設定する + + メンバーの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 設定する値 + 配列のインデックス + + + + フィールドを取得する + + フィールドの名前 + フィールド。 + + + + フィールドを設定する + + フィールドの名前 + 設定する値 + + + + フィールドを取得する + + フィールドの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + フィールド。 + + + + フィールドを設定する + + フィールドの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 設定する値 + + + + フィールドまたはプロパティを取得する + + フィールドまたはプロパティの名前 + フィールドまたはプロパティ。 + + + + フィールドまたはプロパティを設定する + + フィールドまたはプロパティの名前 + 設定する値 + + + + フィールドまたはプロパティを取得する + + フィールドまたはプロパティの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + フィールドまたはプロパティ。 + + + + フィールドまたはプロパティを設定する + + フィールドまたはプロパティの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 設定する値 + + + + プロパティを取得する + + プロパティの名前 + 呼び出すメンバーに渡す引数。 + プロパティ。 + + + + プロパティを取得する + + プロパティの名前 + 配列: インデックス付きプロパティのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + プロパティ。 + + + + プロパティを設定する + + プロパティの名前 + 設定する値 + 呼び出すメンバーに渡す引数。 + + + + プロパティを設定する + + プロパティの名前 + 配列: インデックス付きプロパティのパラメーターの数、順番、型を表すオブジェクト。 + 設定する値 + 呼び出すメンバーに渡す引数。 + + + + プロパティを取得する + + プロパティの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 呼び出すメンバーに渡す引数。 + プロパティ。 + + + + プロパティを取得する + + プロパティの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 配列: インデックス付きプロパティのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + プロパティ。 + + + + プロパティを設定する + + プロパティの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 設定する値 + 呼び出すメンバーに渡す引数。 + + + + プロパティを設定する + + プロパティの名前 + 1 つまたは複数の以下のもので構成されるビットマスク 検索の実行方法を指定します。 + 設定する値 + 配列: インデックス付きプロパティのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + + + + アクセス文字列を検証する + + アクセス文字列 + + + + メンバーを呼び出す + + メンバーの名前 + 追加の属性 + 呼び出しの引数 + カルチャ + 呼び出しの結果 + + + + 現在のプライベート型から最も適切なジェネリック メソッド シグネチャを抽出します。 + + シグネチャ キャッシュを検索するメソッドの名前。 + 検索対象のパラメーターの型に対応する型の配列。 + ジェネリック引数の型に対応する型の配列。 + メソッド シグネチャをさらにフィルターするため。 + パラメーターの修飾子。 + Methodinfo インスタンス。 + + + + このクラスは、プライベート アクセサー機能のプライベート クラスを表します。 + + + + + すべてにバインドする + + + + + ラップされた型。 + + + + + プライベート型を含む クラスの新しいインスタンスを初期化します。 + + アセンブリ名 + 完全修飾名: + + + + Initializes a new instance of the class that contains + the private type from the type object + + 作成するラップされた型。 + + + + 参照型を取得する + + + + + 静的メンバーを呼び出す + + InvokeHelper に対するメンバーの名前 + 呼び出しに対する引数 + 呼び出しの結果 + + + + 静的メンバーを呼び出す + + InvokeHelper に対するメンバーの名前 + 配列: 呼び出すメソッドのパラメーターの数値、順序、および型を表すオブジェクト + 呼び出しに対する引数 + 呼び出しの結果 + + + + 静的メンバーを呼び出す + + InvokeHelper に対するメンバーの名前 + 配列: 呼び出すメソッドのパラメーターの数値、順序、および型を表すオブジェクト + 呼び出しに対する引数 + ジェネリック引数の型に対応する型の配列。 + 呼び出しの結果 + + + + 静的メソッドを呼び出す + + メンバーの名前 + 呼び出しに対する引数 + カルチャ + 呼び出しの結果 + + + + 静的メソッドを呼び出す + + メンバーの名前 + 配列: 呼び出すメソッドのパラメーターの数値、順序、および型を表すオブジェクト + 呼び出しに対する引数 + カルチャ情報 + 呼び出しの結果 + + + + 静的メソッドを呼び出す + + メンバーの名前 + 追加の呼び出し属性 + 呼び出しに対する引数 + 呼び出しの結果 + + + + 静的メソッドを呼び出す + + メンバーの名前 + 追加の呼び出し属性 + 配列: 呼び出すメソッドのパラメーターの数値、順序、および型を表すオブジェクト + 呼び出しに対する引数 + 呼び出しの結果 + + + + 静的メソッドを呼び出す + + メンバーの名前 + 追加の呼び出し属性 + 呼び出しに対する引数 + カルチャ + 呼び出しの結果 + + + + 静的メソッドを呼び出す + + メンバーの名前 + 追加の呼び出し属性 + /// 配列: 呼び出すメソッドのパラメーターの数値、順序、および型を表すオブジェクト + 呼び出しに対する引数 + カルチャ + 呼び出しの結果 + + + + 静的メソッドを呼び出す + + メンバーの名前 + 追加の呼び出し属性 + /// 配列: 呼び出すメソッドのパラメーターの数値、順序、および型を表すオブジェクト + 呼び出しに対する引数 + カルチャ + ジェネリック引数の型に対応する型の配列。 + 呼び出しの結果 + + + + 静的配列内の要素を取得する + + 配列の名前 + + 取得する要素の位置を指定するインデックスを表す 32 ビット整数 + の 1 次元配列。たとえば、[10][11] にアクセスする場合には、インデックスは {10,11} になります + + 指定した場所の要素 + + + + 静的配列のメンバーを設定する + + 配列の名前 + 設定する値 + + 設定する要素の位置を指定するインデックスを表す 32 ビット整数 + の 1 次元配列。たとえば、[10][11] にアクセスする場合には、配列は {10,11} になります + + + + + 静的配列の要素を取得します + + 配列の名前 + 追加の InvokeHelper 属性 + + 取得する要素の位置を指定するインデックスを表す 32 ビット整数 + の 1 次元配列。たとえば、[10][11] にアクセスする場合には、配列は {10,11} になります + + 指定した場所の要素 + + + + 静的配列のメンバーを設定する + + 配列の名前 + 追加の InvokeHelper 属性 + 設定する値 + + 設定する要素の位置を指定するインデックスを表す 32 ビット整数 + の 1 次元配列。たとえば、[10][11] にアクセスする場合には、配列は {10,11} になります + + + + + 静的フィールドを取得する + + フィールドの名前 + 静的フィールド。 + + + + 静的フィールドを設定する + + フィールドの名前 + 呼び出しに対する引数 + + + + 指定した InvokeHelper 属性を使用して静的フィールドを取得する + + フィールドの名前 + 追加の呼び出し属性 + 静的フィールド。 + + + + バインド属性を使用して静的フィールドを設定する + + フィールドの名前 + 追加の InvokeHelper 属性 + 呼び出しに対する引数 + + + + 静的フィールドまたは静的プロパティを取得する + + フィールドまたはプロパティの名前 + 静的フィールドまたはプロパティ。 + + + + 静的フィールドまたは静的プロパティを設定する + + フィールドまたはプロパティの名前 + フィールドまたはプロパティに設定する値 + + + + 指定した InvokeHelper 属性を使用して、静的フィールドまたは静的プロパティを取得する + + フィールドまたはプロパティの名前 + 追加の呼び出し属性 + 静的フィールドまたはプロパティ。 + + + + バインド属性を使用して、静的フィールドまたは静的プロパティを設定する + + フィールドまたはプロパティの名前 + 追加の呼び出し属性 + フィールドまたはプロパティに設定する値 + + + + 静的プロパティを取得する + + フィールドまたはプロパティの名前 + 呼び出しに対する引数 + 静的プロパティ。 + + + + 静的プロパティを設定する + + プロパティの名前 + フィールドまたはプロパティに設定する値 + 呼び出すメンバーに渡す引数。 + + + + 静的プロパティを設定する + + プロパティの名前 + フィールドまたはプロパティに設定する値 + 配列: インデックス付きプロパティのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + + + + 静的プロパティを取得する + + プロパティの名前 + 追加の呼び出し属性。 + 呼び出すメンバーに渡す引数。 + 静的プロパティ。 + + + + 静的プロパティを取得する + + プロパティの名前 + 追加の呼び出し属性。 + 配列: インデックス付きプロパティのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + 静的プロパティ。 + + + + 静的プロパティを設定する + + プロパティの名前 + 追加の呼び出し属性。 + フィールドまたはプロパティに設定する値 + インデックス付きプロパティのオプションのインデックス値。インデックス付きプロパティのインデックスは 0 から始まります。インデックスのないプロパティについては、この値は null である必要があります。 + + + + 静的プロパティを設定する + + プロパティの名前 + 追加の呼び出し属性。 + フィールドまたはプロパティに設定する値 + 配列: インデックス付きプロパティのパラメーターの数、順番、型を表すオブジェクト。 + 呼び出すメンバーに渡す引数。 + + + + 静的メソッドを呼び出す + + メンバーの名前 + 追加の呼び出し属性 + 呼び出しに対する引数 + カルチャ + 呼び出しの結果 + + + + ジェネリック メソッドのメソッド シグネチャを検出します。 + + + + + これらの 2 つのメソッドのメソッド シグネチャを比較します。 + + Method1 + Method2 + 類似している場合は True。 + + + + 指定した型の基本データ型から階層の深さを取得します。 + + 型。 + 深さ。 + + + + 指定された情報を使用して最派生型を検索します。 + + 候補の一致。 + 一致の数。 + 最派生メソッド。 + + + + 基本条件に一致するメソッドのセットを指定して、型の配列に + 基づいてメソッドを選択します。条件に + 一致するメソッドがない場合、このメソッドは null を返します。 + + バインドの指定。 + 候補の一致 + 型 + パラメーター修飾子。 + 一致するメソッド。一致が見つからない場合は null。 + + + + 指定されている 2 つのメソッドのうち、より特定性の高いメソッドを判別します。 + + メソッド 1 + メソッド 1 のパラメーターの順序 + パラメーターの配列型。 + メソッド 2 + メソッド 2 のパラメーターの順序 + >パラメーターの配列型。 + 検索する型。 + 引数。 + 一致を表す int。 + + + + 指定されている 2 つのメソッドのうち、より特定性の高いメソッドを判別します。 + + メソッド 1 + メソッド 1 のパラメーターの順序 + パラメーターの配列型。 + メソッド 2 + メソッド 2 のパラメーターの順序 + >パラメーターの配列型。 + 検索する型。 + 引数。 + 一致を表す int。 + + + + 指定されている 2 つのうち、より特定性の高い型を判別します。 + + 型 1 + 型 2 + 定義する型 + 一致を表す int。 + + + + 単体テストに提供される情報を保存するために使用されます。 + + + + + テストのテスト プロパティを取得します。 + + + + + テストがデータ ドリブン テストで使用されるときに現在のデータ行を取得します。 + + + + + テストがデータ ドリブン テストで使用されるときに現在のデータ接続行を取得します。 + + + + + テストの実行の基本ディレクトリを取得します。配置されたファイルと結果ファイルはそのディレクトリに格納されます。 + + + + + テストの実行のために配置されたファイルのディレクトリを取得します。通常は、 のサブディレクトリです。 + + + + + テストの実行の結果の基本ディレクトリを取得します。通常は、 のサブディレクトリです。 + + + + + テストの実行の結果ファイル用のディレクトリを取得します。通常は、 のサブディレクトリです。 + + + + + テスト結果ファイルのディレクトリを取得します。 + + + + + テストの実行の基本ディレクトリを取得します。配置されたファイルと結果ファイルはそのディレクトリに格納されます。 + と同じであり、代わりにそのプロパティをご使用ください。 + + + + + テストの実行のために配置されたファイルのディレクトリを取得します。通常は、 のサブディレクトリです。 + と同じであり、代わりにそのプロパティをご使用ください。 + + + + + テストの実行の結果ファイル用のディレクトリを取得します。通常は、 のサブディレクトリです。 + と同じであり、テストの実行の結果ファイルのそのプロパティを使用するか、 + その代わりにテスト固有の結果ファイルの をご使用ください。 + + + + + 現在実行されているテスト メソッドを含むクラスの完全修飾名を取得します + + + + + 現在実行中のテスト メソッドの名前を取得します + + + + + 現在のテスト成果を取得します。 + + + + + テストの実行中にトレース メッセージを書き込むために使用されます + + 書式設定されたメッセージ文字列 + + + + テストの実行中にトレース メッセージを書き込むために使用されます + + 書式設定文字列 + 引数 + + + + TestResult.ResultFileNames の一覧にファイル名を追加する + + + ファイル名。 + + + + + 指定した名前のタイマーを開始する + + タイマーの名前。 + + + + 指定した名前のタイマーを終了する + + タイマーの名前。 + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..922b5b1 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 実行用の TestMethod。 + + + + + テスト メソッドの名前を取得します。 + + + + + テスト クラスの名前を取得します。 + + + + + テスト メソッドの戻り値の型を取得します。 + + + + + テスト メソッドのパラメーターを取得します。 + + + + + テスト メソッドの methodInfo を取得します。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + テスト メソッドを呼び出します。 + + + テスト メソッドに渡す引数。(データ ドリブンの場合など) + + + テスト メソッド呼び出しの結果。 + + + This call handles asynchronous test methods as well. + + + + + テスト メソッドのすべての属性を取得します。 + + + 親クラスで定義されている属性が有効かどうか。 + + + すべての属性。 + + + + + 特定の型の属性を取得します。 + + System.Attribute type. + + 親クラスで定義されている属性が有効かどうか。 + + + 指定した種類の属性。 + + + + + ヘルパー。 + + + + + null でない確認パラメーター。 + + + パラメーター。 + + + パラメーター名。 + + + メッセージ。 + + Throws argument null exception when parameter is null. + + + + null または空でない確認パラメーター。 + + + パラメーター。 + + + パラメーター名。 + + + メッセージ。 + + Throws ArgumentException when parameter is null. + + + + データ ドリブン テストのデータ行にアクセスする方法の列挙型。 + + + + + 行は順番に返されます。 + + + + + 行はランダムに返されます。 + + + + + テスト メソッドのインライン データを定義する属性。 + + + + + クラスの新しいインスタンスを初期化します。 + + データ オブジェクト。 + + + + 引数の配列を受け入れる クラスの新しいインスタンスを初期化します。 + + データ オブジェクト。 + 追加のデータ。 + + + + テスト メソッドを呼び出すデータを取得します。 + + + + + カスタマイズするために、テスト結果の表示名を取得または設定します。 + + + + + assert inconclusive 例外。 + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + InternalTestFailureException クラス。テスト ケースの内部エラーを示すために使用されます + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + クラスの新しいインスタンスを初期化します。 + + 例外メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + 例外メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + 指定した型の例外を予期するよう指定する属性 + + + + + 予期される型を指定して、 クラスの新しいインスタンスを初期化する + + 予期される例外の型 + + + + 予期される型と、テストで例外がスローされない場合に含めるメッセージとを指定して + クラスの新しいインスタンスを初期化します。 + + 予期される例外の型 + + 例外がスローされなかったことが原因でテストが失敗した場合に、テスト結果に含まれるメッセージ + + + + + 予期される例外の型を示す値を取得する + + + + + 予期される例外の型から派生した型を予期される型として使用できるかどうかを示す値を + 取得または設定する + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 単体テストでスローされる例外の型が予期される型であることを検証する + + 単体テストでスローされる例外 + + + + 単体テストからの例外を予期するように指定する属性の基底クラス + + + + + 既定の例外なしメッセージを指定して クラスの新しいインスタンスを初期化する + + + + + 例外なしメッセージを指定して クラスの新しいインスタンスを初期化します + + + 例外がスローされなかったことが原因でテストが失敗した場合に、 + テスト結果に含まれるメッセージ + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 既定の例外なしメッセージを取得する + + ExpectedException 属性の型名 + 既定の例外なしメッセージ + + + + 例外が予期されているかどうかを判断します。メソッドが戻る場合は、 + 例外が予期されていたと解釈されます。メソッドが例外をスローする場合は、 + 例外が予期されていなかったと解釈され、スローされた例外のメッセージが + テスト結果に含められます。便宜上、 クラスを使用できます。 + が使用され、アサーションが失敗すると、 + テスト成果は [結果不確定] に設定されます。 + + 単体テストでスローされる例外 + + + + AssertFailedException または AssertInconclusiveException である場合に、例外を再スローする + + アサーション例外である場合に再スローされる例外 + + + + このクラスは、ジェネリック型を使用する型の単体テストを実行するユーザーを支援するように設計されています。 + GenericParameterHelper は、次のようないくつかの共通ジェネリック型制約を + 満たしています: + 1. パブリックの既定のコンストラクター + 2. 共通インターフェイスを実装します: IComparable、IEnumerable + + + + + C# ジェネリックの 'newable' 制約を満たす + クラスの新しいインスタンスを初期化します。 + + + This constructor initializes the Data property to a random value. + + + + + Data プロパティをユーザー指定の値に初期化する クラスの + 新しいインスタンスを初期化します。 + + 任意の整数値 + + + + データを取得または設定する + + + + + 2 つの GenericParameterHelper オブジェクトの値の比較を実行する + + 次との比較を実行するオブジェクト + オブジェクトの値が 'this' GenericParameterHelper オブジェクトと同じ値である場合は true。 + それ以外の場合は、false。 + + + + このオブジェクトのハッシュコードを返します。 + + ハッシュ コード。 + + + + 2 つの オブジェクトのデータを比較します。 + + 比較対象のオブジェクト。 + + このインスタンスと値の相対値を示す符号付きの数値。 + + + Thrown when the object passed in is not an instance of . + + + + + 長さが Data プロパティから派生している IEnumerator オブジェクト + を返します。 + + IEnumerator オブジェクト + + + + 現在のオブジェクトに相当する GenericParameterHelper + オブジェクトを返します。 + + 複製されたオブジェクト。 + + + + ユーザーが診断用に単体テストからトレースをログ記録/書き込みできるようにします。 + + + + + LogMessage のハンドラー。 + + ログに記録するメッセージ。 + + + + リッスンするイベント。単体テスト ライターがメッセージを書き込むときに発生します。 + 主にアダプターによって消費されます。 + + + + + テスト ライターがメッセージをログ記録するために呼び出す API。 + + プレースホルダーを含む文字列形式。 + プレースホルダーのパラメーター。 + + + + TestCategory 属性。単体テストのカテゴリを指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化し、カテゴリをテストに適用します。 + + + テスト カテゴリ。 + + + + + テストに適用されているテスト カテゴリを取得します。 + + + + + "Category" 属性の基底クラス + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + クラスの新しいインスタンスを初期化します。 + カテゴリをテストに適用します。TestCategories で返される文字列は + テストをフィルター処理する /category コマンドで使用されます + + + + + テストに適用されているテスト カテゴリを取得します。 + + + + + AssertFailedException クラス。テスト ケースのエラーを示すために使用されます + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + 単体テスト内のさまざまな条件をテストするヘルパー クラスの + コレクション。テスト対象の条件を満たしていない場合は、 + 例外がスローされます。 + + + + + Assert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + Thrown if is false. + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + false の場合。メッセージはテスト結果に表示されます。 + + + Thrown if is false. + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + false の場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is false. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + Thrown if is true. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + true の場合。メッセージはテスト結果に表示されます。 + + + Thrown if is true. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + true の場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is true. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null でない場合。メッセージはテスト結果に表示されます。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null でない場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + Thrown if is null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null である場合。メッセージはテスト結果に表示されます。 + + + Thrown if is null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null である場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is null. + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + Thrown if does not refer to the same object + as . + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not refer to the same object + as . + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not refer to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + Thrown if refers to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + と同じである場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if refers to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + と同じである場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if refers to the same object + as . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + Thrown if is not equal to . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + Thrown if is equal to . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + Thrown if is not equal to + . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスである場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスである場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + AssertFailedException をスローします。 + + + Always thrown. + + + + + AssertFailedException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Always thrown. + + + + + AssertFailedException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Always thrown. + + + + + 静的な Equals オーバーロードは、2 つの型のインスタンスを比較して参照の等価性を調べる + ために使用されます。2 つのインスタンスを比較して等価性を調べるためにこのメソッドを使用 + することはできません。このオブジェクトは常に Assert.Fail を使用してスロー + します。単体テストでは、Assert.AreEqual および関連するオーバーロードをご使用ください。 + + オブジェクト A + オブジェクト B + 常に false。 + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に AssertFailedException をスローするかどうかをテストします。 + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + 次の場合に、例外に含まれるメッセージ + 以下の型の例外をスローしない場合。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に AssertFailedException をスローするかどうかをテストします。 + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + 次の場合に、例外に含まれるメッセージ + 以下の型の例外をスローしない場合。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + null 文字 ('\0') を "\\0" に置き換えます。 + + + 検索する文字列。 + + + "\\0" で置き換えられた null 文字を含む変換された文字列。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException を作成して、スローするヘルパー関数 + + + 例外をスローするアサーションの名前 + + + アサーション エラーの条件を記述するメッセージ + + + パラメーター。 + + + + + 有効な条件であるかパラメーターを確認します + + + パラメーター。 + + + アサーション名。 + + + パラメーター名 + + + 無効なパラメーター例外のメッセージ + + + パラメーター。 + + + + + 安全にオブジェクトを文字列に変換し、null 値と null 文字を処理します。 + null 値は "(null)" に変換されます。null 文字は "\\0" に変換されます。 + + + 文字列に変換するオブジェクト。 + + + 変換された文字列。 + + + + + 文字列のアサート。 + + + + + CollectionAssert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + Thrown if is not found in + . + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not found in + . + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not found in + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 先頭が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 先頭が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + Thrown if does not end with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 末尾が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not end with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 末尾が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not end with + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致しない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致しない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + Thrown if matches . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致する場合 。メッセージはテスト結果に + 表示されます。 + + + Thrown if matches . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致する場合 。メッセージはテスト結果に + 表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if matches . + + + + + 単体テスト内のコレクションと関連付けられている + さまざまな条件をテストするヘルパー クラスのコレクション。テスト対象の条件を満たしていない場合は、 + 例外がスローされます。 + + + + + CollectionAssert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + Thrown if is found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + が次にある場合 。メッセージはテスト結果に + 表示されます。 + + + Thrown if is found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + が次にある場合 。メッセージはテスト結果に + 表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is found in + . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + null 要素を含む場合。メッセージはテスト結果に表示されます。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + null 要素を含む場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + Thrown if a two or more equal elements are found in + . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + 少なくとも 1 つの重複する要素が含まれています。メッセージは + テスト結果に表示されます。 + + + Thrown if a two or more equal elements are found in + . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + 少なくとも 1 つの重複する要素が含まれています。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if a two or more equal elements are found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次に見つからない場合 . + メッセージはテスト結果に表示されます。 + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次に見つからない場合 . + メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + Thrown if every element in is also found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + 次にあるすべての要素が次である場合に、例外に含まれるメッセージ + 次にもある場合 . + メッセージはテスト結果に表示されます。 + + + Thrown if every element in is also found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + 次にあるすべての要素が次である場合に、例外に含まれるメッセージ + 次にもある場合 . + メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if every element in is also found in + . + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 要素が 2 つのコレクションのどちらかのみに見つかった場合に + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 要素が 2 つのコレクションのどちらかのみに見つかった場合に + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じ要素を含む場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じ要素を含む場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 最初のコレクションが 2 番目のコレクションのサブセットであるかどうかを + 決定します。いずれかのセットに重複する要素が含まれている場合は、 + サブセット内の要素の出現回数は + スーパーセット内の出現回数以下である必要があります。 + + + テストで次に含まれると予期されるコレクション 。 + + + テストで次を含むと予期されるコレクション 。 + + + 次の場合は true 次のサブセットの場合 + 、それ以外の場合は false。 + + + + + 指定したコレクションの各要素の出現回数を含む + 辞書を構築します。 + + + 処理するコレクション。 + + + コレクション内の null 要素の数。 + + + 指定したコレクション内の各要素の + 出現回数を含むディレクトリ。 + + + + + 2 つのコレクション間で一致しない要素を検索します。 + 一致しない要素とは、予期されるコレクションでの出現回数が + 実際のコレクションでの出現回数と異なる要素のことです。 + コレクションは、同じ数の要素を持つ、null ではない + さまざまな参照と見なされます。このレベルの検証を行う責任は + 呼び出し側にあります。一致しない要素がない場合、 + 関数は false を返し、out パラメーターは使用されません。 + + + 比較する最初のコレクション。 + + + 比較する 2 番目のコレクション。 + + + 次の予期される発生回数 + または一致しない要素がない場合は + 0 です。 + + + 次の実際の発生回数 + または一致しない要素がない場合は + 0 です。 + + + 一致しない要素 (null の場合があります)、または一致しない要素がない場合は + null です。 + + + 一致しない要素が見つかった場合は true、それ以外の場合は false。 + + + + + object.Equals を使用してオブジェクトを比較する + + + + + フレームワーク例外の基底クラス。 + + + + + クラスの新しいインスタンスを初期化します。 + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラス。 + + + + + このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。 + + + + + 厳密に型指定されたこのリソース クラスを使用して、現在のスレッドの + CurrentUICulture プロパティをすべてのリソース ルックアップで無視します。 + + + + + "アクセス文字列は無効な構文を含んでいます。" に類似したローカライズされた文字列を検索します。 + + + + + "予期されたコレクションでは、<{2}> が {1} 回発生します。実際のコレクションでは、{3} 回発生します。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "重複する項目が見つかりました:<{1}>。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> が必要です。実際の値: <{2}> では大文字と小文字が異なります。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "指定する値 <{1}> と実際の値 <{2}> との間には <{3}> 以内の差が必要です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1} ({2})> が必要ですが、<{3} ({4})> が指定されました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> が必要ですが、<{2}> が指定されました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "指定する値 <{1}> と実際の値 <{2}> との間には <{3}> を超える差が必要です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> 以外の任意の値が必要ですが、<{2}> が指定されています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "AreSame() に値型を渡すことはできません。オブジェクトに変換された値は同じになりません。AreEqual() を使用することを検討してください。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "{0} に失敗しました。{1}" に類似したローカライズされた文字列を検索します。 + + + + + "UITestMethodAttribute が指定された非同期の TestMethod はサポートされていません。非同期を削除するか、TestMethodAttribute を使用してください。" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが空です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが同じ要素を含んでいます。" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションの参照が、同じコレクション オブジェクトにポイントしています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが同じ要素を含んでいます。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "{0}({1})" に類似したローカライズされた文字列を検索します。 + + + + + "(null)" に類似したローカライズされた文字列を検索します。 + + + + + Looks up a localized string similar to (object). + + + + + "文字列 '{0}' は文字列 '{1}' を含んでいません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "{0} ({1})" に類似したローカライズされた文字列を検索します。 + + + + + "アサーションには Assert.Equals を使用せずに、Assert.AreEqual とオーバーロードを使用してください。" に類似したローカライズされた文字列を検索します。 + + + + + "コレクション内の要素数が一致しません。<{1}> が必要ですが <{2}> が指定されています。{0}。" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {0} の要素が一致しません。" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {1} の要素は、必要な型ではありません。<{2}> が必要ですが、<{3}> が指定されています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {1} の要素は null です。必要な型:<{2}>。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' は文字列 '{1}' で終わりません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "無効な引数 - EqualsTester は null を使用することはできません。" に類似したローカライズされた文字列を検索します。 + + + + + "型 {0} のオブジェクトを {1} に変換できません。" に類似したローカライズされた文字列を検索します。 + + + + + "参照された内部オブジェクトは、現在有効ではありません。" に類似したローカライズされた文字列を検索します。 + + + + + "パラメーター '{0}' は無効です。{1}。" に類似したローカライズされた文字列を検索します。 + + + + + "プロパティ {0} は型 {1} を含んでいますが、型 {2} が必要です。" に類似したローカライズされた文字列を検索します。 + + + + + "{0} には型 <{1}> が必要ですが、型 <{2}> が指定されました。" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' は、パターン '{1}' と一致しません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "正しくない型は <{1}> であり、実際の型は <{2}> です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' はパターン '{1}' と一致します。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "DataRowAttribute が指定されていません。DataTestMethodAttribute では少なくとも 1 つの DataRowAttribute が必要です。" に類似したローカライズされた文字列を検索します。 + + + + + "例外がスローされませんでした。{1} の例外が予期されていました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "パラメーター '{0}' は無効です。値を null にすることはできません。{1}。" に類似したローカライズされた文字列を検索します。 + + + + + "要素数が異なります。" に類似したローカライズされた文字列を検索します。 + + + + + "指定されたシグネチャを使用するコンストラクターが見つかりませんでした。 + プライベート アクセサーを再生成しなければならないか、 + またはメンバーがプライベートであり、基底クラスで定義されている可能性があります。後者である場合、メンバーを + PrivateObject のコンストラクターに定義する型を渡す必要があります。" に類似したローカライズされた文字列を検索します。 + + + + + + "指定されたメンバー ({0}) が見つかりませんでした。プライベート アクセサーを再生成しなければならないか、 + またはメンバーがプライベートであり、基底クラスで定義されている可能性があります。後者である場合、メンバーを + 定義する型を PrivateObject のコンストラクターに渡す必要があります。" + に類似したローカライズされた文字列を検索します。 + + + + + + "文字列 '{0}' は文字列 '{1}' で始まりません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "予期される例外の型は System.Exception または System.Exception の派生型である必要があります。" に類似したローカライズされた文字列を検索します。 + + + + + "(例外が発生したため、型 {0} の例外のメッセージを取得できませんでした。)" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは予期された例外 {0} をスローしませんでした。{1}" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは例外をスローしませんでした。テスト メソッドで定義されている属性 {0} で例外が予期されていました。" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは、例外 {0} をスローしましたが、例外 {1} が予期されていました。例外メッセージ: {2}" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは、例外 {0} をスローしましたが、例外 {1} またはその派生型が予期されていました。例外メッセージ: {2}" に類似したローカライズされた文字列を検索します。 + + + + + "例外 {2} がスローされましたが、例外 {1} が予期されていました。{0} + 例外メッセージ: {3} + スタック トレース: {4}" に類似したローカライズされた文字列を検索します。 + + + + + 単体テストの成果 + + + + + テストを実行しましたが、問題が発生しました。 + 問題には例外または失敗したアサーションが関係している可能性があります。 + + + + + テストが完了しましたが、成功したか失敗したかは不明です。 + 中止したテストに使用される場合があります。 + + + + + 問題なくテストが実行されました。 + + + + + 現在テストを実行しています。 + + + + + テストを実行しようとしているときにシステム エラーが発生しました。 + + + + + テストがタイムアウトしました。 + + + + + ユーザーによってテストが中止されました。 + + + + + テストは不明な状態です + + + + + 単体テストのフレームワークのヘルパー機能を提供する + + + + + すべての内部例外のメッセージなど、例外メッセージを + 再帰的に取得します + + 次のメッセージを取得する例外 + エラー メッセージ情報を含む文字列 + + + + クラスで使用できるタイムアウトの列挙型。 + 列挙型の型は一致している必要があります + + + + + 無限。 + + + + + テスト クラス属性。 + + + + + このテストの実行を可能するテスト メソッド属性を取得します。 + + このメソッドで定義されているテスト メソッド属性インスタンス。 + The 。このテストを実行するために使用されます。 + Extensions can override this method to customize how all methods in a class are run. + + + + テスト メソッド属性。 + + + + + テスト メソッドを実行します。 + + 実行するテスト メソッド。 + テストの結果を表す TestResult オブジェクトの配列。 + Extensions can override this method to customize running a TestMethod. + + + + テスト初期化属性。 + + + + + テスト クリーンアップ属性。 + + + + + Ignore 属性。 + + + + + テストのプロパティ属性。 + + + + + クラスの新しいインスタンスを初期化します。 + + + 名前。 + + + 値。 + + + + + 名前を取得します。 + + + + + 値を取得します。 + + + + + クラス初期化属性。 + + + + + クラス クリーンアップ属性。 + + + + + アセンブリ初期化属性。 + + + + + アセンブリ クリーンアップ属性。 + + + + + テストの所有者 + + + + + クラスの新しいインスタンスを初期化します。 + + + 所有者。 + + + + + 所有者を取得します。 + + + + + 優先順位属性。単体テストの優先順位を指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化します。 + + + 優先順位。 + + + + + 優先順位を取得します。 + + + + + テストの説明 + + + + + テストを記述する クラスの新しいインスタンスを初期化します。 + + 説明。 + + + + テストの説明を取得します。 + + + + + CSS プロジェクト構造の URI + + + + + CSS プロジェクト構造の URI の クラスの新しいインスタンスを初期化します。 + + CSS プロジェクト構造の URI。 + + + + CSS プロジェクト構造の URI を取得します。 + + + + + CSS イテレーション URI + + + + + CSS イテレーション URI の クラスの新しいインスタンスを初期化します。 + + CSS イテレーション URI。 + + + + CSS イテレーション URI を取得します。 + + + + + WorkItem 属性。このテストに関連付けられている作業項目の指定に使用されます。 + + + + + WorkItem 属性の クラスの新しいインスタンスを初期化します。 + + 作業項目に対する ID。 + + + + 関連付けられている作業項目に対する ID を取得します。 + + + + + タイムアウト属性。単体テストのタイムアウトを指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化します。 + + + タイムアウト。 + + + + + 事前設定するタイムアウトを指定して クラスの新しいインスタンスを初期化する + + + タイムアウト + + + + + タイムアウトを取得します。 + + + + + アダプターに返される TestResult オブジェクト。 + + + + + クラスの新しいインスタンスを初期化します。 + + + + + 結果の表示名を取得または設定します。複数の結果が返される場合に便利です。 + null の場合は、メソッド名が DisplayName として使用されます。 + + + + + テスト実行の成果を取得または設定します。 + + + + + テストが失敗した場合にスローされる例外を取得または設定します。 + + + + + テスト コードでログに記録されたメッセージの出力を取得または設定します。 + + + + + テスト コードでログに記録されたメッセージの出力を取得または設定します。 + + + + + テスト コードでデバッグ トレースを取得または設定します。 + + + + + Gets or sets the debug traces by test code. + + + + + テスト実行の期間を取得または設定します。 + + + + + データ ソース内のデータ行インデックスを取得または設定します。データ ドリブン テストの一続きのデータ行の + それぞれの結果に対してのみ設定されます。 + + + + + テスト メソッドの戻り値を取得または設定します。(現在は、常に null です)。 + + + + + テストで添付された結果ファイルを取得または設定します。 + + + + + データ ドリブン テストの接続文字列、テーブル名、行アクセス方法を指定します。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource の既定のプロバイダー名。 + + + + + 既定のデータ アクセス方法。 + + + + + クラスの新しいインスタンスを初期化します。このインスタンスは、データ ソースにアクセスするためのデータ プロバイダー、接続文字列、データ テーブル、データ アクセス方法を指定して初期化されます。 + + System.Data.SqlClient などデータ プロバイダーの不変名 + + データ プロバイダー固有の接続文字列。 + 警告: 接続文字列には機微なデータ (パスワードなど) を含めることができます。 + 接続文字列はソース コードのプレーンテキストとコンパイルされたアセンブリに保存されます。 + ソース コードとアセンブリへのアクセスを制限して、この秘匿性の高い情報を保護します。 + + データ テーブルの名前。 + データにアクセスする順番をしています。 + + + + クラスの新しいインスタンスを初期化します。このインスタンスは接続文字列とテーブル名を指定して初期化されます。 + OLEDB データ ソースにアクセスするには接続文字列とデータ テーブルを指定します。 + + + データ プロバイダー固有の接続文字列。 + 警告: 接続文字列には機微なデータ (パスワードなど) を含めることができます。 + 接続文字列はソース コードのプレーンテキストとコンパイルされたアセンブリに保存されます。 + ソース コードとアセンブリへのアクセスを制限して、この秘匿性の高い情報を保護します。 + + データ テーブルの名前。 + + + + クラスの新しいインスタンスを初期化します。このインスタンスは設定名に関連付けられているデータ プロバイダーと接続文字列を使用して初期化されます。 + + app.config ファイルの <microsoft.visualstudio.qualitytools> セクションにあるデータ ソースの名前。 + + + + データ ソースのデータ プロバイダーを表す値を取得します。 + + + データ プロバイダー名。データ プロバイダーがオブジェクトの初期化時に指定されていなかった場合は、System.Data.OleDb の既定のプロバイダーが返されます。 + + + + + データ ソースの接続文字列を表す値を取得します。 + + + + + データを提供するテーブル名を示す値を取得します。 + + + + + データ ソースへのアクセスに使用するメソッドを取得します。 + + + + 次のいずれか 値。以下の場合 初期化されていない場合は、これは既定値を返します 。 + + + + + app.config ファイルの <microsoft.visualstudio.qualitytools> セクションで見つかるデータ ソースの名前を取得します。 + + + + + データをインラインで指定できるデータ ドリブン テストの属性。 + + + + + すべてのデータ行を検索して、実行します。 + + + テスト メソッド。 + + + 次の配列 。 + + + + + データ ドリブン テスト メソッドを実行します。 + + 実行するテスト メソッド。 + データ行. + 実行の結果。 + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..621cef0 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 테스트 배포별 배포 항목(파일 또는 디렉터리)을 지정하는 데 사용됩니다. + 테스트 클래스 또는 테스트 메서드에서 지정할 수 있습니다. + 둘 이상의 항목을 지정하기 위한 여러 특성 인스턴스를 가질 수 있습니다. + 항목 경로는 절대 또는 상대 경로일 수 있으며, 상대 경로인 경우 RunConfig.RelativePathRoot가 기준입니다. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 배포할 파일 또는 디렉터리. 경로는 빌드 출력 디렉터리에 대해 상대적입니다. 배포된 테스트 어셈블리와 동일한 디렉터리에 항목이 복사됩니다. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 배포할 파일 또는 디렉터리에 대한 상대 또는 절대 경로. 경로는 빌드 출력 디렉터리에 대해 상대적입니다. 배포된 테스트 어셈블리와 동일한 디렉터리에 항목이 복사됩니다. + 항목을 복사할 디렉터리의 경로. 배포 디렉터리에 대한 절대 경로 또는 상대 경로일 수 있습니다.에 의해 식별되는 모든 파일 및 디렉터리는 이 디렉터리에 복사됩니다. + + + + 복사할 소스 파일 또는 폴더의 경로를 가져옵니다. + + + + + 항목을 복사할 디렉터리의 경로를 가져옵니다. + + + + + 섹션, 속성, 특성의 이름에 대한 리터럴을 포함합니다. + + + + + 구성 섹션 이름입니다. + + + + + Beta2의 구성 섹션 이름입니다. 호환성을 위해 남겨둡니다. + + + + + 데이터 소스의 섹션 이름입니다. + + + + + 'Name'의 특성 이름 + + + + + 'ConnectionString'의 특성 이름 + + + + + 'DataAccessMethod'의 특성 이름 + + + + + 'DataTable'의 특성 이름 + + + + + 데이터 소스 요소입니다. + + + + + 이 구성의 이름을 가져오거나 설정합니다. + + + + + .config 파일에서 <connectionStrings> 섹션의 ConnectionStringSettings 요소를 가져오거나 설정합니다. + + + + + 데이터 테이블의 이름을 가져오거나 설정합니다. + + + + + 데이터 액세스의 형식을 가져오거나 설정합니다. + + + + + 키 이름을 가져옵니다. + + + + + 구성 속성을 가져옵니다. + + + + + 데이터 소스 요소 컬렉션입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 지정한 키와 함께 구성 요소를 반환합니다. + + 반환할 요소의 키입니다. + 지정한 키가 있는 System.Configuration.ConfigurationElement입니다. 그렇지 않은 경우 null입니다. + + + + 지정한 인덱스 위치에서 구성 요소를 가져옵니다. + + 반환할 System.Configuration.ConfigurationElement의 인덱스 위치입니다. + + + + 구성 요소 컬렉션에 구성 요소를 추가합니다. + + 추가할 System.Configuration.ConfigurationElement입니다. + + + + 컬렉션에서 System.Configuration.ConfigurationElement를 제거합니다. + + . + + + + 컬렉션에서 System.Configuration.ConfigurationElement를 제거합니다. + + 제거할 System.Configuration.ConfigurationElement의 키입니다. + + + + 컬렉션에서 모든 구성 요소 개체를 제거합니다. + + + + + 새 을(를) 만듭니다. + + . + + + + 지정한 구성 요소의 요소 키를 가져옵니다. + + 키를 반환할 System.Configuration.ConfigurationElement입니다. + 지정한 System.Configuration.ConfigurationElement의 키로 작동하는 System.Object입니다. + + + + 구성 요소 컬렉션에 구성 요소를 추가합니다. + + 추가할 System.Configuration.ConfigurationElement입니다. + + + + 구성 요소 컬렉션에 구성 요소를 추가합니다. + + 지정한 System.Configuration.ConfigurationElement를 추가할 인덱스 위치입니다. + 추가할 System.Configuration.ConfigurationElement입니다. + + + + 테스트에 대한 구성 설정을 지원합니다. + + + + + 테스트에 대한 구성 섹션을 가져옵니다. + + + + + 테스트에 대한 구성 섹션입니다. + + + + + 이 구성 섹션의 데이터 소스를 가져옵니다. + + + + + 속성의 컬렉션을 가져옵니다. + + + 요소의 속성입니다. + + + + + 이 클래스는 시스템에 있는 public이 아닌 라이브 내부 개체를 나타냅니다. + + + + + private 클래스의 이미 존재하는 개체를 포함하는 클래스의 + 새 인스턴스를 초기화합니다. + + 전용 멤버에 도달하기 위한 시작 지점 역할을 하는 개체 + m_X.m_Y.m_Z 형식으로 검색할 개체를 가리키는 마침표(.)를 사용하는 역참조 문자열 + + + + 지정된 형식을 래핑하는 클래스의 새 인스턴스를 + 초기화합니다. + + 어셈블리의 이름 + 정규화된 이름 + 생성자에 전달할 인수 + + + + 지정된 형식을 래핑하는 클래스의 새 인스턴스를 + 초기화합니다. + + 어셈블리의 이름 + 정규화된 이름 + 다음의 배열: 가져올 생성자에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체 + 생성자에 전달할 인수 + + + + 지정된 형식을 래핑하는 클래스의 새 인스턴스를 + 초기화합니다. + + 만들 개체의 형식 + 생성자에 전달할 인수 + + + + 지정된 형식을 래핑하는 클래스의 새 인스턴스를 + 초기화합니다. + + 만들 개체의 형식 + 다음의 배열: 가져올 생성자에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체 + 생성자에 전달할 인수 + + + + 지정된 개체를 래핑하는 클래스의 새 인스턴스를 + 초기화합니다. + + 래핑할 개체 + + + + 지정된 개체를 래핑하는 클래스의 새 인스턴스를 + 초기화합니다. + + 래핑할 개체 + PrivateType 개체 + + + + 대상을 가져오거나 설정합니다. + + + + + 기본 개체의 형식을 가져옵니다. + + + + + 은(는) 대상 개체의 해시 코드를 반환합니다. + + 대상 개체의 해시 코드를 나타내는 INT + + + + 같음 + + 비교할 개체 + 개체가 같은 경우 true를 반환합니다. + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 호출할 멤버에 전달하기 위한 인수. + 메서드 호출의 결과 + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 다음의 배열: 메서드가 가져올 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + 메서드 호출의 결과 + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 다음의 배열: 메서드가 가져올 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + 제네릭 인수의 형식에 해당하는 형식의 배열. + 메서드 호출의 결과 + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 호출할 멤버에 전달하기 위한 인수. + 문화권 정보 + 메서드 호출의 결과 + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 다음의 배열: 메서드가 가져올 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + 문화권 정보 + 메서드 호출의 결과 + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 호출할 멤버에 전달하기 위한 인수. + 메서드 호출의 결과 + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 다음의 배열: 메서드가 가져올 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + 메서드 호출의 결과 + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 호출할 멤버에 전달하기 위한 인수. + 문화권 정보 + 메서드 호출의 결과 + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 다음의 배열: 메서드가 가져올 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + 문화권 정보 + 메서드 호출의 결과 + + + + 지정된 메서드를 호출합니다. + + 메서드의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 다음의 배열: 메서드가 가져올 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + 문화권 정보 + 제네릭 인수의 형식에 해당하는 형식의 배열. + 메서드 호출의 결과 + + + + 각 차원에 대한 첨자 배열을 사용하여 배열 요소를 가져옵니다 + + 멤버의 이름 + 구성된 비트마스크 + 요소의 배열입니다. + + + + 각 차원에 대해 첨자의 배열을 사용하여 배열 요소를 설정합니다. + + 멤버의 이름 + 설정할 값 + 구성된 비트마스크 + + + + 각 차원에 대한 첨자 배열을 사용하여 배열 요소를 가져옵니다 + + 멤버의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 구성된 비트마스크 + 요소의 배열입니다. + + + + 각 차원에 대해 첨자의 배열을 사용하여 배열 요소를 설정합니다. + + 멤버의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 설정할 값 + 구성된 비트마스크 + + + + 필드를 가져옵니다. + + 필드의 이름 + 필드입니다. + + + + 필드를 설정합니다. + + 필드의 이름 + 설정할 값 + + + + 필드를 가져옵니다. + + 필드의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 필드입니다. + + + + 필드를 설정합니다. + + 필드의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 설정할 값 + + + + 필드 또는 속성을 가져옵니다. + + 필드 또는 속성의 이름 + 필드 또는 속성입니다. + + + + 필드 또는 속성을 설정합니다. + + 필드 또는 속성의 이름 + 설정할 값 + + + + 필드 또는 속성을 가져옵니다. + + 필드 또는 속성의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 필드 또는 속성입니다. + + + + 필드 또는 속성을 설정합니다. + + 필드 또는 속성의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 설정할 값 + + + + 속성을 가져옵니다 + + 속성의 이름 + 호출할 멤버에 전달하기 위한 인수. + 속성입니다. + + + + 속성을 가져옵니다 + + 속성의 이름 + 다음의 배열: 인덱싱된 속성에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + 속성입니다. + + + + 속성을 설정합니다. + + 속성의 이름 + 설정할 값 + 호출할 멤버에 전달하기 위한 인수. + + + + 속성을 설정합니다. + + 속성의 이름 + 다음의 배열: 인덱싱된 속성에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 설정할 값 + 호출할 멤버에 전달하기 위한 인수. + + + + 속성을 가져옵니다 + + 속성의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 호출할 멤버에 전달하기 위한 인수. + 속성입니다. + + + + 속성을 가져옵니다 + + 속성의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 다음의 배열: 인덱싱된 속성에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + 속성입니다. + + + + 속성을 설정합니다. + + 속성의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 설정할 값 + 호출할 멤버에 전달하기 위한 인수. + + + + 속성을 설정합니다. + + 속성의 이름 + 하나 이상의 배열 인덱스로 검색 수행 방법을 지정. + 설정할 값 + 다음의 배열: 인덱싱된 속성에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + + + + 액세스 문자열의 유효성을 검사합니다. + + 액세스 문자열 + + + + 멤버를 호출합니다. + + 멤버의 이름 + 추가 특성 + 호출에 대한 인수 + 문화권 + 호출의 결과 + + + + 현재 private 형식에서 가장 적절한 제네릭 메서드 시그니처를 추출합니다. + + 서명 캐시를 검색할 메서드의 이름. + 검색할 매개 변수의 형식에 해당하는 형식의 배열. + 제네릭 인수의 형식에 해당하는 형식의 배열. + 메서드 서명을 추가로 필터링. + 매개 변수에 대한 한정자입니다. + methodinfo 인스턴스입니다. + + + + 이 클래스는 전용 접근자 기능에 대한 private 클래스를 나타냅니다. + + + + + 모든 것에 바인딩됩니다. + + + + + 래핑된 형식입니다. + + + + + private 형식을 포함하는 클래스의 새 인스턴스를 초기화합니다. + + 어셈블리 이름 + 다음의 정규화된 이름: + + + + Initializes a new instance of the class that contains + the private type from the type object + + 만들어야 할 래핑된 형식. + + + + 참조된 형식을 가져옵니다. + + + + + 정적 멤버를 호출합니다. + + InvokeHelper에 대한 멤버의 이름 + 호출에 대한 인수 + 호출의 결과 + + + + 정적 멤버를 호출합니다. + + InvokeHelper에 대한 멤버의 이름 + 다음의 배열: 호출할 메서드에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체 + 호출에 대한 인수 + 호출의 결과 + + + + 정적 멤버를 호출합니다. + + InvokeHelper에 대한 멤버의 이름 + 다음의 배열: 호출할 메서드에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체 + 호출에 대한 인수 + 제네릭 인수의 형식에 해당하는 형식의 배열. + 호출의 결과 + + + + 정적 메서드를 호출합니다. + + 멤버의 이름 + 호출에 대한 인수 + 문화권 + 호출의 결과 + + + + 정적 메서드를 호출합니다. + + 멤버의 이름 + 다음의 배열: 호출할 메서드에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체 + 호출에 대한 인수 + 문화권 정보 + 호출의 결과 + + + + 정적 메서드를 호출합니다. + + 멤버의 이름 + 추가 호출 특성 + 호출에 대한 인수 + 호출의 결과 + + + + 정적 메서드를 호출합니다. + + 멤버의 이름 + 추가 호출 특성 + 다음의 배열: 호출할 메서드에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체 + 호출에 대한 인수 + 호출의 결과 + + + + 정적 메서드를 호출합니다. + + 멤버의 이름 + 추가 호출 특성 + 호출에 대한 인수 + 문화권 + 호출의 결과 + + + + 정적 메서드를 호출합니다. + + 멤버의 이름 + 추가 호출 특성 + /// 다음의 배열: 호출할 메서드에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체 + 호출에 대한 인수 + 문화권 + 호출의 결과 + + + + 정적 메서드를 호출합니다. + + 멤버의 이름 + 추가 호출 특성 + /// 다음의 배열: 호출할 메서드에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체 + 호출에 대한 인수 + 문화권 + 제네릭 인수의 형식에 해당하는 형식의 배열. + 호출의 결과 + + + + 정적 배열의 요소를 가져옵니다. + + 배열의 이름 + + 가져올 요소의 위치를 지정하는 인덱스를 나타내는 32비트 정수의 1차원 배열입니다. + 예를 들어 a[10][11]에 액세스하려면 인덱스는 {10,11}이 됩니다. + + 지정된 위치의 요소 + + + + 정적 배열의 멤버를 설정합니다. + + 배열의 이름 + 설정할 값 + + 설정할 요소의 위치를 지정하는 인덱스를 나타내는 32비트 정수의 1차원 배열입니다. + 예를 들어 a[10][11]에 액세스하려면 배열은 {10,11}이 됩니다. + + + + + 정적 배열의 요소를 가져옵니다. + + 배열의 이름 + 추가 InvokeHelper 특성 + + 가져올 요소의 위치를 지정하는 인덱스를 나타내는 32비트 정수의 1차원 배열입니다. + 예를 들어 a[10][11]에 액세스하려면 배열은 {10,11}이 됩니다. + + 지정된 위치의 요소 + + + + 정적 배열의 멤버를 설정합니다. + + 배열의 이름 + 추가 InvokeHelper 특성 + 설정할 값 + + 설정할 요소의 위치를 지정하는 인덱스를 나타내는 32비트 정수의 1차원 배열입니다. + 예를 들어 a[10][11]에 액세스하려면 배열은 {10,11}이 됩니다. + + + + + 정적 필드를 가져옵니다. + + 필드의 이름 + 정적 필드입니다. + + + + 정적 필드를 설정합니다. + + 필드의 이름 + 호출에 대한 인수 + + + + 지정된 InvokeHelper 특성을 사용하여 정적 필드를 가져옵니다. + + 필드의 이름 + 추가 호출 특성 + 정적 필드입니다. + + + + 바인딩 특성을 사용하여 정적 필드를 설정합니다. + + 필드의 이름 + 추가 InvokeHelper 특성 + 호출에 대한 인수 + + + + 정적 필드 또는 속성을 가져옵니다. + + 필드 또는 속성의 이름 + 정적 필드 또는 속성입니다. + + + + 정적 필드 또는 속성을 설정합니다. + + 필드 또는 속성의 이름 + 필드나 속성에 대해 설정할 값 + + + + 지정된 InvokeHelper 특성을 사용하여 정적 필드 또는 속성을 가져옵니다. + + 필드 또는 속성의 이름 + 추가 호출 특성 + 정적 필드 또는 속성입니다. + + + + 바인딩 특성을 사용하여 정적 필드 또는 속성을 설정합니다. + + 필드 또는 속성의 이름 + 추가 호출 특성 + 필드나 속성에 대해 설정할 값 + + + + 정적 속성을 가져옵니다. + + 필드 또는 속성의 이름 + 호출에 대한 인수 + 정적 속성입니다. + + + + 정적 속성을 설정합니다. + + 속성의 이름 + 필드나 속성에 대해 설정할 값 + 호출할 멤버에 전달하기 위한 인수. + + + + 정적 속성을 설정합니다. + + 속성의 이름 + 필드나 속성에 대해 설정할 값 + 다음의 배열: 인덱싱된 속성에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + + + + 정적 속성을 가져옵니다. + + 속성의 이름 + 추가 호출 특성. + 호출할 멤버에 전달하기 위한 인수. + 정적 속성입니다. + + + + 정적 속성을 가져옵니다. + + 속성의 이름 + 추가 호출 특성. + 다음의 배열: 인덱싱된 속성에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + 정적 속성입니다. + + + + 정적 속성을 설정합니다. + + 속성의 이름 + 추가 호출 특성. + 필드나 속성에 대해 설정할 값 + 인덱싱된 속성을 위한 선택적인 인덱스 값. 인덱싱된 속성의 인덱스는 0부터 시작합니다. 인덱싱되지 않은 속성에 대해서는 이 값이 null이어야 합니다. + + + + 정적 속성을 설정합니다. + + 속성의 이름 + 추가 호출 특성. + 필드나 속성에 대해 설정할 값 + 다음의 배열: 인덱싱된 속성에 대한 매개 변수의 수, 순서 및 형식을 나타내는 개체. + 호출할 멤버에 전달하기 위한 인수. + + + + 정적 메서드를 호출합니다. + + 멤버의 이름 + 추가 호출 특성 + 호출에 대한 인수 + 문화권 + 호출의 결과 + + + + 제네릭 메서드에 대한 메서드 시그니처 검색을 제공합니다. + + + + + 이 두 메서드의 메서드 시그니처를 비교합니다. + + Method1 + Method2 + 비슷한 경우 True입니다. + + + + 제공된 형식의 기본 형식에서 계층 구조 수준을 가져옵니다. + + 형식입니다. + 깊이입니다. + + + + 제공된 정보를 사용하여 가장 많이 파생된 형식을 찾습니다. + + 후보 일치 항목입니다. + 일치 항목 수입니다. + 가장 많이 파생된 메서드입니다. + + + + 기본 기준과 일치하는 메서드의 집합을 고려하여 형식 배열을 기반으로 + 메서드를 선택하세요. 기준과 일치하는 메서드가 없으면 이 메서드는 + Null을 반환합니다. + + 바인딩 사양입니다. + 후보 일치 항목 + 형식 + 매개 변수 한정자입니다. + 일치하는 메서드입니다. 일치 항목이 없는 경우 null입니다. + + + + 제공된 두 메서드에서 가장 한정적인 메서드를 찾습니다. + + 메서드 1 + 메서드 1에 대한 매개 변수 순서 + 매개 변수 배열 형식입니다. + 메서드 2 + 메서드 2에 대한 매개 변수 순서 + >매개 변수 배열 형식입니다. + 검색할 형식입니다. + Args. + 일치를 나타내는 int입니다. + + + + 제공된 두 메서드에서 가장 한정적인 메서드를 찾습니다. + + 메서드 1 + 메서드 1에 대한 매개 변수 순서 + 매개 변수 배열 형식입니다. + 메서드 2 + 메서드 2에 대한 매개 변수 순서 + >매개 변수 배열 형식입니다. + 검색할 형식입니다. + Args. + 일치를 나타내는 int입니다. + + + + 제공된 두 형식 중 가장 한정적인 형식을 찾습니다. + + 형식 1 + 형식 2 + 정의하는 형식 + 일치를 나타내는 int입니다. + + + + 단위 테스트에 제공되는 정보를 저장하는 데 사용됩니다. + + + + + 테스트에 대한 테스트 속성을 가져옵니다. + + + + + 테스트가 데이터 기반 테스트에 사용될 때 현재 데이터 행을 가져옵니다. + + + + + 테스트가 데이터 기반 테스트에 사용될 때 현재 데이터 연결 행을 가져옵니다. + + + + + 배포된 파일 및 결과 파일이 저장되는, 테스트 실행에 대한 기본 디렉터리를 가져옵니다. + + + + + 테스트 실행을 위해 배포되는 파일의 디렉터리를 가져옵니다. 일반적으로 의 하위 디렉터리입니다. + + + + + 테스트 실행의 결과에 대한 기본 디렉터리를 가져옵니다. 일반적으로 의 하위 디렉터리입니다. + + + + + 테스트 실행 결과 파일의 디렉터리를 가져옵니다. 일반적으로 의 하위 디렉터리입니다. + + + + + 테스트 결과 파일의 디렉터리를 가져옵니다. + + + + + 배포된 파일 및 결과 파일이 저장되는, 테스트 실행에 대한 기본 디렉터리를 가져옵니다. + 과(와) 같습니다. 해당 속성을 대신 사용하세요. + + + + + 테스트 실행에 대해 배포되는 파일의 디렉터리를 가져옵니다. 일반적으로 의 하위 디렉터리입니다. + 과(와) 같습니다. 해당 속성을 대신 사용하세요. + + + + + 테스트 실행 결과 파일의 디렉터리를 가져옵니다. 일반적으로 의 하위 디렉터리입니다. + 과(와) 같습니다. 테스트 실행 결과 파일의 해당 속성 또는 테스트 관련 결과 파일의 + 을(를) 대신 사용하세요. + + + + + 현재 실행 중인 테스트 메서드를 포함하는 클래스의 정규화된 이름을 가져옵니다. + + + + + 현재 실행 중인 테스트 메서드의 이름을 가져옵니다. + + + + + 현재 테스트 결과를 가져옵니다. + + + + + 테스트 실행 중에 추적 메시지를 쓰는 데 사용됩니다. + + 형식이 지정된 메시지 문자열 + + + + 테스트 실행 중에 추적 메시지를 쓰는 데 사용됩니다. + + 서식 문자열 + 인수 + + + + TestResult.ResultFileNames의 목록에 파일 이름을 추가합니다. + + + 파일 이름. + + + + + 지정된 이름으로 타이머를 시작합니다. + + 타이머의 이름입니다. + + + + 지정된 이름의 타이머를 종료합니다. + + 타이머의 이름입니다. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..22e769a --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 실행을 위한 TestMethod입니다. + + + + + 테스트 메서드의 이름을 가져옵니다. + + + + + 테스트 클래스의 이름을 가져옵니다. + + + + + 테스트 메서드의 반환 형식을 가져옵니다. + + + + + 테스트 메서드의 매개 변수를 가져옵니다. + + + + + 테스트 메서드에 대한 methodInfo를 가져옵니다. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 테스트 메서드를 호출합니다. + + + 테스트 메서드에 전달할 인수(예: 데이터 기반의 경우) + + + 테스트 메서드 호출의 결과. + + + This call handles asynchronous test methods as well. + + + + + 테스트 메서드의 모든 특성을 가져옵니다. + + + 부모 클래스에 정의된 특성이 올바른지 여부입니다. + + + 모든 특성. + + + + + 특정 형식의 특성을 가져옵니다. + + System.Attribute type. + + 부모 클래스에 정의된 특성이 올바른지 여부입니다. + + + 지정한 형식의 특성입니다. + + + + + 도우미입니다. + + + + + 검사 매개 변수가 Null이 아닙니다. + + + 매개 변수. + + + 매개 변수 이름. + + + 메시지. + + Throws argument null exception when parameter is null. + + + + 검사 매개 변수가 Null이 아니거나 비어 있습니다. + + + 매개 변수. + + + 매개 변수 이름. + + + 메시지. + + Throws ArgumentException when parameter is null. + + + + 데이터 기반 테스트에서 데이터 행에 액세스하는 방법에 대한 열거형입니다. + + + + + 행이 순차적인 순서로 반환됩니다. + + + + + 행이 임의의 순서로 반환됩니다. + + + + + 테스트 메서드에 대한 인라인 데이터를 정의하는 특성입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 데이터 개체. + + + + 인수 배열을 사용하는 클래스의 새 인스턴스를 초기화합니다. + + 데이터 개체. + 추가 데이터. + + + + 테스트 메서드 호출을 위한 데이터를 가져옵니다. + + + + + 사용자 지정을 위한 테스트 결과에서 표시 이름을 가져오거나 설정합니다. + + + + + 어설션 불확실 예외입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + InternalTestFailureException 클래스. 테스트 사례에 대한 내부 실패를 나타내는 데 사용됩니다. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 예외 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 예외 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 지정된 형식의 예외를 예상하도록 지정하는 특성 + + + + + 예상 형식이 있는 클래스의 새 인스턴스를 초기화합니다. + + 예상되는 예외의 형식 + + + + 테스트에서 예외를 throw하지 않을 때 포함할 메시지 및 예상 형식이 있는 클래스의 + 새 인스턴스를 초기화합니다. + + 예상되는 예외의 형식 + + 예외를 throw하지 않아 테스트가 실패할 경우 테스트 결과에 포함할 메시지 + + + + + 예상되는 예외의 형식을 나타내는 값을 가져옵니다. + + + + + 예상 예외의 형식에서 파생된 형식이 예상대로 자격을 얻도록 허용할지 여부를 나타내는 값을 가져오거나 + 설정합니다. + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 단위 테스트에 의해 throw되는 예외의 형식이 예상되는지를 확인합니다. + + 단위 테스트에서 throw한 예외 + + + + 단위 테스트에서 예외를 예상하도록 지정하는 특성에 대한 기본 클래스 + + + + + 기본 예외 없음 메시지가 있는 클래스의 새 인스턴스를 초기화합니다. + + + + + 예외 없음 메시지가 있는 클래스의 새 인스턴스를 초기화합니다. + + + 예외를 throw하지 않아서 테스트가 실패할 경우 테스트 결과에 포함할 + 메시지 + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 기본 예외 없음 메시지를 가져옵니다. + + ExpectedException 특성 형식 이름 + 기본 예외 없음 메시지 + + + + 예외가 예상되는지 여부를 확인합니다. 메서드가 반환되면 예외가 + 예상되는 것으로 이해됩니다. 메서드가 예외를 throw하면 예외가 + 예상되지 않는 것으로 이해되고, throw된 예외의 메시지가 + 테스트 결과에 포함됩니다. 클래스는 편의를 위해 사용될 수 + 있습니다. 이(가) 사용되는 경우 어설션에 실패하며, + 테스트 결과가 [결과 불충분]으로 설정됩니다. + + 단위 테스트에서 throw한 예외 + + + + AssertFailedException 또는 AssertInconclusiveException인 경우 예외를 다시 throw합니다. + + 어설션 예외인 경우 예외를 다시 throw + + + + 이 클래스는 제네릭 형식을 사용하는 형식에 대한 사용자의 유닛 테스트를 지원하도록 설계되었습니다. + GenericParameterHelper는 몇 가지 공통된 제네릭 형식 제약 조건을 충족합니다. + 예: + 1. public 기본 생성자 + 2. 공통 인터페이스 구현: IComparable, IEnumerable + + + + + C# 제네릭의 '새로 입력할 수 있는' 제약 조건을 충족하는 클래스의 + 새 인스턴스를 초기화합니다. + + + This constructor initializes the Data property to a random value. + + + + + 데이터 속성을 사용자가 제공한 값으로 초기화하는 클래스의 + 새 인스턴스를 초기화합니다. + + 임의의 정수 값 + + + + 데이터를 가져오거나 설정합니다. + + + + + 두 GenericParameterHelper 개체의 값을 비교합니다. + + 비교할 개체 + 개체의 값이 '이' GenericParameterHelper 개체와 동일한 경우에는 true이고, + 동일하지 않은 경우에는 false입니다. + + + + 이 개체의 해시 코드를 반환합니다. + + 해시 코드입니다. + + + + 두 개체의 데이터를 비교합니다. + + 비교할 개체입니다. + + 이 인스턴스 및 값의 상대 값을 나타내는 부호 있는 숫자입니다. + + + Thrown when the object passed in is not an instance of . + + + + + 길이가 데이터 속성에서 파생된 IEnumerator 개체를 + 반환합니다. + + IEnumerator 개체 + + + + 현재 개체와 동일한 GenericParameterHelper 개체를 + 반환합니다. + + 복제된 개체입니다. + + + + 사용자가 진단을 위해 단위 테스트에서 추적을 로그하거나 쓸 수 있습니다. + + + + + LogMessage용 처리기입니다. + + 로깅할 메시지. + + + + 수신할 이벤트입니다. 단위 테스트 기록기에서 메시지를 기록할 때 발생합니다. + 주로 어댑터에서 사용합니다. + + + + + 메시지를 로그하기 위해 테스트 작성자가 호출하는 API입니다. + + 자리 표시자가 있는 문자열 형식. + 자리 표시자에 대한 매개 변수. + + + + TestCategory 특성 - 단위 테스트의 범주 지정에 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화하고 범주를 테스트에 적용합니다. + + + 테스트 범주. + + + + + 테스트에 적용된 테스트 범주를 가져옵니다. + + + + + "Category" 특성을 위한 기본 클래스 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 클래스의 새 인스턴스를 초기화합니다. + 범주를 테스트에 적용합니다. TestCategories에 의해 반환된 문자열은 + 테스트 필터링을 위한 /category 명령과 함께 사용됩니다. + + + + + 테스트에 적용된 테스트 범주를 가져옵니다. + + + + + AssertFailedException 클래스 - 테스트 사례에 대한 실패를 나타내는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 단위 테스트 내에서 다양한 조건을 테스트하기 위한 도우미 + 클래스의 컬렉션입니다. 테스트 중인 조건이 충족되지 않으면 예외가 + throw됩니다. + + + + + Assert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + Thrown if is false. + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 거짓인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is false. + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 거짓인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is false. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + Thrown if is true. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 참인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is true. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 참인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is true. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + Thrown if is not null. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null이 아닌 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not null. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null이 아닌 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + Thrown if is null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is null. + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if does not refer to the same object + as . + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if does not refer to the same object + as . + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not refer to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if refers to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if refers to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if refers to the same object + as . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if is not equal to . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if is equal to . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + Thrown if is not equal to + . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + Thrown if is equal to . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + Thrown if is not equal to + . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + Thrown if is equal to . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + Thrown if is not equal to + . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + Thrown if is equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스가 아닌 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스가 아닌 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스인 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스인 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + AssertFailedException을 throw합니다. + + + Always thrown. + + + + + AssertFailedException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Always thrown. + + + + + AssertFailedException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Always thrown. + + + + + 참조 같음에 대해 두 형식의 인스턴스를 비교하는 데 정적 equals 오버로드가 + 사용됩니다. 이 메서드는 같음에 대해 두 인스턴스를 비교하는 데 사용되지 않습니다. + 이 개체는 항상 Assert.Fail과 함께 throw됩니다. 단위 테스트에서 + Assert.AreEqual 및 관련 오버로드를 사용하세요. + + 개체 A + 개체 B + 항상 False. + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 AssertFailedException을 throw합니다. + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 AssertFailedException을 throw합니다. + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우: . + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + Null 문자('\0')를 "\\0"으로 바꿉니다. + + + 검색할 문자열. + + + Null 문자가 "\\0"으로 교체된 변환된 문자열. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException을 만들고 throw하는 도우미 함수 + + + 예외를 throw하는 어설션의 이름 + + + 어설션 실패에 대한 조건을 설명하는 메시지 + + + 매개 변수. + + + + + 유효한 조건의 매개 변수를 확인합니다. + + + 매개 변수. + + + 어셜선 이름. + + + 매개 변수 이름 + + + 잘못된 매개 변수 예외에 대한 메시지 + + + 매개 변수. + + + + + 개체를 문자열로 안전하게 변환하고, Null 값 및 Null 문자를 처리합니다. + Null 값은 "(null)"로 변환됩니다. Null 문자는 "\\0"으로 변환됩니다. + + + 문자열로 변환될 개체. + + + 변환된 문자열. + + + + + 문자열 어셜션입니다. + + + + + CollectionAssert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + Thrown if is not found in + . + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not found in + . + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not found in + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 시작되지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 시작되지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + Thrown if does not end with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 끝나지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if does not end with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 끝나지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not end with + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하지 않는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하지 않는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + Thrown if matches . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하는 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if matches . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하는 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if matches . + + + + + 단위 테스트 내에서 컬렉션과 연결된 다양한 조건을 테스트하기 + 위한 도우미 클래스의 컬렉션. 테스트 중인 조건이 충족되지 않으면 + 예외가 throw됩니다. + + + + + CollectionAssert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + Thrown if is found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 포함된 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if is found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 포함된 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is found in + . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null 요소를 포함하는 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null 요소를 포함하는 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + Thrown if a two or more equal elements are found in + . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 하나 이상의 중복 요소를 포함하는 경우. 메시지는 테스트 결과에 + 표시됩니다. + + + Thrown if a two or more equal elements are found in + . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 하나 이상의 중복 요소를 포함하는 경우. 메시지는 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if a two or more equal elements are found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + + 의 요소가 다음에서 발견되지 않는 경우 예외에 포함할 메시지입니다.. + 테스트 결과에 메시지가 표시됩니다. + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + + 의 모든 요소가 다음에서 발견되지 않는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + Thrown if every element in is also found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + + 의 모든 요소가 다음에서도 발견되는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + Thrown if every element in is also found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + + 의 모든 요소가 다음에서도 발견되는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if every element in is also found in + . + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 요소가 컬렉션 중 하나에서는 발견되었지만 다른 곳에서는 발견되지 + 않은 경우 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 요소가 컬렉션 중 하나에서는 발견되었지만 다른 곳에서는 발견되지 + 않은 경우 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 요소를 포함하는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 요소를 포함하는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + + 의 요소가 다음의 인스턴스가 아닌 경우 예외에 포함할 메시지: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + + 의 요소가 다음의 인스턴스가 아닌 경우 예외에 포함할 메시지: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 첫 번째 컬렉션이 두 번째 컬렉션의 하위 집합인지를 + 확인합니다. 한 집합에 중복된 요소가 포함된 경우, 하위 집합에 있는 요소의 + 발생 횟수는 상위 집합에 있는 발생 횟수와 같거나 + 작아야 합니다. + + + 테스트가 다음에 포함될 것으로 예상하는 컬렉션: . + + + 테스트가 다음을 포함할 것으로 예상하는 컬렉션: . + + + 다음의 경우 True 이(가) + 의 하위 집합인 경우 참, 나머지 경우는 거짓. + + + + + 지정된 컬렉션에서 각 요소의 발생 횟수를 포함하는 + 사전을 생성합니다. + + + 처리할 컬렉션. + + + 컬렉션에 있는 null 요소의 수. + + + 지정된 컬렉션에 있는 각 요소의 발생 횟수를 포함하는 + 딕셔너리. + + + + + 두 컬렉션 간의 불일치 요소를 찾습니다. 불일치 요소란 + 예상 컬렉션에 나타나는 횟수가 실제 컬렉션에 + 나타나는 횟수와 다른 요소를 말합니다. 컬렉션은 + 같은 수의 요소가 있는 Null이 아닌 다른 참조로 + 간주됩니다. 이 수준에서의 확인 작업은 호출자의 + 책임입니다. 불일치 요소가 없으면 함수는 false를 + 반환하고 출력 매개 변수가 사용되지 않습니다. + + + 비교할 첫 번째 컬렉션. + + + 비교할 두 번째 컬렉션. + + + 다음의 예상 발생 횟수: + 또는 불일치 요소가 없는 경우 + 영(0). + + + 다음의 실제 발생 횟수: + 또는 불일치 요소가 없는 경우 + 영(0). + + + 불일치 요소(null일 수 있음) 또는 불일치 요소가 없는 경우 + null. + + + 불일치 요소가 발견되면 참, 발견되지 않으면 거짓. + + + + + object.Equals를 사용하여 개체 비교합니다. + + + + + 프레임워크 예외에 대한 기본 클래스입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다. + + + + + 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다. + + + + + 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 + 대한 현재 스레드의 CurrentUICulture 속성을 재정의합니다. + + + + + [액세스 문자열의 구문이 잘못되었습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 컬렉션에 <{2}>은(는) {1}개가 포함되어야 하는데 실제 컬렉션에는 {3}개가 포함되어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [중복된 항목이 있습니다. <{1}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>. 대/소문자가 다른 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값 <{1}>과(와) 실제 값 <{2}>의 차이가 <{3}>보다 크지 않아야 합니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}({2})>. 실제 값: <{3}({4})>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>. 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값 <{1}>과(와) 실제 값 <{2}>의 차이가 <{3}>보다 커야 합니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>을(를) 제외한 모든 값. 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [AreSame()에 값 형식을 전달하면 안 됩니다. Object로 변환된 값은 동일한 값으로 간주되지 않습니다. AreEqual()을 사용해 보세요. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}이(가) 실패했습니다. {1}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [async TestMethod with UITestMethodAttribute는 지원되지 않습니다. async를 제거하거나 TestMethodAttribute를 사용하세요.]와 유사한 지역화된 문자열 조회합니다. + + + + + [두 컬렉션이 모두 비어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션에 같은 요소가 포함되어 있습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션 참조가 동일한 컬렉션 개체를 가리킵니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션에 같은 요소가 포함되어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}({1})]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [(null)]과 유사한 지역화된 문자열을 조회합니다. + + + + + Looks up a localized string similar to (object). + + + + + ['{0}' 문자열이 '{1}' 문자열을 포함하지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}({1})]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [어설션에 Assert.Equals를 사용할 수 없습니다. 대신 Assert.AreEqual 및 오버로드를 사용하세요.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [컬렉션의 요소 수가 일치하지 않습니다. 예상 값: <{1}>. 실제 값: <{2}>.{0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {0}에 있는 요소가 일치하지 않습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {1}에 있는 요소는 예상 형식이 아닙니다. 예상 형식: <{2}>. 실제 형식: <{3}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {1}에 있는 요소가 (null)입니다. 예상 형식: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 문자열로 끝나지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [잘못된 인수 - EqualsTester에는 Null을 사용할 수 없습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 형식의 개체를 {1} 형식의 개체로 변환할 수 없습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [참조된 내부 개체가 더 이상 유효하지 않습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 매개 변수가 잘못되었습니다. {1}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 속성의 형식은 {2}이어야 하는데 실제로는 {1}입니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 예상 형식: <{1}>. 실제 형식: <{2}>.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 패턴과 일치하지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [잘못된 형식: <{1}>. 실제 형식: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 패턴과 일치합니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [DataRowAttribute가 지정되지 않았습니다. DataTestMethodAttribute에는 하나 이상의 DataRowAttribute가 필요합니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{1} 예외를 예상했지만 예외가 throw되지 않았습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 매개 변수가 잘못되었습니다. 이 값은 Null일 수 없습니다. {1}.](과)와 유사한 지역화된 문자열을 조회합니다. + + + + + [요소 수가 다릅니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + 다음과 유사한 지역화된 문자열을 조회합니다. + [지정한 시그니처를 가진 생성자를 찾을 수 없습니다. 전용 접근자를 다시 생성해야 할 수 있습니다. + 또는 멤버가 기본 클래스에 정의된 전용 멤버일 수 있습니다. 기본 클래스에 정의된 전용 멤버인 경우에는 이 멤버를 정의하는 형식을 + PrivateObject의 생성자에 전달해야 합니다.] + + + + + + 다음과 유사한 지역화된 문자열을 조회합니다. + [지정한 멤버({0})를 찾을 수 없습니다. 전용 접근자를 다시 생성해야 할 수 있습니다. + 또는 멤버가 기본 클래스에 정의된 전용 멤버일 수 있습니다. 기본 클래스에 정의된 전용 멤버인 경우에는 이 멤버를 정의하는 형식을 + PrivateObject의 생성자에 전달해야 합니다.] + + + + + + ['{0}' 문자열이 '{1}' 문자열로 시작되지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 예외 형식은 System.Exception이거나 System.Exception에서 파생된 형식이어야 합니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [(예외로 인해 {0} 형식의 예외에 대한 메시지를 가져오지 못했습니다.)]와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 예상 예외 {0}을(를) throw하지 않았습니다. {1}](과)와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 예상 예외를 throw하지 않았습니다. 예외는 테스트 메서드에 정의된 {0} 특성에 의해 예상되었습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 {0} 예외를 throw했지만 {1} 예외를 예상했습니다. 예외 메시지: {2}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 {0} 예외를 throw했지만 {1} 예외 또는 해당 예외에서 파생된 형식을 예상했습니다. 예외 메시지: {2}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{1} 예외를 예상했지만 {2} 예외를 throw했습니다. {0} + 예외 메시지: {3} + 스택 추적: {4}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + 단위 테스트 결과 + + + + + 테스트가 실행되었지만 문제가 있습니다. + 예외 또는 실패한 어설션과 관련된 문제일 수 있습니다. + + + + + 테스트가 완료되었지만, 성공인지 실패인지를 알 수 없습니다. + 중단된 테스트에 사용된 것일 수 있습니다. + + + + + 아무 문제 없이 테스트가 실행되었습니다. + + + + + 테스트가 현재 실행 중입니다. + + + + + 테스트를 실행하려고 시도하는 동안 시스템 오류가 발생했습니다. + + + + + 테스트가 시간 초과되었습니다. + + + + + 테스트가 사용자에 의해 중단되었습니다. + + + + + 테스트의 상태를 알 수 없습니다. + + + + + 단위 테스트 프레임워크에 대한 도우미 기능을 제공합니다. + + + + + 재귀적으로 모든 내부 예외에 대한 메시지를 포함하여 예외 메시지를 + 가져옵니다. + + 오류 메시지 정보가 포함된 + 문자열에 대한 메시지 가져오기의 예외 + + + + 클래스와 함께 사용할 수 있는 시간 제한에 대한 열거형입니다. + 열거형의 형식은 일치해야 합니다. + + + + + 무제한입니다. + + + + + 테스트 클래스 특성입니다. + + + + + 이 테스트를 실행할 수 있는 테스트 메서드 특성을 가져옵니다. + + 이 메서드에 정의된 테스트 메서드 특성 인스턴스입니다. + 이 테스트를 실행하는 데 사용됩니다. + Extensions can override this method to customize how all methods in a class are run. + + + + 테스트 메서드 특성입니다. + + + + + 테스트 메서드를 실행합니다. + + 실행할 테스트 메서드입니다. + 테스트 결과를 나타내는 TestResult 개체의 배열입니다. + Extensions can override this method to customize running a TestMethod. + + + + 테스트 초기화 특성입니다. + + + + + 테스트 정리 특성입니다. + + + + + 무시 특성입니다. + + + + + 테스트 속성 특성입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 이름. + + + 값. + + + + + 이름을 가져옵니다. + + + + + 값을 가져옵니다. + + + + + 클래스 초기화 특성입니다. + + + + + 클래스 정리 특성입니다. + + + + + 어셈블리 초기화 특성입니다. + + + + + 어셈블리 정리 특성입니다. + + + + + 테스트 소유자 + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 소유자. + + + + + 소유자를 가져옵니다. + + + + + Priority 특성 - 단위 테스트의 우선 순위를 지정하는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 우선 순위. + + + + + 우선 순위를 가져옵니다. + + + + + 테스트의 설명 + + + + + 테스트를 설명하는 클래스의 새 인스턴스를 초기화합니다. + + 설명입니다. + + + + 테스트의 설명을 가져옵니다. + + + + + CSS 프로젝트 구조 URI + + + + + CSS 프로젝트 구조 URI에 대한 클래스의 새 인스턴스를 초기화합니다. + + CSS 프로젝트 구조 URI입니다. + + + + CSS 프로젝트 구조 URI를 가져옵니다. + + + + + CSS 반복 URI + + + + + CSS 반복 URI에 대한 클래스의 새 인스턴스를 초기화합니다. + + CSS 반복 URI입니다. + + + + CSS 반복 URI를 가져옵니다. + + + + + WorkItem 특성 - 이 테스트와 연결된 작업 항목을 지정하는 데 사용됩니다. + + + + + WorkItem 특성에 대한 클래스의 새 인스턴스를 초기화합니다. + + 작업 항목에 대한 ID입니다. + + + + 연결된 작업 항목에 대한 ID를 가져옵니다. + + + + + Timeout 특성 - 단위 테스트의 시간 제한을 지정하는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 시간 제한. + + + + + 미리 설정된 시간 제한이 있는 클래스의 새 인스턴스를 초기화합니다. + + + 시간 제한 + + + + + 시간 제한을 가져옵니다. + + + + + 어댑터에 반환할 TestResult 개체입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 결과의 표시 이름을 가져오거나 설정합니다. 여러 결과를 반환할 때 유용합니다. + Null인 경우 메서드 이름은 DisplayName으로 사용됩니다. + + + + + 테스트 실행의 결과를 가져오거나 설정합니다. + + + + + 테스트 실패 시 throw할 예외를 가져오거나 설정합니다. + + + + + 테스트 코드에서 로그한 메시지의 출력을 가져오거나 설정합니다. + + + + + 테스트 코드에서 로그한 메시지의 출력을 가져오거나 설정합니다. + + + + + 테스트 코드에 의한 디버그 추적을 가져오거나 설정합니다. + + + + + Gets or sets the debug traces by test code. + + + + + 테스트 실행의 지속 시간을 가져오거나 설정합니다. + + + + + 데이터 소스에서 데이터 행 인덱스를 가져오거나 설정합니다. 데이터 기반 테스트에서 + 개별 데이터 행 실행의 결과에 대해서만 설정합니다. + + + + + 테스트 메서드의 반환 값을 가져오거나 설정합니다(현재 항상 Null). + + + + + 테스트로 첨부한 결과 파일을 가져오거나 설정합니다. + + + + + 데이터 기반 테스트에 대한 연결 문자열, 테이블 이름 및 행 액세스 방법을 지정합니다. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource의 기본 공급자 이름입니다. + + + + + 기본 데이터 액세스 방법입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 데이터 소스에 액세스할 데이터 공급자, 연결 문자열, 데이터 테이블 및 데이터 액세스 방법으로 초기화됩니다. + + 고정 데이터 공급자 이름(예: System.Data.SqlClient) + + 데이터 공급자별 연결 문자열. + 경고: 연결 문자열에는 중요한 데이터(예: 암호)가 포함될 수 있습니다. + 연결 문자열은 소스 코드와 컴파일된 어셈블리에 일반 텍스트로 저장됩니다. + 이 중요한 정보를 보호하려면 소스 코드 및 어셈블리에 대한 액세스를 제한하세요. + + 데이터 테이블의 이름. + 데이터에 액세스할 순서를 지정합니다. + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 연결 문자열 및 테이블 이름으로 초기화됩니다. + OLEDB 데이터 소스에 액세스하기 위한 연결 문자열 및 데이터 테이블을 지정하세요. + + + 데이터 공급자별 연결 문자열. + 경고: 연결 문자열에는 중요한 데이터(예: 암호)가 포함될 수 있습니다. + 연결 문자열은 소스 코드와 컴파일된 어셈블리에 일반 텍스트로 저장됩니다. + 이 중요한 정보를 보호하려면 소스 코드 및 어셈블리에 대한 액세스를 제한하세요. + + 데이터 테이블의 이름. + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 설정 이름과 연결된 연결 문자열 및 데이터 공급자로 초기화됩니다. + + app.config 파일의 <microsoft.visualstudio.qualitytools> 섹션에 있는 데이터 소스의 이름. + + + + 데이터 소스의 데이터 공급자를 나타내는 값을 가져옵니다. + + + 데이터 공급자 이름. 데이터 공급자를 개체 초기화에서 지정하지 않은 경우 System.Data.OleDb의 기본 공급자가 반환됩니다. + + + + + 데이터 소스의 연결 문자열을 나타내는 값을 가져옵니다. + + + + + 데이터를 제공하는 테이블 이름을 나타내는 값을 가져옵니다. + + + + + 데이터 소스에 액세스하는 데 사용되는 메서드를 가져옵니다. + + + + 값 중 하나입니다. 이(가) 초기화되지 않은 경우 다음 기본값이 반환됩니다. . + + + + + app.config 파일의 <microsoft.visualstudio.qualitytools> 섹션에서 찾은 데이터 소스의 이름을 가져옵니다. + + + + + 데이터를 인라인으로 지정할 수 있는 데이터 기반 테스트의 특성입니다. + + + + + 모든 데이터 행을 찾고 실행합니다. + + + 테스트 메서드. + + + 배열 . + + + + + 데이터 기반 테스트 메서드를 실행합니다. + + 실행할 테스트 메서드. + 데이터 행. + 실행 결과. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..ec60083 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Służy do określenia elementu wdrożenia (pliku lub katalogu) dla wdrożenia testowego. + Może być określony w klasie testowej lub metodzie testowej. + Może mieć wiele wystąpień atrybutu w celu określenia więcej niż jednego elementu. + Ścieżka elementu może być bezwzględna lub względna. Jeśli jest względna, jest określana względem elementu RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Inicjuje nowe wystąpienie klasy . + + Plik lub katalog do wdrożenia. Ścieżka jest określana względem katalogu wyjściowego kompilacji. Element zostanie skopiowany do tego samego katalogu co wdrożone zestawy testowe. + + + + Inicjuje nowe wystąpienie klasy + + Względna lub bezwzględna ścieżka do pliku lub katalogu do wdrożenia. Ścieżka jest określana względem katalogu wyjściowego kompilacji. Element zostanie skopiowany do tego samego katalogu co wdrożone zestawy testowe. + Ścieżka katalogu, do którego mają być kopiowane elementy. Może być bezwzględna lub określana względem katalogu wdrażania. Wszystkie pliki i katalogi określone przez zostaną skopiowane do tego katalogu. + + + + Pobiera ścieżkę źródłowego pliku lub folderu do skopiowania. + + + + + Pobiera ścieżkę katalogu, do którego element jest kopiowany. + + + + + Zawiera literały nazw sekcji, właściwości, atrybutów. + + + + + Nazwa sekcji konfiguracji. + + + + + Nazwa sekcji konfiguracji dla Beta2. Pozostawiona w celu zapewnienia zgodności. + + + + + Nazwa sekcji dla źródła danych. + + + + + Nazwa atrybutu dla parametru „Name” + + + + + Nazwa atrybutu dla parametru „ConnectionString” + + + + + Nazwa atrybutu dla parametru „DataAccessMethod” + + + + + Nazwa atrybutu dla parametru „DataTable” + + + + + Element źródła danych. + + + + + Pobiera lub ustawia nazwę tej konfiguracji. + + + + + Pobiera lub ustawia element ConnectionStringSettings w sekcji <connectionStrings> w pliku config. + + + + + Pobiera lub ustawia nazwę tabeli danych. + + + + + Pobiera lub ustawia typ dostępu do danych. + + + + + Pobiera nazwę klucza. + + + + + Pobiera właściwości konfiguracji. + + + + + Kolekcja elementów źródła danych. + + + + + Inicjuje nowe wystąpienie klasy . + + + + + Zwraca element konfiguracji z określonym kluczem. + + Klucz elementu do zwrócenia. + Element System.Configuration.ConfigurationElement z określonym kluczem; w przeciwnym razie wartość null. + + + + Pobiera element konfiguracji pod określoną lokalizacją w indeksie. + + Lokalizacja w indeksie elementu System.Configuration.ConfigurationElement do zwrócenia. + + + + Dodaje element konfiguracji do kolekcji elementów konfiguracji. + + Element System.Configuration.ConfigurationElement do dodania. + + + + Usuwa element System.Configuration.ConfigurationElement z kolekcji. + + . + + + + Usuwa element System.Configuration.ConfigurationElement z kolekcji. + + Klucz elementu System.Configuration.ConfigurationElement do usunięcia. + + + + Usuwa wszystkie obiekty elementów konfiguracji z kolekcji. + + + + + Tworzy nowy element . + + Nowy element. + + + + Pobiera klucz elementu dla określnego elementu konfiguracji. + + Element System.Configuration.ConfigurationElement, dla którego ma zostać zwrócony klucz. + Element System.Object działający jako klucz dla określonego elementu System.Configuration.ConfigurationElement. + + + + Dodaje element konfiguracji do kolekcji elementów konfiguracji. + + Element System.Configuration.ConfigurationElement do dodania. + + + + Dodaje element konfiguracji do kolekcji elementów konfiguracji. + + Lokalizacja w indeksie, pod którą ma zostać dodany określony element System.Configuration.ConfigurationElement. + Element System.Configuration.ConfigurationElement do dodania. + + + + Obsługa ustawień konfiguracji na potrzeby testów. + + + + + Pobiera sekcję konfiguracji dla testów. + + + + + Sekcja konfiguracji dla testów. + + + + + Pobiera źródła danych dla tej sekcji konfiguracji. + + + + + Pobiera kolekcję właściwości. + + + Element właściwości dla elementu. + + + + + Ta klasa reprezentuje rzeczywisty NIEPUBLICZNY obiekt WEWNĘTRZNY w systemie + + + + + Inicjuje nowe wystąpienie klasy , które zawiera + już istniejący obiekt klasy prywatnej + + obiekt służący jako punkt początkowy na potrzeby dostępu do prywatnych elementów członkowskich + ciąg wyłuskujący używający elementu . wskazującego obiekt do pobrania, jak w wyrażeniu m_X.m_Y.m_Z + + + + Inicjuje nowe wystąpienie klasy , które opakowuje + określony typ. + + Nazwa zestawu + w pełni kwalifikowana nazwa + Argumenty do przekazania do konstruktora + + + + Inicjuje nowe wystąpienie klasy , które opakowuje + określony typ. + + Nazwa zestawu + w pełni kwalifikowana nazwa + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla konstruktora do pobrania + Argumenty do przekazania do konstruktora + + + + Inicjuje nowe wystąpienie klasy , które opakowuje + określony typ. + + typ obiektu do utworzenia + Argumenty do przekazania do konstruktora + + + + Inicjuje nowe wystąpienie klasy , które opakowuje + określony typ. + + typ obiektu do utworzenia + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla konstruktora do pobrania + Argumenty do przekazania do konstruktora + + + + Inicjuje nowe wystąpienie klasy , które opakowuje + określony obiekt. + + obiekt do opakowania + + + + Inicjuje nowe wystąpienie klasy , które opakowuje + określony obiekt. + + obiekt do opakowania + Obiekt PrivateType + + + + Pobiera lub ustawia element docelowy + + + + + Pobiera typ obiektu bazowego + + + + + zwraca wartość skrótu docelowego obiektu + + wartość typu int reprezentująca wartość skrótu docelowego obiektu + + + + Jest równe + + Obiekt, z którym ma zostać wykonane porównanie + zwraca wartość true, jeśli obiekty są równe. + + + + Wywołuje określoną metodę + + Nazwa metody + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Wynik wywołania metody + + + + Wywołuje określoną metodę + + Nazwa metody + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do pobrania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Wynik wywołania metody + + + + Wywołuje określoną metodę + + Nazwa metody + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do pobrania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Tablica typów odpowiadających typom argumentów ogólnych. + Wynik wywołania metody + + + + Wywołuje określoną metodę + + Nazwa metody + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Informacje o kulturze + Wynik wywołania metody + + + + Wywołuje określoną metodę + + Nazwa metody + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do pobrania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Informacje o kulturze + Wynik wywołania metody + + + + Wywołuje określoną metodę + + Nazwa metody + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Wynik wywołania metody + + + + Wywołuje określoną metodę + + Nazwa metody + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do pobrania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Wynik wywołania metody + + + + Wywołuje określoną metodę + + Nazwa metody + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Informacje o kulturze + Wynik wywołania metody + + + + Wywołuje określoną metodę + + Nazwa metody + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do pobrania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Informacje o kulturze + Wynik wywołania metody + + + + Wywołuje określoną metodę + + Nazwa metody + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do pobrania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Informacje o kulturze + Tablica typów odpowiadających typom argumentów ogólnych. + Wynik wywołania metody + + + + Pobiera element tablicy przy użyciu tablicy indeksów dla każdego wymiaru + + Nazwa elementu członkowskiego + indeksy tablicy + Tablica elementów. + + + + Ustawia element tablicy przy użyciu tablicy indeksów dla każdego wymiaru + + Nazwa elementu członkowskiego + Wartość do ustawienia + indeksy tablicy + + + + Pobiera element tablicy przy użyciu tablicy indeksów dla każdego wymiaru + + Nazwa elementu członkowskiego + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + indeksy tablicy + Tablica elementów. + + + + Ustawia element tablicy przy użyciu tablicy indeksów dla każdego wymiaru + + Nazwa elementu członkowskiego + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Wartość do ustawienia + indeksy tablicy + + + + Pobierz pole + + Nazwa pola + Pole. + + + + Ustawia pole + + Nazwa pola + wartość do ustawienia + + + + Pobiera pole + + Nazwa pola + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Pole. + + + + Ustawia pole + + Nazwa pola + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + wartość do ustawienia + + + + Pobierz pole lub właściwość + + Nazwa pola lub właściwości + Pole lub właściwość. + + + + Ustawia pole lub właściwość + + Nazwa pola lub właściwości + wartość do ustawienia + + + + Pobiera pole lub właściwość + + Nazwa pola lub właściwości + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Pole lub właściwość. + + + + Ustawia pole lub właściwość + + Nazwa pola lub właściwości + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + wartość do ustawienia + + + + Pobiera właściwość + + Nazwa właściwości + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Właściwość. + + + + Pobiera właściwość + + Nazwa właściwości + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów właściwości indeksowanej. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Właściwość. + + + + Ustaw właściwość + + Nazwa właściwości + wartość do ustawienia + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + + + + Ustaw właściwość + + Nazwa właściwości + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów właściwości indeksowanej. + wartość do ustawienia + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + + + + Pobiera właściwość + + Nazwa właściwości + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Właściwość. + + + + Pobiera właściwość + + Nazwa właściwości + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów właściwości indeksowanej. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Właściwość. + + + + Ustawia właściwość + + Nazwa właściwości + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + wartość do ustawienia + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + + + + Ustawia właściwość + + Nazwa właściwości + Maska bitów składająca się z co najmniej jednego określający sposób wykonania wyszukiwania. + wartość do ustawienia + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów właściwości indeksowanej. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + + + + Zweryfikuj ciąg dostępu + + ciąg dostępu + + + + Wywołuje element członkowski + + Nazwa elementu członkowskiego + Dodatkowe atrybuty + Argumenty wywołania + Kultura + Wynik wywołania + + + + Wyodrębnia najbardziej odpowiednią sygnaturę metody ogólnej z bieżącego typu prywatnego. + + Nazwa metody przeszukującej pamięć podręczną sygnatur. + Tablica typów odpowiadających typom przeszukiwanych parametrów. + Tablica typów odpowiadających typom argumentów ogólnych. + , aby bardziej szczegółowo filtrować sygnatury metod. + Modyfikatory dla parametrów. + Wystąpienie elementu methodinfo. + + + + Ta klasa reprezentuje klasę prywatną dla funkcjonalności prywatnej metody dostępu. + + + + + Wiąże się z każdym elementem + + + + + Opakowany typ. + + + + + Inicjuje nowe wystąpienie klasy , które zawiera typ prywatny. + + Nazwa zestawu + w pełni kwalifikowana nazwa + + + + Inicjuje nowe wystąpienie klasy , które zawiera + typ prywatny z obiektu typu + + Opakowany typ do utworzenia. + + + + Pobiera przywoływany typ + + + + + Wywołuje statyczny element członkowski + + Nazwa elementu członkowskiego dla elementu InvokeHelper + Argumenty wywołania + Wynik wywołania + + + + Wywołuje statyczny element członkowski + + Nazwa elementu członkowskiego dla elementu InvokeHelper + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do wywołania + Argumenty wywołania + Wynik wywołania + + + + Wywołuje statyczny element członkowski + + Nazwa elementu członkowskiego dla elementu InvokeHelper + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do wywołania + Argumenty wywołania + Tablica typów odpowiadających typom argumentów ogólnych. + Wynik wywołania + + + + Wywołuje metodę statyczną + + Nazwa elementu członkowskiego + Argumenty wywołania + Kultura + Wynik wywołania + + + + Wywołuje metodę statyczną + + Nazwa elementu członkowskiego + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do wywołania + Argumenty wywołania + Informacje o kulturze + Wynik wywołania + + + + Wywołuje metodę statyczną + + Nazwa elementu członkowskiego + Dodatkowe atrybuty wywołania + Argumenty wywołania + Wynik wywołania + + + + Wywołuje metodę statyczną + + Nazwa elementu członkowskiego + Dodatkowe atrybuty wywołania + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do wywołania + Argumenty wywołania + Wynik wywołania + + + + Wywołuje metodę statyczną + + Nazwa elementu członkowskiego + Dodatkowe atrybuty wywołania + Argumenty wywołania + Kultura + Wynik wywołania + + + + Wywołuje metodę statyczną + + Nazwa elementu członkowskiego + Dodatkowe atrybuty wywołania + /// Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do wywołania + Argumenty wywołania + Kultura + Wynik wywołania + + + + Wywołuje metodę statyczną + + Nazwa elementu członkowskiego + Dodatkowe atrybuty wywołania + /// Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów dla metody do wywołania + Argumenty wywołania + Kultura + Tablica typów odpowiadających typom argumentów ogólnych. + Wynik wywołania + + + + Pobiera element w tablicy statycznej + + Nazwa tablicy + + Jednowymiarowa tablica 32-bitowych liczb całkowitych reprezentujących indeksy określające + pozycję elementu do pobrania. Przykładowo aby uzyskać dostęp do elementu a[10][11], indeksem będzie {10,11} + + element w określonej lokalizacji + + + + Ustawia element członkowski tablicy statycznej + + Nazwa tablicy + wartość do ustawienia + + Jednowymiarowa tablica 32-bitowych liczb całkowitych reprezentujących indeksy określające + pozycję elementu do ustawienia. Przykładowo aby uzyskać dostęp do elementu a[10][11], tablicą będzie {10,11} + + + + + Pobiera element z tablicy statycznej + + Nazwa tablicy + Dodatkowe atrybuty elementu InvokeHelper + + Jednowymiarowa tablica 32-bitowych liczb całkowitych reprezentujących indeksy określające + pozycję elementu do pobrania. Przykładowo aby uzyskać dostęp do elementu a[10][11], tablicą będzie {10,11} + + element w określonej lokalizacji + + + + Ustawia element członkowski tablicy statycznej + + Nazwa tablicy + Dodatkowe atrybuty elementu InvokeHelper + wartość do ustawienia + + Jednowymiarowa tablica 32-bitowych liczb całkowitych reprezentujących indeksy określające + pozycję elementu do ustawienia. Przykładowo aby uzyskać dostęp do elementu a[10][11], tablicą będzie {10,11} + + + + + Pobiera pole statyczne + + Nazwa pola + Pole statyczne. + + + + Ustawia pole statyczne + + Nazwa pola + Argument wywołania + + + + Pobiera pole statyczne za pomocą określonych atrybutów elementu InvokeHelper + + Nazwa pola + Dodatkowe atrybuty wywołania + Pole statyczne. + + + + Ustawia pole statyczne za pomocą atrybutów powiązania + + Nazwa pola + Dodatkowe atrybuty elementu InvokeHelper + Argument wywołania + + + + Pobiera pole statyczne lub właściwość + + Nazwa pola lub właściwości + Statyczne pole lub właściwość. + + + + Ustawia pole statyczne lub właściwość + + Nazwa pola lub właściwości + Wartość do ustawienia dla pola lub właściwości + + + + Pobiera pole statyczne lub właściwość za pomocą określonych atrybutów elementu InvokeHelper + + Nazwa pola lub właściwości + Dodatkowe atrybuty wywołania + Statyczne pole lub właściwość. + + + + Ustawia pole statyczne lub właściwość za pomocą atrybutów powiązania + + Nazwa pola lub właściwości + Dodatkowe atrybuty wywołania + Wartość do ustawienia dla pola lub właściwości + + + + Pobiera właściwość statyczną + + Nazwa pola lub właściwości + Argumenty wywołania + Właściwość statyczna. + + + + Ustawia właściwość statyczną + + Nazwa właściwości + Wartość do ustawienia dla pola lub właściwości + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + + + + Ustawia właściwość statyczną + + Nazwa właściwości + Wartość do ustawienia dla pola lub właściwości + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów właściwości indeksowanej. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + + + + Pobiera właściwość statyczną + + Nazwa właściwości + Dodatkowe atrybuty wywołania. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Właściwość statyczna. + + + + Pobiera właściwość statyczną + + Nazwa właściwości + Dodatkowe atrybuty wywołania. + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów właściwości indeksowanej. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + Właściwość statyczna. + + + + Ustawia właściwość statyczną + + Nazwa właściwości + Dodatkowe atrybuty wywołania. + Wartość do ustawienia dla pola lub właściwości + Opcjonalne wartości indeksu dla właściwości indeksowanych. Indeksy właściwości indeksowanych są liczone od zera. W przypadku właściwości nieindeksowanych powinna to być wartość null. + + + + Ustawia właściwość statyczną + + Nazwa właściwości + Dodatkowe atrybuty wywołania. + Wartość do ustawienia dla pola lub właściwości + Tablica obiektów reprezentujących liczbę, kolejność i typ parametrów właściwości indeksowanej. + Argumenty do przekazania do elementu członkowskiego na potrzeby wywołania. + + + + Wywołuje metodę statyczną + + Nazwa elementu członkowskiego + Dodatkowe atrybuty wywołania + Argumenty wywołania + Kultura + Wynik wywołania + + + + Udostępnia odnajdywanie podpisu metody dla metod ogólnych. + + + + + Porównuje sygnatury tych dwóch metod. + + Method1 + Method2 + Ma wartość true, jeśli są one podobne. + + + + Pobiera głębokość hierarchii z typu podstawowego podanego typu. + + Typ. + Głębokość. + + + + Znajduje najbardziej pochodny typ z podanymi informacjami. + + Dopasowania kandydatów. + Liczba dopasowań. + Najbardziej pochodna metoda. + + + + Za pomocą podanego zbioru metod pasujących do podstawowych kryteriów wybierz metodę + opartą na tablicy typów. Ta metoda powinna zwracać wartość null, jeśli żadna metoda + nie pasuje do kryteriów. + + Specyfikacja powiązania. + Dopasowania kandydatów + Typy + Modyfikatory parametrów. + Zgodna metoda. Null, jeśli brak zgodności. + + + + Znajduje najbardziej specyficzną metodę spośród dwóch podanych metod. + + Metoda 1 + Kolejność parametrów dla metody 1 + Typ tablicy parametrów. + Metoda 2 + Kolejność parametrów dla metody 2 + >Typ tablicy parametrów. + Typy do przeszukania. + Argumenty. + Wartość int reprezentująca dopasowanie. + + + + Znajduje najbardziej specyficzną metodę spośród dwóch podanych metod. + + Metoda 1 + Kolejność parametrów dla metody 1 + Typ tablicy parametrów. + Metoda 2 + Kolejność parametrów dla metody 2 + >Typ tablicy parametrów. + Typy do przeszukania. + Argumenty. + Wartość int reprezentująca dopasowanie. + + + + Znajduje najbardziej specyficzny typ spośród dwóch podanych. + + Typ 1 + Typ 2 + Typ definiujący + Wartość int reprezentująca dopasowanie. + + + + Używane do przechowywania informacji udostępnianych testom jednostkowym. + + + + + Pobiera właściwości testu. + + + + + Pobiera bieżący wiersz danych, gdy test służy do testowania opartego na danych. + + + + + Pobiera bieżący wiersz połączenia danych, gdy test służy do testowania opartego na danych. + + + + + Pobiera katalog podstawowy dla uruchomienia testu, w którym są przechowywane wdrożone pliki i pliki wyników. + + + + + Pobiera katalog dla plików wdrożonych na potrzeby uruchomienia testu. Zazwyczaj jest to podkatalog . + + + + + Pobiera katalog podstawowy dla wyników uruchomienia testu. Zazwyczaj jest to podkatalog . + + + + + Pobiera katalog dla plików wyników uruchomienia testu. Zazwyczaj jest to podkatalog . + + + + + Pobiera katalog dla plików wyników testu. + + + + + Pobiera katalog podstawowy dla uruchomienia testu, w którym są przechowywane wdrożone pliki i pliki wyników. + Taki sam jak . Zamiast tego użyj tej właściwości. + + + + + Pobiera katalog dla plików wdrożonych na potrzeby uruchomienia testu. Zazwyczaj jest to podkatalog . + Taki sam jak . Zamiast tego użyj tej właściwości. + + + + + Pobiera katalog dla plików wyników uruchomienia testu. Zazwyczaj jest to podkatalog . + Taki sam jak . Użyj tej właściwości dla plików wyników uruchomienia testu lub zamiast tego użyj katalogu + dla plików wyników specyficznych dla testu. + + + + + Pobiera w pełni kwalifikowaną nazwę klasy zawierającej metodę testowania, która jest obecnie wykonywana + + + + + Pobiera nazwę aktualnie wykonywanej metody testowej + + + + + Pobiera wynik bieżącego testu. + + + + + Używane do zapisywania komunikatów śledzenia podczas działania testu + + ciąg sformatowanego komunikatu + + + + Używane do zapisywania komunikatów śledzenia podczas działania testu + + ciąg formatu + argumenty + + + + Dodaje nazwę pliku do listy w elemencie TestResult.ResultFileNames + + + Nazwa pliku. + + + + + Uruchamia czasomierz o określonej nazwie + + Nazwa czasomierza. + + + + Zatrzymuje czasomierz o określonej nazwie + + Nazwa czasomierza. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..5593384 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Metoda TestMethod do wykonania. + + + + + Pobiera nazwę metody testowej. + + + + + Pobiera nazwę klasy testowej. + + + + + Pobiera zwracany typ metody testowej. + + + + + Pobiera parametry metody testowej. + + + + + Pobiera element methodInfo dla metody testowej. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Wywołuje metodę testową. + + + Argumenty przekazywane do metody testowej (np. w przypadku opartej na danych) + + + Wynik wywołania metody testowej. + + + This call handles asynchronous test methods as well. + + + + + Pobierz wszystkie atrybuty metody testowej. + + + Informacja o tym, czy atrybut zdefiniowany w klasie nadrzędnej jest prawidłowy. + + + Wszystkie atrybuty. + + + + + Pobierz atrybut określonego typu. + + System.Attribute type. + + Informacja o tym, czy atrybut zdefiniowany w klasie nadrzędnej jest prawidłowy. + + + Atrybuty określonego typu. + + + + + Element pomocniczy. + + + + + Sprawdzany parametr nie ma wartości null. + + + Parametr. + + + Nazwa parametru. + + + Komunikat. + + Throws argument null exception when parameter is null. + + + + Sprawdzany parametr nie ma wartości null i nie jest pusty. + + + Parametr. + + + Nazwa parametru. + + + Komunikat. + + Throws ArgumentException when parameter is null. + + + + Wyliczenie dotyczące sposobu dostępu do wierszy danych w teście opartym na danych. + + + + + Wiersze są zwracane po kolei. + + + + + Wiersze są zwracane w kolejności losowej. + + + + + Atrybut do definiowania danych wbudowanych dla metody testowej. + + + + + Inicjuje nowe wystąpienie klasy . + + Obiekt danych. + + + + Inicjuje nowe wystąpienie klasy , które pobiera tablicę argumentów. + + Obiekt danych. + Więcej danych. + + + + Pobiera dane do wywoływania metody testowej. + + + + + Pobiera lub ustawia nazwę wyświetlaną w wynikach testu do dostosowania. + + + + + Wyjątek niejednoznacznej asercji. + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Klasa InternalTestFailureException. Używana do określenia wewnętrznego błędu przypadku testowego + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat wyjątku. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat wyjątku. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Atrybut określający, że jest oczekiwany wyjątek określonego typu + + + + + Inicjuje nowe wystąpienie klasy z oczekiwanym typem + + Typ oczekiwanego wyjątku + + + + Inicjuje nowe wystąpienie klasy z + oczekiwanym typem i komunikatem do uwzględnienia, gdy test nie zgłasza żadnego wyjątku. + + Typ oczekiwanego wyjątku + + Komunikat do dołączenia do wyniku testu, jeśli test nie powiedzie się, ponieważ nie zostanie zgłoszony wyjątek + + + + + Pobiera wartość wskazującą typ oczekiwanego wyjątku + + + + + Pobiera lub ustawia wartość wskazującą, czy typy pochodne typu oczekiwanego wyjątku + są traktowane jako oczekiwane + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Weryfikuje, czy typ wyjątku zgłoszonego przez test jednostkowy jest oczekiwany + + Wyjątek zgłoszony przez test jednostkowy + + + + Klasa podstawowa dla atrybutów, które określają, że jest oczekiwany wyjątek z testu jednostkowego + + + + + Inicjuje nowe wystąpienie klasy z domyślnym komunikatem o braku wyjątku + + + + + Inicjuje nowe wystąpienie klasy z komunikatem o braku wyjątku + + + Komunikat do dołączenia do wyniku testu, jeśli test nie powiedzie się, ponieważ + nie zostanie zgłoszony wyjątek + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Pobiera domyślny komunikat bez wyjątku + + Nazwa typu atrybutu ExpectedException + Domyślny komunikat bez wyjątku + + + + Określa, czy wyjątek jest oczekiwany. Jeśli wykonanie metody zakończy się normalnie, oznacza to, + że wyjątek był oczekiwany. Jeśli metoda zgłosi wyjątek, oznacza to, + że wyjątek nie był oczekiwany, a komunikat zgłoszonego wyjątku + jest dołączony do wyniku testu. Klasy można użyć dla + wygody. Jeśli zostanie użyta klasa i asercja nie powiedzie się, + wynik testu zostanie ustawiony jako Niejednoznaczny. + + Wyjątek zgłoszony przez test jednostkowy + + + + Zgłoś ponownie wyjątek, jeśli jest to wyjątek AssertFailedException lub AssertInconclusiveException + + Wyjątek do ponownego zgłoszenia, jeśli jest to wyjątek asercji + + + + Ta klasa jest zaprojektowana w taki sposób, aby pomóc użytkownikowi wykonującemu testy jednostkowe dla typów używających typów ogólnych. + Element GenericParameterHelper zachowuje niektóre typowe ograniczenia typów ogólnych, + takie jak: + 1. publiczny konstruktor domyślny + 2. implementuje wspólny interfejs: IComparable, IEnumerable + + + + + Inicjuje nowe wystąpienie klasy , które + spełnia ograniczenie „newable” w typach ogólnych języka C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicjuje nowe wystąpienie klasy , które + inicjuje właściwość Data wartością dostarczoną przez użytkownika. + + Dowolna liczba całkowita + + + + Pobiera lub ustawia element Data + + + + + Wykonuje porównanie wartości dwóch obiektów GenericParameterHelper + + obiekt, z którym ma zostać wykonane porównanie + Wartość true, jeśli obiekt ma tę samą wartość co obiekt „this” typu GenericParameterHelper. + W przeciwnym razie wartość false. + + + + Zwraca wartość skrótu tego obiektu. + + Kod skrótu. + + + + Porównuje dane dwóch obiektów . + + Obiekt do porównania. + + Liczba ze znakiem, która wskazuje wartości względne tego wystąpienia i wartości. + + + Thrown when the object passed in is not an instance of . + + + + + Zwraca obiekt IEnumerator, którego długość jest określona na podstawie + właściwości Data. + + Obiekt IEnumerator + + + + Zwraca obiekt GenericParameterHelper równy + bieżącemu obiektowi. + + Sklonowany obiekt. + + + + Umożliwia użytkownikom rejestrowanie/zapisywanie śladów z testów jednostek w celach diagnostycznych. + + + + + Procedura obsługi elementu LogMessage. + + Komunikat do zarejestrowania. + + + + Zdarzenie, które ma być nasłuchiwane. Zgłaszane, gdy składnik zapisywania testu jednostkowego zapisze jakiś komunikat. + Zwykle zużywane przez adapter. + + + + + Interfejs API składnika zapisywania testu do wywołania na potrzeby rejestrowania komunikatów. + + Format ciągu z symbolami zastępczymi. + Parametry dla symboli zastępczych. + + + + Atrybut TestCategory używany do określenia kategorii testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy i stosuje kategorię do testu. + + + Kategoria testu. + + + + + Pobiera kategorie testu, które zostały zastosowane do testu. + + + + + Klasa podstawowa atrybutu „Category” + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicjuje nowe wystąpienie klasy . + Stosuje kategorię do testu. Ciągi zwrócone przez element TestCategories + są używane w poleceniu /category do filtrowania testów + + + + + Pobiera kategorię testu, która została zastosowana do testu. + + + + + Klasa AssertFailedException. Używana do wskazania niepowodzenia przypadku testowego + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Kolekcja klas pomocniczych na potrzeby testowania różnych warunków w ramach + testów jednostkowych. Jeśli testowany warunek nie zostanie spełniony, zostanie zgłoszony + wyjątek. + + + + + Pobiera pojedyncze wystąpienie funkcji Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość false. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość false. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Thrown if is true. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość true. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is true. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość true. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is true. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Komunikat do dołączenia do wyjątku, gdy element + nie ma wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Komunikat do dołączenia do wyjątku, gdy element + nie ma wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Thrown if is null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is null. + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest tym samym elementem co . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest tym samym elementem co . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest taki sam jak element . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest taki sam jak element . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest wystąpieniem typu . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest wystąpieniem typu . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Komunikat do dołączenia do wyjątku, gdy element + jest wystąpieniem typu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Komunikat do dołączenia do wyjątku, gdy element + jest wystąpieniem typu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Zgłasza wyjątek AssertFailedException. + + + Always thrown. + + + + + Zgłasza wyjątek AssertFailedException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Always thrown. + + + + + Zgłasza wyjątek AssertFailedException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Always thrown. + + + + + Statyczne przeciążenia metody equals są używane do porównywania wystąpień dwóch typów pod kątem + równości odwołań. Ta metoda nie powinna być używana do porównywania dwóch wystąpień pod kątem + równości. Ten obiekt zawsze będzie zgłaszał wyjątek za pomocą metody Assert.Fail. Użyj metody + Assert.AreEqual i skojarzonych przeciążeń w testach jednostkowych. + + Obiekt A + Obiekt B + Zawsze wartość false. + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek AssertFailedException, jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek AssertFailedException, jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Zastępuje znaki null („\0”) ciągiem „\\0”. + + + Ciąg do wyszukania. + + + Przekonwertowany ciąg ze znakami null zastąpionymi ciągiem „\\0”. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Funkcja pomocnicza, która tworzy i zgłasza wyjątek AssertionFailedException + + + nazwa asercji zgłaszającej wyjątek + + + komunikat opisujący warunki dla błędu asercji + + + Parametry. + + + + + Sprawdza parametry pod kątem prawidłowych warunków + + + Parametr. + + + Nazwa asercji. + + + nazwa parametru + + + komunikat dla wyjątku nieprawidłowego parametru + + + Parametry. + + + + + Bezpiecznie konwertuje obiekt na ciąg, obsługując wartości null i znaki null. + Wartości null są konwertowane na ciąg „(null)”. Znaki null są konwertowane na ciąg „\\0”. + + + Obiekt do przekonwertowania na ciąg. + + + Przekonwertowany ciąg. + + + + + Asercja ciągu. + + + + + Pobiera pojedyncze wystąpienie funkcji CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie zaczyna się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie zaczyna się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie kończy się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie kończy się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + nie pasuje do wzorca . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + nie pasuje do wzorca . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Thrown if matches . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + dopasowania . Komunikat jest wyświetlony w wynikach + testu. + + + Thrown if matches . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + dopasowania . Komunikat jest wyświetlony w wynikach + testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if matches . + + + + + Kolekcja klas pomocniczych na potrzeby testowania różnych warunków skojarzonych + z kolekcjami w ramach testów jednostkowych. Jeśli testowany warunek + nie jest spełniony, zostanie zgłoszony wyjątek. + + + + + Pobiera pojedyncze wystąpienie funkcji CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Thrown if is found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + znajduje się w kolekcji . Komunikat jest wyświetlony w wynikach + testu. + + + Thrown if is found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + znajduje się w kolekcji . Komunikat jest wyświetlony w wynikach + testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera element o wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera element o wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera co najmniej jeden zduplikowany element. Komunikat jest wyświetlony w + wynikach testu. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera co najmniej jeden zduplikowany element. Komunikat jest wyświetlony w + wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Thrown if an element in is not found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie można odnaleźć w . + Komunikat jest wyświetlany w wynikach testu. + + + Thrown if an element in is not found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie można odnaleźć w . + Komunikat jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element in is not found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Thrown if every element in is also found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy każdy element w kolekcji + znajduje się również w kolekcji . + Komunikat jest wyświetlany w wynikach testu. + + + Thrown if every element in is also found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy każdy element w kolekcji + znajduje się również w kolekcji . + Komunikat jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if every element in is also found in + . + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do uwzględnienia w wyjątku, gdy element został odnaleziony + w jednej z kolekcji, ale nie ma go w drugiej. Komunikat jest wyświetlany + w wynikach testu. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do uwzględnienia w wyjątku, gdy element został odnaleziony + w jednej z kolekcji, ale nie ma go w drugiej. Komunikat jest wyświetlany + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera te same elementy co . Komunikat + jest wyświetlany w wynikach testu. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera te same elementy co . Komunikat + jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie jest wystąpieniem + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie jest wystąpieniem + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Określa, czy pierwsza kolekcja jest podzbiorem drugiej kolekcji. + Jeśli któryś zbiór zawiera zduplikowane elementy, liczba wystąpień + elementu w podzbiorze musi być mniejsza lub równa liczbie + wystąpień w nadzbiorze. + + + Kolekcja, co do której test oczekuje, że powinna być zawarta w . + + + Kolekcja, co do której test oczekuje, że powinna zawierać . + + + Wartość true, jeśli jest podzbiorem kolekcji + , w przeciwnym razie wartość false. + + + + + Tworzy słownik zawierający liczbę wystąpień każdego elementu + w określonej kolekcji. + + + Kolekcja do przetworzenia. + + + Liczba elementów o wartości null w kolekcji. + + + Słownik zawierający liczbę wystąpień każdego elementu + w określonej kolekcji. + + + + + Znajduje niezgodny element w dwóch kolekcjach. Niezgodny + element to ten, którego liczba wystąpień w oczekiwanej kolekcji + jest inna niż w rzeczywistej kolekcji. Kolekcje + są uznawane za różne odwołania o wartości innej niż null z tą samą + liczbą elementów. Obiekt wywołujący jest odpowiedzialny za ten poziom weryfikacji. + Jeśli nie ma żadnego niezgodnego elementu, funkcja zwraca wynik + false i parametry wyjściowe nie powinny być używane. + + + Pierwsza kolekcja do porównania. + + + Druga kolekcja do porównania. + + + Oczekiwana liczba wystąpień elementu + lub 0, jeśli nie ma żadnego niezgodnego + elementu. + + + Rzeczywista liczba wystąpień elementu + lub 0, jeśli nie ma żadnego niezgodnego + elementu. + + + Niezgodny element (może mieć wartość null) lub wartość null, jeśli + nie ma żadnego niezgodnego elementu. + + + wartość true, jeśli znaleziono niezgodny element; w przeciwnym razie wartość false. + + + + + porównuje obiekty przy użyciu funkcji object.Equals + + + + + Klasa podstawowa dla wyjątków struktury. + + + + + Inicjuje nowe wystąpienie klasy . + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Silnie typizowana klasa zasobów do wyszukiwania zlokalizowanych ciągów itp. + + + + + Zwraca buforowane wystąpienie ResourceManager używane przez tę klasę. + + + + + Przesłania właściwość CurrentUICulture bieżącego wątku dla wszystkich + przypadków przeszukiwania zasobów za pomocą tej silnie typizowanej klasy zasobów. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg dostępu ma nieprawidłową składnię. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana kolekcja zawiera następującą liczbę wystąpień elementu <{2}>: {1}. Rzeczywista kolekcja zawiera następującą liczbę wystąpień: {3}. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Znaleziono zduplikowany element: <{1}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano: <{1}>. Przypadek jest inny w wartości rzeczywistej: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano różnicy nie większej niż <{3}> między oczekiwaną wartością <{1}> i wartością rzeczywistą <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana wartość: <{1} ({2})>. Rzeczywista wartość: <{3} ({4})>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana wartość: <{1}>. Rzeczywista wartość: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano różnicy większej niż <{3}> między oczekiwaną wartością <{1}> a wartością rzeczywistą <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano dowolnej wartości z wyjątkiem: <{1}>. Wartość rzeczywista: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie przekazuj typów wartości do metody AreSame(). Wartości przekonwertowane na typ Object nigdy nie będą takie same. Rozważ użycie metody AreEqual(). {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} — niepowodzenie. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do asynchronicznej metody TestMethod z elementem UITestMethodAttribute, które nie są obsługiwane. Usuń element asynchroniczny lub użyj elementu TestMethodAttribute. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje są puste. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje zawierają te same elementy. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Odwołania do obu kolekcji wskazują ten sam obiekt kolekcji. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje zawierają te same elementy. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0}({1}). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (null). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (object). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie zawiera ciągu „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} ({1}). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie można użyć metody Assert.Equals dla asercji. Zamiast tego użyj metody Assert.AreEqual i przeciążeń. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Liczba elementów w kolekcjach nie jest zgodna. Oczekiwana wartość: <{1}>. Wartość rzeczywista: <{2}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {0} nie jest zgodny. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {1} nie ma oczekiwanego typu. Oczekiwany typ: <{2}>. Rzeczywisty typ: <{3}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {1} ma wartość (null). Oczekiwany typ: <{2}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie kończy się ciągiem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nieprawidłowy argument. Element EqualsTester nie może używać wartości null. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie można przekonwertować obiektu typu {0} na typ {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Przywoływany obiekt wewnętrzny nie jest już prawidłowy. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Parametr „{0}” jest nieprawidłowy. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Właściwość {0} ma typ {1}. Oczekiwano typu {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} Oczekiwany typ: <{1}>. Rzeczywisty typ: <{2}>. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie jest zgodny ze wzorcem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Niepoprawny typ: <{1}>. Rzeczywisty typ: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” jest zgodny ze wzorcem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie określono atrybutu DataRowAttribute. Atrybut DataTestMethodAttribute wymaga co najmniej jednego atrybutu DataRowAttribute. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie zgłoszono wyjątku. Oczekiwany wyjątek: {1}. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Parametr „{0}” jest nieprawidłowy. Wartość nie może być równa null. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Inna liczba elementów. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: + Nie można odnaleźć konstruktora z określoną sygnaturą. Może być konieczne ponowne wygenerowanie prywatnej metody dostępu + lub element członkowski może być zdefiniowany jako prywatny w klasie podstawowej. W drugim przypadku należy przekazać typ, + który definiuje element członkowski w konstruktorze obiektu PrivateObject. + . + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: + Nie można odnaleźć określonego elementu członkowskiego ({0}). Może być konieczne ponowne wygenerowanie prywatnej metody dostępu + lub element członkowski może być zdefiniowany jako prywatny w klasie podstawowej. W drugim przypadku należy przekazać typ, + który definiuje element członkowski w konstruktorze obiektu PrivateObject. + . + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie rozpoczyna się od ciągu „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwanym typem wyjątku musi być typ System.Exception lub typ pochodzący od typu System.Exception. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (Nie można pobrać komunikatu dotyczącego wyjątku typu {0} z powodu wyjątku). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa nie zgłosiła oczekiwanego wyjątku {0}. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa nie zgłosiła wyjątku. Wyjątek był oczekiwany przez atrybut {0} zdefiniowany w metodzie testowej. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa zgłosiła wyjątek {0}, ale oczekiwano wyjątku {1}. Komunikat o wyjątku: {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa zgłosiła wyjątek {0}, ale oczekiwano wyjątku {1} lub typu, który od niego pochodzi. Komunikat o wyjątku: {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Zgłoszono wyjątek {2}, ale oczekiwano wyjątku {1}. {0} + Komunikat o wyjątku: {3} + Ślad stosu: {4}. + + + + + wyniki testu jednostkowego + + + + + Test został wykonany, ale wystąpiły problemy. + Problemy mogą obejmować wyjątki lub asercje zakończone niepowodzeniem. + + + + + Test został ukończony, ale nie można stwierdzić, czy zakończył się powodzeniem, czy niepowodzeniem. + Może być używany dla przerwanych testów. + + + + + Test został wykonany bez żadnych problemów. + + + + + Test jest obecnie wykonywany. + + + + + Wystąpił błąd systemu podczas próby wykonania testu. + + + + + Upłynął limit czasu testu. + + + + + Test został przerwany przez użytkownika. + + + + + Stan testu jest nieznany + + + + + Udostępnia funkcjonalność pomocnika dla platformy testów jednostkowych + + + + + Pobiera komunikaty wyjątku, w tym rekursywnie komunikaty wszystkich wewnętrznych + wyjątków + + Wyjątek, dla którego mają zostać pobrane komunikaty + ciąg z informacjami o komunikacie o błędzie + + + + Wyliczenie dla limitów czasu, które może być używane z klasą . + Typ wyliczenia musi być zgodny + + + + + Nieskończone. + + + + + Atrybut klasy testowej. + + + + + Pobiera atrybut metody testowej, który umożliwia uruchomienie tego testu. + + Wystąpienie atrybutu metody testowej zdefiniowane w tej metodzie. + do użycia do uruchamiania tego testu. + Extensions can override this method to customize how all methods in a class are run. + + + + Atrybut metody testowej. + + + + + Wykonuje metodę testową. + + Metoda testowa do wykonania. + Tablica obiektów TestResult reprezentujących wyniki testu. + Extensions can override this method to customize running a TestMethod. + + + + Atrybut inicjowania testu. + + + + + Atrybut oczyszczania testu. + + + + + Atrybut ignorowania. + + + + + Atrybut właściwości testu. + + + + + Inicjuje nowe wystąpienie klasy . + + + Nazwa. + + + Wartość. + + + + + Pobiera nazwę. + + + + + Pobiera wartość. + + + + + Atrybut inicjowania klasy. + + + + + Atrybut oczyszczania klasy. + + + + + Atrybut inicjowania zestawu. + + + + + Atrybut oczyszczania zestawu. + + + + + Właściciel testu + + + + + Inicjuje nowe wystąpienie klasy . + + + Właściciel. + + + + + Pobiera właściciela. + + + + + Atrybut priorytetu służący do określania priorytetu testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy . + + + Priorytet. + + + + + Pobiera priorytet. + + + + + Opis testu + + + + + Inicjuje nowe wystąpienie klasy do opisu testu. + + Opis. + + + + Pobiera opis testu. + + + + + Identyfikator URI struktury projektu CSS + + + + + Inicjuje nowe wystąpienie klasy dla identyfikatora URI struktury projektu CSS. + + Identyfikator URI struktury projektu CSS. + + + + Pobiera identyfikator URI struktury projektu CSS. + + + + + Identyfikator URI iteracji CSS + + + + + Inicjuje nowe wystąpienie klasy dla identyfikatora URI iteracji CSS. + + Identyfikator URI iteracji CSS. + + + + Pobiera identyfikator URI iteracji CSS. + + + + + Atrybut elementu roboczego służący do określania elementu roboczego skojarzonego z tym testem. + + + + + Inicjuje nowe wystąpienie klasy dla atrybutu WorkItem. + + Identyfikator dla elementu roboczego. + + + + Pobiera identyfikator dla skojarzonego elementu roboczego. + + + + + Atrybut limitu czasu służący do określania limitu czasu testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy . + + + Limit czasu. + + + + + Inicjuje nowe wystąpienie klasy ze wstępnie ustawionym limitem czasu + + + Limit czasu + + + + + Pobiera limit czasu. + + + + + Obiekt TestResult zwracany do adaptera. + + + + + Inicjuje nowe wystąpienie klasy . + + + + + Pobiera lub ustawia nazwę wyświetlaną wyniku. Przydatny w przypadku zwracania wielu wyników. + Jeśli ma wartość null, nazwa metody jest używana jako nazwa wyświetlana. + + + + + Pobiera lub ustawia wynik wykonania testu. + + + + + Pobiera lub ustawia wyjątek zgłoszony, gdy test kończy się niepowodzeniem. + + + + + Pobiera lub ustawia dane wyjściowe komunikatu rejestrowanego przez kod testu. + + + + + Pobiera lub ustawia dane wyjściowe komunikatu rejestrowanego przez kod testu. + + + + + Pobiera lub ustawia ślady debugowania przez kod testu. + + + + + Gets or sets the debug traces by test code. + + + + + Pobiera lub ustawia czas trwania wykonania testu. + + + + + Pobiera lub ustawia indeks wiersza danych w źródle danych. Ustawia tylko dla wyników oddzielnych + uruchomień wiersza danych w teście opartym na danych. + + + + + Pobiera lub ustawia wartość zwracaną metody testowej. (Obecnie zawsze wartość null). + + + + + Pobiera lub ustawia pliki wyników dołączone przez test. + + + + + Określa parametry połączenia, nazwę tabeli i metodę dostępu do wiersza w przypadku testowania opartego na danych. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nazwa domyślnego dostawcy dla źródła danych. + + + + + Domyślna metoda uzyskiwania dostępu do danych. + + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z dostawcą danych, parametrami połączenia, tabelą danych i metodą dostępu do danych w celu uzyskania dostępu do źródła danych. + + Niezmienna nazwa dostawcy danych, taka jak System.Data.SqlClient + + Parametry połączenia specyficzne dla dostawcy danych. + OSTRZEŻENIE: parametry połączenia mogą zawierać poufne dane (na przykład hasło). + Parametry połączenia są przechowywane w postaci zwykłego tekstu w kodzie źródłowym i w skompilowanym zestawie. + Należy ograniczyć dostęp do kodu źródłowego i zestawu, aby chronić te poufne informacje. + + Nazwa tabeli danych. + Określa kolejność dostępu do danych. + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z parametrami połączenia i nazwą tabeli. + Określ parametry połączenia i tabelę danych w celu uzyskania dostępu do źródła danych OLEDB. + + + Parametry połączenia specyficzne dla dostawcy danych. + OSTRZEŻENIE: parametry połączenia mogą zawierać poufne dane (na przykład hasło). + Parametry połączenia są przechowywane w postaci zwykłego tekstu w kodzie źródłowym i w skompilowanym zestawie. + Należy ograniczyć dostęp do kodu źródłowego i zestawu, aby chronić te poufne informacje. + + Nazwa tabeli danych. + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z dostawcą danych i parametrami połączenia skojarzonymi z nazwą ustawienia. + + Nazwa źródła danych znaleziona w sekcji <microsoft.visualstudio.qualitytools> pliku app.config. + + + + Pobiera wartość reprezentującą dostawcę danych źródła danych. + + + Nazwa dostawcy danych. Jeśli dostawca danych nie został wyznaczony w czasie inicjowania obiektu, zostanie zwrócony domyślny dostawca obiektu System.Data.OleDb. + + + + + Pobiera wartość reprezentującą parametry połączenia dla źródła danych. + + + + + Pobiera wartość wskazującą nazwę tabeli udostępniającej dane. + + + + + Pobiera metodę używaną do uzyskiwania dostępu do źródła danych. + + + + Jedna z . Jeśli nie zainicjowano , zwróci wartość domyślną . + + + + + Pobiera nazwę źródła danych znajdującego się w sekcji <microsoft.visualstudio.qualitytools> w pliku app.config. + + + + + Atrybut dla testu opartego na danych, w którym dane można określić bezpośrednio. + + + + + Znajdź wszystkie wiersze danych i wykonaj. + + + Metoda testowa. + + + Tablica elementów . + + + + + Uruchamianie metody testowej dla testu opartego na danych. + + Metoda testowa do wykonania. + Wiersz danych. + Wyniki wykonania. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..e39df20 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Usado para especificar o item de implantação (arquivo ou diretório) para implantação por teste. + Pode ser especificado em classe de teste ou em método de teste. + Pode ter várias instâncias do atributo para especificar mais de um item. + O caminho do item pode ser absoluto ou relativo. Se relativo, é relativo a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Inicializa uma nova instância da classe . + + O arquivo ou o diretório a ser implantado. O caminho é relativo ao diretório de saída do build. O item será copiado para o mesmo diretório que o dos assemblies de teste implantados. + + + + Inicializa uma nova instância da classe + + O caminho relativo ou absoluto ao arquivo ou ao diretório a ser implantado. O caminho é relativo ao diretório de saída do build. O item será copiado para o mesmo diretório que o dos assemblies de teste implantados. + O caminho do diretório para o qual os itens deverão ser copiados. Ele pode ser absoluto ou relativo ao diretório de implantação. Todos os arquivos e diretórios identificados por serão copiados para esse diretório. + + + + Obtém o caminho da pasta ou do arquivo de origem a ser copiado. + + + + + Obtém o caminho do diretório para o qual o item é copiado. + + + + + Contém literais dos nomes das seções, das propriedades e dos atributos. + + + + + O nome da seção de configuração. + + + + + O nome da seção de configuração para Beta2. Mantida para compatibilidade. + + + + + Nome da Seção para a Fonte de dados. + + + + + Nome do Atributo para 'Name' + + + + + Nome do Atributo para 'ConnectionString' + + + + + Nome do Atributo para 'DataAccessMethod' + + + + + Nome do Atributo para 'DataTable' + + + + + O elemento da Fonte de Dados. + + + + + Obtém ou define o nome para essa configuração. + + + + + Obtém ou define o elemento ConnectionStringSettings na seção <connectionStrings> no arquivo .config. + + + + + Obtém ou define o nome da tabela de dados. + + + + + Obtém ou define o tipo de acesso a dados. + + + + + Obtém o nome da chave. + + + + + Obtém as propriedades de configuração. + + + + + A coleção de elementos da Fonte de dados. + + + + + Inicializa uma nova instância da classe . + + + + + Retorna o elemento de configuração com a chave especificada. + + A chave do elemento a ser retornada. + O System.Configuration.ConfigurationElement com a chave especificada; caso contrário, nulo. + + + + Obtém o elemento de configuração no local do índice especificado. + + O local do índice do System.Configuration.ConfigurationElement a ser retornado. + + + + Adiciona um elemento de configuração à coleção de elementos de configuração. + + O System.Configuration.ConfigurationElement para adicionar. + + + + Remove um System.Configuration.ConfigurationElement da coleção. + + O . + + + + Remove um System.Configuration.ConfigurationElement da coleção. + + A chave do System.Configuration.ConfigurationElement a ser removida. + + + + Remove todos os objetos de elementos de configuração da coleção. + + + + + Cria o novo . + + Um novo . + + + + Obtém a chave do elemento para um elemento de configuração especificado. + + O System.Configuration.ConfigurationElement para o qual retornar a chave. + Um System.Object que age como a chave para o System.Configuration.ConfigurationElement especificado. + + + + Adiciona um elemento de configuração à coleção de elementos de configuração. + + O System.Configuration.ConfigurationElement para adicionar. + + + + Adiciona um elemento de configuração à coleção de elementos de configuração. + + O local do índice no qual adicionar o System.Configuration.ConfigurationElement especificado. + O System.Configuration.ConfigurationElement para adicionar. + + + + Suporte para as definições de configuração dos Testes. + + + + + Obtém a seção de configuração para testes. + + + + + A seção de configuração para testes. + + + + + Obtém as fontes de dados para essa seção da configuração. + + + + + Obtém a coleção de propriedades. + + + O de propriedades para o elemento. + + + + + Essa classe representa o objeto dinâmico INTERNO NÃO público no sistema + + + + + Inicializa a nova instância da classe que contém + o objeto já existente da classe particular + + objeto que serve como ponto inicial para alcançar os membros particulares + a cadeia de caracteres de desreferência usando . que aponta para o objeto a ser recuperado como em m_X.m_Y.m_Z + + + + Inicializa uma nova instância da classe que encapsula o + objeto especificado. + + Nome do assembly + nome totalmente qualificado + Argumentos a serem passados ao construtor + + + + Inicializa uma nova instância da classe que encapsula o + objeto especificado. + + Nome do assembly + nome totalmente qualificado + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem obtidos pelo construtor + Argumentos a serem passados ao construtor + + + + Inicializa uma nova instância da classe que encapsula o + objeto especificado. + + o tipo do objeto a ser criado + Argumentos a serem passados ao construtor + + + + Inicializa uma nova instância da classe que encapsula o + objeto especificado. + + o tipo do objeto a ser criado + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem obtidos pelo construtor + Argumentos a serem passados ao construtor + + + + Inicializa uma nova instância da classe que encapsula + o objeto fornecido. + + objeto a ser encapsulado + + + + Inicializa uma nova instância da classe que encapsula + o objeto fornecido. + + objeto a ser encapsulado + Objeto PrivateType + + + + Obtém ou define o destino + + + + + Obtém o tipo de objeto subjacente + + + + + retorna o código hash do objeto de destino + + int que representa o código hash do objeto de destino + + + + Igual a + + Objeto com o qual comparar + retorna verdadeiro se os objetos forem iguais. + + + + Invoca o método especificado + + Nome do método + Argumentos a serem passados para o membro a ser invocado. + Resultado da chamada de método + + + + Invoca o método especificado + + Nome do método + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem obtidos pelo método. + Argumentos a serem passados para o membro a ser invocado. + Resultado da chamada de método + + + + Invoca o método especificado + + Nome do método + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem obtidos pelo método. + Argumentos a serem passados para o membro a ser invocado. + Uma matriz de tipos que correspondem aos tipos dos argumentos genéricos. + Resultado da chamada de método + + + + Invoca o método especificado + + Nome do método + Argumentos a serem passados para o membro a ser invocado. + Informações de cultura + Resultado da chamada de método + + + + Invoca o método especificado + + Nome do método + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem obtidos pelo método. + Argumentos a serem passados para o membro a ser invocado. + Informações de cultura + Resultado da chamada de método + + + + Invoca o método especificado + + Nome do método + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + Argumentos a serem passados para o membro a ser invocado. + Resultado da chamada de método + + + + Invoca o método especificado + + Nome do método + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem obtidos pelo método. + Argumentos a serem passados para o membro a ser invocado. + Resultado da chamada de método + + + + Invoca o método especificado + + Nome do método + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + Argumentos a serem passados para o membro a ser invocado. + Informações de cultura + Resultado da chamada de método + + + + Invoca o método especificado + + Nome do método + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem obtidos pelo método. + Argumentos a serem passados para o membro a ser invocado. + Informações de cultura + Resultado da chamada de método + + + + Invoca o método especificado + + Nome do método + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem obtidos pelo método. + Argumentos a serem passados para o membro a ser invocado. + Informações de cultura + Uma matriz de tipos que correspondem aos tipos dos argumentos genéricos. + Resultado da chamada de método + + + + Obtém o elemento da matriz que usa a matriz de subscritos para cada dimensão + + Nome do membro + os índices da matriz + Uma matriz de elementos. + + + + Define o elemento da matriz que usa a matriz de subscritos para cada dimensão + + Nome do membro + Valor a ser definido + os índices da matriz + + + + Obtém o elemento da matriz que usa a matriz de subscritos para cada dimensão + + Nome do membro + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + os índices da matriz + Uma matriz de elementos. + + + + Define o elemento da matriz que usa a matriz de subscritos para cada dimensão + + Nome do membro + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + Valor a ser definido + os índices da matriz + + + + Obter o campo + + Nome do campo + O campo. + + + + Define o campo + + Nome do campo + valor a ser definido + + + + Obtém o campo + + Nome do campo + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + O campo. + + + + Define o campo + + Nome do campo + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + valor a ser definido + + + + Obter o campo ou a propriedade + + Nome do campo ou da propriedade + O campo ou a propriedade. + + + + Define o campo ou a propriedade + + Nome do campo ou da propriedade + valor a ser definido + + + + Obtém o campo ou a propriedade + + Nome do campo ou da propriedade + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + O campo ou a propriedade. + + + + Define o campo ou a propriedade + + Nome do campo ou da propriedade + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + valor a ser definido + + + + Obtém a propriedade + + Nome da propriedade + Argumentos a serem passados para o membro a ser invocado. + A propriedade. + + + + Obtém a propriedade + + Nome da propriedade + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros da propriedade indexada. + Argumentos a serem passados para o membro a ser invocado. + A propriedade. + + + + Definir a propriedade + + Nome da propriedade + valor a ser definido + Argumentos a serem passados para o membro a ser invocado. + + + + Definir a propriedade + + Nome da propriedade + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros da propriedade indexada. + valor a ser definido + Argumentos a serem passados para o membro a ser invocado. + + + + Obtém a propriedade + + Nome da propriedade + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + Argumentos a serem passados para o membro a ser invocado. + A propriedade. + + + + Obtém a propriedade + + Nome da propriedade + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros da propriedade indexada. + Argumentos a serem passados para o membro a ser invocado. + A propriedade. + + + + Define a propriedade + + Nome da propriedade + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + valor a ser definido + Argumentos a serem passados para o membro a ser invocado. + + + + Define a propriedade + + Nome da propriedade + Um bitmask composto de um ou mais que especificam como a pesquisa é conduzida. + valor a ser definido + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros da propriedade indexada. + Argumentos a serem passados para o membro a ser invocado. + + + + Validar cadeia de caracteres de acesso + + cadeia de caracteres de acesso + + + + Invoca o membro + + Nome do membro + Atributos adicionais + Argumentos para a invocação + Cultura + Resultado da invocação + + + + Extrai a assinatura mais apropriada do método genérico do tipo particular atual. + + O nome do método no qual pesquisar o cache de assinatura. + Uma matriz de tipos que correspondem aos tipos dos parâmetros nos quais pesquisar. + Uma matriz de tipos que correspondem aos tipos dos argumentos genéricos. + para filtrar ainda mais as assinaturas de método. + Modificadores para parâmetros. + Uma instância methodinfo. + + + + Essa classe representa uma classe particular para a funcionalidade de Acessador Particular. + + + + + Associa-se a tudo + + + + + O tipo encapsulado. + + + + + Inicializa uma nova instância da classe que contém o tipo particular. + + Nome do assembly + nome totalmente qualificado da + + + + Inicializa a nova instância da classe que contém + o tipo particular do objeto de tipo + + O Tipo encapsulado a ser criado. + + + + Obtém o tipo referenciado + + + + + Invoca o membro estático + + Nome do membro para o InvokeHelper + Argumentos para a invocação + Resultado da invocação + + + + Invoca o membro estático + + Nome do membro para o InvokeHelper + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem invocados pelo método + Argumentos para a invocação + Resultado da invocação + + + + Invoca o membro estático + + Nome do membro para o InvokeHelper + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem invocados pelo método + Argumentos para a invocação + Uma matriz de tipos que correspondem aos tipos dos argumentos genéricos. + Resultado da invocação + + + + Invoca o método estático + + Nome do membro + Argumentos para a invocação + Cultura + Resultado da invocação + + + + Invoca o método estático + + Nome do membro + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem invocados pelo método + Argumentos para a invocação + Informações de cultura + Resultado da invocação + + + + Invoca o método estático + + Nome do membro + Atributos adicionais de invocação + Argumentos para a invocação + Resultado da invocação + + + + Invoca o método estático + + Nome do membro + Atributos adicionais de invocação + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem invocados pelo método + Argumentos para a invocação + Resultado da invocação + + + + Invoca o método estático + + Nome do membro + Atributos adicionais de invocação + Argumentos para a invocação + Cultura + Resultado da invocação + + + + Invoca o método estático + + Nome do membro + Atributos adicionais de invocação + /// Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem invocados pelo método + Argumentos para a invocação + Cultura + Resultado da invocação + + + + Invoca o método estático + + Nome do membro + Atributos adicionais de invocação + /// Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros a serem invocados pelo método + Argumentos para a invocação + Cultura + Uma matriz de tipos que correspondem aos tipos dos argumentos genéricos. + Resultado da invocação + + + + Obtém o elemento na matriz estática + + Nome da matriz + + Uma matriz unidimensional com inteiros de 32 bits que representam os índices que especificam + a posição do elemento a ser obtido. Por exemplo, para acessar um [10][11], os índices seriam {10,11} + + elemento na localização especificada + + + + Define o membro da matriz estática + + Nome da matriz + valor a ser definido + + Uma matriz unidimensional com inteiros de 32 bits que representam os índices que especificam + a posição do elemento a ser configurado. Por exemplo, para acessar um [10][11], a matriz seria {10,11} + + + + + Obtém o elemento na matriz estática + + Nome da matriz + Atributos adicionais de InvokeHelper + + Uma matriz unidirecional com íntegros de 32 bits que representam os índices que especificam + a posição do elemento a ser obtido. Por exemplo, para acessar um [10][11], a matriz seria {10,11} + + elemento na localização especificada + + + + Define o membro da matriz estática + + Nome da matriz + Atributos adicionais de InvokeHelper + valor a ser definido + + Uma matriz unidimensional com inteiros de 32 bits que representam os índices que especificam + a posição do elemento a ser configurado. Por exemplo, para acessar um [10][11], a matriz seria {10,11} + + + + + Obtém o campo estático + + Nome do campo + O campo estático. + + + + Define o campo estático + + Nome do campo + Argumento para a invocação + + + + Obtém o campo estático usando os atributos especificados de InvokeHelper + + Nome do campo + Atributos adicionais de invocação + O campo estático. + + + + Define o campo estático usando atributos de associação + + Nome do campo + Atributos adicionais de InvokeHelper + Argumento para a invocação + + + + Obtém a propriedade ou o campo estático + + Nome do campo ou da propriedade + A propriedade ou o campo estático. + + + + Define a propriedade ou o campo estático + + Nome do campo ou da propriedade + Valor a ser definido para o campo ou para a propriedade + + + + Obtém a propriedade ou o campo estático usando os atributos especificados de InvokeHelper + + Nome do campo ou da propriedade + Atributos adicionais de invocação + A propriedade ou o campo estático. + + + + Define a propriedade ou o campo estático usando atributos de associação + + Nome do campo ou da propriedade + Atributos adicionais de invocação + Valor a ser definido para o campo ou para a propriedade + + + + Obtém a propriedade estática + + Nome do campo ou da propriedade + Argumentos para a invocação + A propriedade estática. + + + + Define a propriedade estática + + Nome da propriedade + Valor a ser definido para o campo ou para a propriedade + Argumentos a serem passados para o membro a ser invocado. + + + + Define a propriedade estática + + Nome da propriedade + Valor a ser definido para o campo ou para a propriedade + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros da propriedade indexada. + Argumentos a serem passados para o membro a ser invocado. + + + + Obtém a propriedade estática + + Nome da propriedade + Atributos adicionais de invocação. + Argumentos a serem passados para o membro a ser invocado. + A propriedade estática. + + + + Obtém a propriedade estática + + Nome da propriedade + Atributos adicionais de invocação. + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros da propriedade indexada. + Argumentos a serem passados para o membro a ser invocado. + A propriedade estática. + + + + Define a propriedade estática + + Nome da propriedade + Atributos adicionais de invocação. + Valor a ser definido para o campo ou para a propriedade + Valores opcionais de índice para as propriedades indexadas. Os índices das propriedades indexadas são baseados em zero. Esse valor deve ser nulo para as propriedades não indexadas. + + + + Define a propriedade estática + + Nome da propriedade + Atributos adicionais de invocação. + Valor a ser definido para o campo ou para a propriedade + Uma matriz de objetos que representam o número, a ordem e o tipo dos parâmetros da propriedade indexada. + Argumentos a serem passados para o membro a ser invocado. + + + + Invoca o método estático + + Nome do membro + Atributos adicionais de invocação + Argumentos para a invocação + Cultura + Resultado da invocação + + + + Fornece a descoberta da assinatura de método para os métodos genéricos. + + + + + Compara as assinaturas de método desses dois métodos. + + Method1 + Method2 + Verdadeiro se forem similares. + + + + Obtém a profundidade da hierarquia do tipo base do tipo fornecido. + + O tipo. + A profundidade. + + + + Localiza o tipo mais derivado com as informações fornecidas. + + Correspondências candidatas. + Número de correspondências. + O método mais derivado. + + + + Dado um conjunto de métodos que correspondem aos critérios base, selecione um método baseado + em uma matriz de tipos. Esse método deverá retornar nulo se nenhum método corresponder + aos critérios. + + Especificação de associação. + Correspondências candidatas + Tipos + Modificadores de parâmetro. + Método correspondente. Nulo se nenhum corresponder. + + + + Localiza o método mais específico nos dois métodos fornecidos. + + Método 1 + Ordem de parâmetro para o Método 1 + Tipo de matriz do parâmetro. + Método 2 + Ordem de parâmetro para o Método 2 + >Tipo de matriz do parâmetro. + Tipos em que pesquisar. + Args. + Um int representando a correspondência. + + + + Localiza o método mais específico nos dois métodos fornecidos. + + Método 1 + Ordem de parâmetro para o Método 1 + Tipo de matriz do parâmetro. + Método 2 + Ordem de parâmetro para o Método 2 + >Tipo de matriz do parâmetro. + Tipos em que pesquisar. + Args. + Um int representando a correspondência. + + + + Localiza o tipo mais específico nos dois fornecidos. + + Tipo 1 + Tipo 2 + A definição de tipo + Um int representando a correspondência. + + + + Usado para armazenar informações fornecidas aos testes de unidade. + + + + + Obtém as propriedades de teste para um teste. + + + + + Obtém a linha de dados atual quando o teste é usado para teste controlado por dados. + + + + + Obtém a linha da conexão de dados atual quando o teste é usado para teste controlado por dados. + + + + + Obtém o diretório base para a execução de teste, no qual os arquivos implantados e de resultado são armazenados. + + + + + Obtém o diretório para arquivos implantados para a execução de teste. Normalmente um subdiretório de . + + + + + Obtém o diretório base para resultados da execução de teste. Normalmente um subdiretório de . + + + + + Obtém o diretório para arquivos implantados para a execução do teste. Normalmente um subdiretório de . + + + + + Obtém o diretório para os arquivos de resultado do teste. + + + + + Obtém o diretório base para a execução de teste, no qual os arquivos implantados e de resultado são armazenados. + Igual a . Use essa propriedade em vez disso. + + + + + Obtém o diretório para arquivos implantados para a execução de teste. Normalmente um subdiretório de . + Igual a . Use essa propriedade em vez disso. + + + + + Obtém o diretório para arquivos implantados para a execução do teste. Normalmente um subdiretório de . + Igual a . Use essa propriedade para os arquivos de resultado da execução de teste ou + para os arquivos de resultados específicos de teste. + + + + + Obtém o nome totalmente qualificado da classe contendo o método de teste executado no momento + + + + + Obtém o nome do método de teste executado no momento + + + + + Obtém o resultado do teste atual. + + + + + Usado para gravar mensagens de rastreamento enquanto o teste está em execução + + cadeia de caracteres da mensagem formatada + + + + Usado para gravar mensagens de rastreamento enquanto o teste está em execução + + cadeia de caracteres de formato + os argumentos + + + + Adiciona um nome de arquivo à lista em TestResult.ResultFileNames + + + O Nome do arquivo. + + + + + Inicia um timer com o nome especificado + + Nome do temporizador. + + + + Encerra um timer com o nome especificado + + Nome do temporizador. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..2b63dd5 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + O TestMethod para a execução. + + + + + Obtém o nome do método de teste. + + + + + Obtém o nome da classe de teste. + + + + + Obtém o tipo de retorno do método de teste. + + + + + Obtém os parâmetros do método de teste. + + + + + Obtém o methodInfo para o método de teste. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invoca o método de teste. + + + Argumentos a serem passados ao método de teste. (Por exemplo, para testes controlados por dados) + + + Resultado da invocação do método de teste. + + + This call handles asynchronous test methods as well. + + + + + Obter todos os atributos do método de teste. + + + Se o atributo definido na classe pai é válido. + + + Todos os atributos. + + + + + Obter atributo de tipo específico. + + System.Attribute type. + + Se o atributo definido na classe pai é válido. + + + Os atributos do tipo especificado. + + + + + O auxiliar. + + + + + O parâmetro de verificação não nulo. + + + O parâmetro. + + + O nome do parâmetro. + + + A mensagem. + + Throws argument null exception when parameter is null. + + + + O parâmetro de verificação não nulo nem vazio. + + + O parâmetro. + + + O nome do parâmetro. + + + A mensagem. + + Throws ArgumentException when parameter is null. + + + + Enumeração para como acessamos as linhas de dados no teste controlado por dados. + + + + + As linhas são retornadas em ordem sequencial. + + + + + As linhas são retornadas em ordem aleatória. + + + + + O atributo para definir dados embutidos para um método de teste. + + + + + Inicializa uma nova instância da classe . + + O objeto de dados. + + + + Inicializa a nova instância da classe que ocupa uma matriz de argumentos. + + Um objeto de dados. + Mais dados. + + + + Obtém Dados para chamar o método de teste. + + + + + Obtém ou define o nome de exibição nos resultados de teste para personalização. + + + + + A exceção inconclusiva da asserção. + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Inicializa uma nova instância da classe . + + + + + Classe InternalTestFailureException. Usada para indicar falha interna de um caso de teste + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializa uma nova instância da classe . + + A mensagem de exceção. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem de exceção. + + + + Inicializa uma nova instância da classe . + + + + + Atributo que especifica que uma exceção do tipo especificado é esperada + + + + + Inicializa uma nova instância da classe com o tipo especificado + + Tipo da exceção esperada + + + + Inicializa uma nova instância da classe com + o tipo esperado e a mensagem a ser incluída quando nenhuma exceção é gerada pelo teste. + + Tipo da exceção esperada + + Mensagem a ser incluída no resultado do teste se ele falhar por não gerar uma exceção + + + + + Obtém um valor que indica o Tipo da exceção esperada + + + + + Obtém ou define um valor que indica se é para permitir tipos derivados do tipo da exceção esperada para + qualificá-la como esperada + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Verifica se o tipo da exceção gerada pelo teste de unidade é esperado + + A exceção gerada pelo teste de unidade + + + + Classe base para atributos que especificam que uma exceção de um teste de unidade é esperada + + + + + Inicializa uma nova instância da classe com uma mensagem de não exceção padrão + + + + + Inicializa a nova instância da classe com uma mensagem de não exceção + + + Mensagem a ser incluída no resultado do teste se ele falhar por não gerar uma + exceção + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Obtém a mensagem de não exceção padrão + + O nome do tipo de atributo ExpectedException + A mensagem de não exceção padrão + + + + Determina se uma exceção é esperada. Se o método é retornado, entende-se + que a exceção era esperada. Se o método gera uma exceção, entende-se + que a exceção não era esperada e a mensagem de exceção gerada + é incluída no resultado do teste. A classe pode ser usada para + conveniência. Se é usada e há falha de asserção, + o resultado do teste é definido como Inconclusivo. + + A exceção gerada pelo teste de unidade + + + + Gerar a exceção novamente se for uma AssertFailedException ou uma AssertInconclusiveException + + A exceção a ser gerada novamente se for uma exceção de asserção + + + + Essa classe é projetada para ajudar o usuário a executar o teste de unidade para os tipos que usam tipos genéricos. + GenericParameterHelper satisfaz algumas restrições comuns de tipos genéricos, + como: + 1. construtor público padrão + 2. implementa interface comum: IComparable, IEnumerable + + + + + Inicializa a nova instância da classe que + satisfaz a restrição 'newable' em genéricos C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializa a nova instância da classe que + inicializa a propriedade Data para um valor fornecido pelo usuário. + + Qualquer valor inteiro + + + + Obtém ou define Data + + + + + Executa a comparação de valores de dois objetos GenericParameterHelper + + objeto com o qual comparar + verdadeiro se o objeto tem o mesmo valor que 'esse' objeto GenericParameterHelper. + Caso contrário, falso. + + + + Retorna um código hash para esse objeto. + + O código hash. + + + + Compara os dados dos dois objetos . + + O objeto com o qual comparar. + + Um número assinado indicando os valores relativos dessa instância e valor. + + + Thrown when the object passed in is not an instance of . + + + + + Retorna um objeto IEnumerator cujo comprimento é derivado + da propriedade Data. + + O objeto IEnumerator + + + + Retorna um objeto GenericParameterHelper que é igual ao + objeto atual. + + O objeto clonado. + + + + Permite que usuários registrem/gravem rastros de testes de unidade para diagnósticos. + + + + + Manipulador para LogMessage. + + Mensagem a ser registrada. + + + + Evento a ser escutado. Acionado quando o gerador do teste de unidade escreve alguma mensagem. + Principalmente para ser consumido pelo adaptador. + + + + + API para o gravador de teste chamar Registrar mensagens. + + Formato de cadeia de caracteres com espaços reservados. + Parâmetros dos espaços reservados. + + + + Atributo TestCategory. Usado para especificar a categoria de um teste de unidade. + + + + + Inicializa a nova instância da classe e aplica a categoria ao teste. + + + A Categoria de teste. + + + + + Obtém as categorias de teste aplicadas ao teste. + + + + + Classe base para o atributo "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializa a nova instância da classe . + Aplica a categoria ao teste. As cadeias de caracteres retornadas por TestCategories + são usadas com o comando /category para filtrar os testes + + + + + Obtém a categoria de teste aplicada ao teste. + + + + + Classe AssertFailedException. Usada para indicar falha em um caso de teste + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Inicializa uma nova instância da classe . + + + + + Uma coleção de classes auxiliares para testar várias condições nos + testes de unidade. Se a condição testada não é atendida, uma exceção + é gerada. + + + + + Obtém uma instância singleton da funcionalidade Asserção. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + Thrown if is false. + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + A mensagem a ser incluída na exceção quando + é falsa. A mensagem é mostrada nos resultados de teste. + + + Thrown if is false. + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + A mensagem a ser incluída na exceção quando + é falsa. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is false. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + Thrown if is true. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + A mensagem a ser incluída na exceção quando + é verdadeira. A mensagem é mostrada nos resultados de teste. + + + Thrown if is true. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + A mensagem a ser incluída na exceção quando + é verdadeira. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is true. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + Thrown if is not null. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + A mensagem a ser incluída na exceção quando + não é nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if is not null. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + A mensagem a ser incluída na exceção quando + não é nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + Thrown if is null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + A mensagem a ser incluída na exceção quando + é nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if is null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + A mensagem a ser incluída na exceção quando + é nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is null. + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é o mesmo que . A mensagem é mostrada + nos resultados de teste. + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é o mesmo que . A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if refers to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é o mesmo que . A mensagem é mostrada nos + resultados de teste. + + + Thrown if refers to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é o mesmo que . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if refers to the same object + as . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if is not equal to . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if is equal to . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + Thrown if is equal to . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + Thrown if is not equal to + . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + A mensagem a ser incluída na exceção quando + não é uma instância de . A mensagem é + mostrada nos resultados de teste. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + A mensagem a ser incluída na exceção quando + não é uma instância de . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + A mensagem a ser incluída na exceção quando + é uma instância de . A mensagem é mostrada + nos resultados de teste. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + A mensagem a ser incluída na exceção quando + é uma instância de . A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Gera uma AssertFailedException. + + + Always thrown. + + + + + Gera uma AssertFailedException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Always thrown. + + + + + Gera uma AssertFailedException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Always thrown. + + + + + Os métodos estático igual a sobrecargas são usados para comparar instâncias de dois tipos em relação à igualdade de + referência. Esse método não deve ser usado para comparar a igualdade de + duas instâncias. Esse objeto sempre gerará Assert.Fail. Use + Assert.AreEqual e sobrecargas associadas nos testes de unidade. + + Objeto A + Objeto B + Sempre falso. + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera AssertFailedException se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + Delegado ao código a ser testado e que é esperado que gere exceção. + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera AssertFailedException se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + Delegado ao código a ser testado e que é esperado que gere exceção. + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Substitui os caracteres nulos ('\0') por "\\0". + + + A cadeia de caracteres a ser pesquisada. + + + A cadeia de caracteres convertida com os caracteres nulos substituídos por "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Função auxiliar que cria e gera uma AssertionFailedException + + + nome da asserção que gera uma exceção + + + mensagem que descreve as condições da falha de asserção + + + Os parâmetros. + + + + + Verifica o parâmetro das condições válidas + + + O parâmetro. + + + O Nome da asserção. + + + nome do parâmetro + + + mensagem da exceção de parâmetro inválido + + + Os parâmetros. + + + + + Converte com segurança um objeto em uma cadeia de caracteres manipulando valores e caracteres nulos. + Os valores nulos são convertidos em "(null)". Os caracteres nulos são convertidos em "\\0". + + + O objeto a ser convertido em uma cadeia de caracteres. + + + A cadeia de caracteres convertida. + + + + + A asserção da cadeia de caracteres. + + + + + Obtém a instância singleton da funcionalidade CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + A mensagem a ser incluída na exceção quando + não começa com . A mensagem é + mostrada nos resultados de teste. + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + A mensagem a ser incluída na exceção quando + não começa com . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + A mensagem a ser incluída na exceção quando + não termina com . A mensagem é + mostrada nos resultados de teste. + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + A mensagem a ser incluída na exceção quando + não termina com . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + A mensagem a ser incluída na exceção quando + não corresponde a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + A mensagem a ser incluída na exceção quando + não corresponde a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + Thrown if matches . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + A mensagem a ser incluída na exceção quando + corresponde a . A mensagem é mostrada nos resultados de + teste. + + + Thrown if matches . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + A mensagem a ser incluída na exceção quando + corresponde a . A mensagem é mostrada nos resultados de + teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if matches . + + + + + Uma coleção de classes auxiliares para testar várias condições associadas + às coleções nos testes de unidade. Se a condição testada não é + atendida, uma exceção é gerada. + + + + + Obtém a instância singleton da funcionalidade CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + Thrown if is found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + A mensagem a ser incluída na exceção quando + está em . A mensagem é mostrada nos resultados de + teste. + + + Thrown if is found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + A mensagem a ser incluída na exceção quando + está em . A mensagem é mostrada nos resultados de + teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is found in + . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + A mensagem a ser incluída na exceção quando + contém um elemento nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + A mensagem a ser incluída na exceção quando + contém um elemento nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + A mensagem a ser incluída na exceção quando + contém pelo menos um elemento duplicado. A mensagem é mostrada nos + resultados de teste. + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + A mensagem a ser incluída na exceção quando + contém pelo menos um elemento duplicado. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + A mensagem a ser incluída na exceção quando um elemento em + não é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + A mensagem a ser incluída na exceção quando um elemento em + não é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + Thrown if every element in is also found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + A mensagem a ser incluída na exceção quando todo elemento em + também é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Thrown if every element in is also found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + A mensagem a ser incluída na exceção quando todo elemento em + também é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if every element in is also found in + . + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando um elemento foi encontrado + em uma das coleções, mas não na outra. A mensagem é mostrada + nos resultados de teste. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando um elemento foi encontrado + em uma das coleções, mas não na outra. A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando + contém os mesmos elementos que . A mensagem + é mostrada nos resultados de teste. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando + contém os mesmos elementos que . A mensagem + é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + A mensagem a ser incluída na exceção quando um elemento em + não é uma instância de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + A mensagem a ser incluída na exceção quando um elemento em + não é uma instância de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Determina se a primeira coleção é um subconjunto da segunda + coleção. Se os conjuntos contiverem elementos duplicados, o número + de ocorrências do elemento no subconjunto deverá ser menor ou igual + ao número de ocorrências no superconjunto. + + + A coleção que o teste espera que esteja contida em . + + + A coleção que o teste espera que contenha . + + + Verdadeiro se é um subconjunto de + , caso contrário, falso. + + + + + Cria um dicionário contendo o número de ocorrências de cada + elemento na coleção especificada. + + + A coleção a ser processada. + + + O número de elementos nulos na coleção. + + + Um dicionário contendo o número de ocorrências de cada elemento + na coleção especificada. + + + + + Encontra um elemento incompatível entre as duas coleções. Um elemento + incompatível é aquele que aparece um número diferente de vezes na + coleção esperada em relação à coleção real. É pressuposto que + as coleções sejam referências não nulas diferentes com o + mesmo número de elementos. O chamador é responsável por esse nível de + verificação. Se não houver nenhum elemento incompatível, a função retornará + falso e os parâmetros de saída não deverão ser usados. + + + A primeira coleção a ser comparada. + + + A segunda coleção a ser comparada. + + + O número esperado de ocorrências de + ou 0 se não houver nenhum elemento + incompatível. + + + O número real de ocorrências de + ou 0 se não houver nenhum elemento + incompatível. + + + O elemento incompatível (poderá ser nulo) ou nulo se não houver nenhum + elemento incompatível. + + + verdadeiro se um elemento incompatível foi encontrado. Caso contrário, falso. + + + + + compara os objetos usando object.Equals + + + + + Classe base para exceções do Framework. + + + + + Inicializa uma nova instância da classe . + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Uma classe de recurso fortemente tipada para pesquisar cadeias de caracteres localizadas, etc. + + + + + Retorna a instância de ResourceManager armazenada em cache usada por essa classe. + + + + + Substitui a propriedade CurrentUICulture do thread atual em todas + as pesquisas de recursos usando essa classe de recurso fortemente tipada. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres de acesso tem sintaxe inválida. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A coleção esperada contém {1} ocorrência(s) de <{2}>. A coleção real contém {3} ocorrência(s). {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Item duplicado encontrado:<{1}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1}>. Maiúsculas e minúsculas diferentes para o valor real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperada uma diferença não maior que <{3}> entre o valor esperado <{1}> e o valor real <{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1} ({2})>. Real:<{3} ({4})>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1}>. Real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperada uma diferença maior que <{3}> entre o valor esperado <{1}> e o valor real <{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a É esperado qualquer valor, exceto:<{1}>. Real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Não passe tipos de valores para AreSame(). Os valores convertidos em Object nunca serão os mesmos. Considere usar AreEqual(). {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante à Falha em {0}. {1}. + + + + + Pesquisa uma cadeia de caracteres localizada similar a TestMethod assíncrono com UITestMethodAttribute sem suporte. Remova o assíncrono ou use o TestMethodAttribute. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções estão vazias. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções contêm os mesmos elementos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as referências de coleções apontam para o mesmo objeto de coleção. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções contêm os mesmos elementos. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0}({1}). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (nulo). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (objeto). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não contém a cadeia de caracteres '{1}'. {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0} ({1}). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Assert.Equals não deve ser usado para Asserções. Use Assert.AreEqual e sobrecargas em seu lugar. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O número de elementos nas coleções não corresponde. Esperado:<{1}>. Real:<{2}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {0} não corresponde. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {1} não é de tipo esperado. Tipo esperado:<{2}>. Tipo real:<{3}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {1} é (nulo). Tipo esperado:<{2}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não termina com a cadeia de caracteres '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Argumento inválido – EqualsTester não pode usar nulos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Não é possível converter objeto do tipo {0} em {1}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O objeto interno referenciado não é mais válido. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O parâmetro '{0}' é inválido. {1}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A propriedade {0} é do tipo {1}; tipo esperado {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0} Tipo esperado:<{1}>. Tipo real:<{2}>.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não corresponde ao padrão '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Tipo incorreto:<{1}>. Tipo real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' corresponde ao padrão '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Nenhum DataRowAttribute especificado. Pelo menos um DataRowAttribute é necessário com DataTestMethodAttribute. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Nenhuma exceção gerada. A exceção {1} era esperada. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O parâmetro '{0}' é inválido. O valor não pode ser nulo. {1}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Número diferente de elementos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a + O construtor com a assinatura especificada não pôde ser encontrado. Talvez seja necessário gerar novamente seu acessador particular + ou o membro pode ser particular e definido em uma classe base. Se o último for verdadeiro, será necessário passar o tipo + que define o membro no construtor do PrivateObject. + . + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a + O membro especificado ({0}) não pôde ser encontrado. Talvez seja necessário gerar novamente seu acessador particular + ou o membro pode ser particular e definido em uma classe base. Se o último for verdadeiro, será necessário passar o tipo + que define o membro no construtor do PrivateObject. + . + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não começa com a cadeia de caracteres '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O tipo de exceção esperado deve ser System.Exception ou um tipo derivado de System.Exception. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (Falha ao obter a mensagem para uma exceção do tipo {0} devido a uma exceção.). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste não gerou a exceção esperada {0}. {1}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste não gerou uma exceção. Uma exceção era esperada pelo atributo {0} definido no método de teste. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste gerou a exceção {0}, mas era esperada a exceção {1}. Mensagem de exceção: {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste gerou a exceção {0}, mas era esperado a exceção {1} ou um tipo derivado dela. Mensagem de exceção: {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Exceção gerada {2}, mas a exceção {1} era esperada. {0} + Mensagem de Exceção: {3} + Rastreamento de Pilha: {4}. + + + + + resultados de teste de unidade + + + + + O teste foi executado, mas ocorreram problemas. + Os problemas podem envolver exceções ou asserções com falha. + + + + + O teste foi concluído, mas não é possível dizer se houve aprovação ou falha. + Pode ser usado para testes anulados. + + + + + O teste foi executado sem nenhum problema. + + + + + O teste está em execução no momento. + + + + + Ocorreu um erro de sistema ao tentarmos executar um teste. + + + + + O tempo limite do teste foi atingido. + + + + + O teste foi anulado pelo usuário. + + + + + O teste está em um estado desconhecido + + + + + Fornece funcionalidade auxiliar para a estrutura do teste de unidade + + + + + Obtém as mensagens de exceção, incluindo as mensagens para todas as exceções internas + recursivamente + + Exceção ao obter mensagens para + cadeia de caracteres com informações de mensagem de erro + + + + Enumeração para tempos limite, a qual pode ser usada com a classe . + O tipo de enumeração deve corresponder + + + + + O infinito. + + + + + O atributo da classe de teste. + + + + + Obtém um atributo de método de teste que habilita a execução desse teste. + + A instância de atributo do método de teste definida neste método. + O a ser usado para executar esse teste. + Extensions can override this method to customize how all methods in a class are run. + + + + O atributo do método de teste. + + + + + Executa um método de teste. + + O método de teste a ser executado. + Uma matriz de objetos TestResult que representam resultados do teste. + Extensions can override this method to customize running a TestMethod. + + + + O atributo de inicialização do teste. + + + + + O atributo de limpeza do teste. + + + + + O atributo ignorar. + + + + + O atributo de propriedade de teste. + + + + + Inicializa uma nova instância da classe . + + + O nome. + + + O valor. + + + + + Obtém o nome. + + + + + Obtém o valor. + + + + + O atributo de inicialização de classe. + + + + + O atributo de limpeza de classe. + + + + + O atributo de inicialização de assembly. + + + + + O atributo de limpeza de assembly. + + + + + Proprietário do Teste + + + + + Inicializa uma nova instância da classe . + + + O proprietário. + + + + + Obtém o proprietário. + + + + + Atributo de prioridade. Usado para especificar a prioridade de um teste de unidade. + + + + + Inicializa uma nova instância da classe . + + + A prioridade. + + + + + Obtém a prioridade. + + + + + Descrição do teste + + + + + Inicializa uma nova instância da classe para descrever um teste. + + A descrição. + + + + Obtém a descrição de um teste. + + + + + URI de Estrutura do Projeto de CSS + + + + + Inicializa a nova instância da classe para o URI da Estrutura do Projeto CSS. + + O URI da Estrutura do Projeto ECSS. + + + + Obtém o URI da Estrutura do Projeto CSS. + + + + + URI de Iteração de CSS + + + + + Inicializa uma nova instância da classe para o URI de Iteração do CSS. + + O URI de iteração do CSS. + + + + Obtém o URI de Iteração do CSS. + + + + + Atributo WorkItem. Usado para especificar um item de trabalho associado a esse teste. + + + + + Inicializa a nova instância da classe para o Atributo WorkItem. + + A ID para o item de trabalho. + + + + Obtém a ID para o item de trabalho associado. + + + + + Atributo de tempo limite. Usado para especificar o tempo limite de um teste de unidade. + + + + + Inicializa uma nova instância da classe . + + + O tempo limite. + + + + + Inicializa a nova instância da classe com um tempo limite predefinido + + + O tempo limite + + + + + Obtém o tempo limite. + + + + + O objeto TestResult a ser retornado ao adaptador. + + + + + Inicializa uma nova instância da classe . + + + + + Obtém ou define o nome de exibição do resultado. Útil ao retornar vários resultados. + Se for nulo, o nome do Método será usado como o DisplayName. + + + + + Obtém ou define o resultado da execução de teste. + + + + + Obtém ou define a exceção gerada quando o teste falha. + + + + + Obtém ou define a saída da mensagem registrada pelo código de teste. + + + + + Obtém ou define a saída da mensagem registrada pelo código de teste. + + + + + Obtém ou define os rastreamentos de depuração pelo código de teste. + + + + + Gets or sets the debug traces by test code. + + + + + Obtém ou define a duração de execução do teste. + + + + + Obtém ou define o índice de linha de dados na fonte de dados. Defina somente para os resultados de execuções + individuais de um teste controlado por dados. + + + + + Obtém ou define o valor retornado do método de teste. (Sempre nulo no momento). + + + + + Obtém ou define os arquivos de resultado anexados pelo teste. + + + + + Especifica a cadeia de conexão, o nome de tabela e o método de acesso de linha para teste controlado por dados. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + O nome do provedor padrão para a DataSource. + + + + + O método de acesso a dados padrão. + + + + + Inicializa a nova instância da classe . Essa instância será inicializada com um provedor de dados, uma cadeia de conexão, uma tabela de dados e um método de acesso a dados para acessar a fonte de dados. + + Nome do provedor de dados invariável, como System.Data.SqlClient + + Cadeia de conexão específica do provedor de dados. + AVISO: a cadeia de conexão pode conter dados confidenciais (por exemplo, uma senha). + A cadeia de conexão é armazenada em texto sem formatação no código-fonte e no assembly compilado. + Restrinja o acesso ao código-fonte e ao assembly para proteger essas formações confidenciais. + + O nome da tabela de dados. + Especifica a ordem para acessar os dados. + + + + Inicializa a nova instância da classe . Essa instância será inicializada com uma cadeia de conexão e um nome da tabela. + Especifique a cadeia de conexão e a tabela de dados para acessar a fonte de dados OLEDB. + + + Cadeia de conexão específica do provedor de dados. + AVISO: a cadeia de conexão pode conter dados confidenciais (por exemplo, uma senha). + A cadeia de conexão é armazenada em texto sem formatação no código-fonte e no assembly compilado. + Restrinja o acesso ao código-fonte e ao assembly para proteger essas formações confidenciais. + + O nome da tabela de dados. + + + + Inicializa a nova instância da classe . Essa instância será inicializada com um provedor de dados e com uma cadeia de conexão associada ao nome da configuração. + + O nome da fonte de dados encontrada na seção <microsoft.visualstudio.qualitytools> do arquivo app.config. + + + + Obtém o valor que representa o provedor de dados da fonte de dados. + + + O nome do provedor de dados. Se um provedor de dados não foi designado na inicialização do objeto, o provedor de dados padrão de System.Data.OleDb será retornado. + + + + + Obtém o valor que representa a cadeia de conexão da fonte de dados. + + + + + Obtém um valor que indica o nome da tabela que fornece dados. + + + + + Obtém o método usado para acessar a fonte de dados. + + + + Um dos valores. Se o não for inicializado, o valor padrão será retornado . + + + + + Obtém o nome da fonte de dados encontrada na seção <microsoft.visualstudio.qualitytools> no arquivo app.config. + + + + + O atributo para teste controlado por dados em que os dados podem ser especificados de maneira embutida. + + + + + Encontrar todas as linhas de dados e executar. + + + O Método de teste. + + + Uma matriz de . + + + + + Executa o método de teste controlado por dados. + + O método de teste a ser executado. + Linha de Dados. + Resultados de execução. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..58bcdd9 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Используется для указания элемента развертывания (файл или каталог) для развертывания каждого теста. + Может указываться для тестового класса или метода теста. + Чтобы указать несколько элементов, можно использовать несколько экземпляров атрибута. + Путь к элементу может быть абсолютным или относительным, в последнем случае он указывается по отношению к RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Инициализирует новый экземпляр класса . + + Файл или каталог для развертывания. Этот путь задается относительно выходного каталога сборки. Элемент будет скопирован в тот же каталог, что и развернутые сборки теста. + + + + Инициализирует новый экземпляр класса + + Относительный или абсолютный путь к файлу или каталогу для развертывания. Этот путь задается относительно выходного каталога сборки. Элемент будет скопирован в тот же каталог, что и развернутые сборки теста. + Путь к каталогу, в который должны быть скопированы элементы. Он может быть абсолютным или относительным (по отношению к каталогу развертывания). Все файлы и каталоги, обозначенные при помощи будет скопировано в этот каталог. + + + + Получает путь к копируемым исходному файлу или папке. + + + + + Получает путь к каталогу, в который копируется элемент. + + + + + Содержит литералы для имен разделов, свойств и атрибутов. + + + + + Имя раздела конфигурации. + + + + + Имя раздела конфигурации для Beta2. Оставлено для совместимости. + + + + + Имя раздела для источника данных. + + + + + Имя атрибута для "Name" + + + + + Имя атрибута для "ConnectionString" + + + + + Имя атрибута для "DataAccessMethod" + + + + + Имя атрибута для "DataTable" + + + + + Элемент источника данных. + + + + + Возвращает или задает имя этой конфигурации. + + + + + Возвращает или задает элемент ConnectionStringSettings в разделе <connectionStrings> файла .config. + + + + + Возвращает или задает имя таблицы данных. + + + + + Возвращает или задает тип доступа к данным. + + + + + Возвращает имя ключа. + + + + + Получает свойства конфигурации. + + + + + Коллекция элементов источника данных. + + + + + Инициализирует новый экземпляр класса . + + + + + Возвращает элемент конфигурации с указанным ключом. + + Ключ возвращаемого элемента. + System.Configuration.ConfigurationElement с указанным ключом; в противном случае — NULL. + + + + Получает элемент конфигурации по указанному индексу. + + Индекс возвращаемого элемента System.Configuration.ConfigurationElement. + + + + Добавляет элемент конфигурации в коллекцию элементов конфигурации. + + Добавляемый элемент System.Configuration.ConfigurationElement. + + + + Удаляет System.Configuration.ConfigurationElement из коллекции. + + . + + + + Удаляет System.Configuration.ConfigurationElement из коллекции. + + Ключ удаляемого элемента System.Configuration.ConfigurationElement. + + + + Удаляет все объекты элементов конфигурации из коллекции. + + + + + Создает новый . + + Новый . + + + + Получает ключ элемента для указанного элемента конфигурации. + + Элемент System.Configuration.ConfigurationElement, для которого возвращается ключ. + Объект System.Object, действующий как ключ для указанного элемента System.Configuration.ConfigurationElement. + + + + Добавляет элемент конфигурации в коллекцию элементов конфигурации. + + Добавляемый элемент System.Configuration.ConfigurationElement. + + + + Добавляет элемент конфигурации в коллекцию элементов конфигурации. + + Индекс, по которому следует добавить указанный элемент System.Configuration.ConfigurationElement. + Добавляемый элемент System.Configuration.ConfigurationElement. + + + + Поддержка параметров конфигурации для тестов. + + + + + Получает раздел конфигурации для тестов. + + + + + Раздел конфигурации для тестов. + + + + + Возвращает источники данных для этого раздела конфигурации. + + + + + Получает коллекцию свойств. + + + свойств для элемента. + + + + + Этот класс представляет существующий закрытый внутренний объект в системе + + + + + Инициализирует новый экземпляр класса , содержащий + уже существующий объект закрытого типа + + объект, который служит начальной точкой для доступа к закрытым элементам. + Строка разыменования, в которой получаемый объект обозначается точкой, например m_X.m_Y.m_Z + + + + Инициализирует новый экземпляр класса , который заключает в оболочку + указанный тип. + + Имя сборки + полное имя + Аргументы, передаваемые в конструктор + + + + Инициализирует новый экземпляр класса , который заключает в оболочку + указанный тип. + + Имя сборки + полное имя + Массив объектов, представляющих число, порядок и тип параметров, получаемых конструктором + Аргументы, передаваемые в конструктор + + + + Инициализирует новый экземпляр класса , который заключает в оболочку + указанный тип. + + тип создаваемого объекта + Аргументы, передаваемые в конструктор + + + + Инициализирует новый экземпляр класса , который заключает в оболочку + указанный тип. + + тип создаваемого объекта + Массив объектов, представляющих число, порядок и тип параметров, получаемых конструктором + Аргументы, передаваемые в конструктор + + + + Инициализирует новый экземпляр класса , который заключает в оболочку + заданный объект. + + упаковываемый объект + + + + Инициализирует новый экземпляр класса , который заключает в оболочку + заданный объект. + + упаковываемый объект + Объект PrivateType + + + + Возвращает или задает целевой объект + + + + + Возвращает тип базового объекта + + + + + возвращает хэш-код целевого объекта + + целочисленное значение, представляющее хэш-код целевого объекта + + + + Равенство + + Объект, с которым будет выполняться сравнение + возвращает true, если объекты равны. + + + + Вызывает указанный метод + + Имя метода + Аргументы, передаваемые в элемент для вызова. + Результат вызова метода + + + + Вызывает указанный метод + + Имя метода + Массив объектов, представляющих число, порядок и тип параметров, получаемых методом. + Аргументы, передаваемые в элемент для вызова. + Результат вызова метода + + + + Вызывает указанный метод + + Имя метода + Массив объектов, представляющих число, порядок и тип параметров, получаемых методом. + Аргументы, передаваемые в элемент для вызова. + Массив типов, соответствующих типам универсальных аргументов. + Результат вызова метода + + + + Вызывает указанный метод + + Имя метода + Аргументы, передаваемые в элемент для вызова. + Информация о языке и региональных параметрах + Результат вызова метода + + + + Вызывает указанный метод + + Имя метода + Массив объектов, представляющих число, порядок и тип параметров, получаемых методом. + Аргументы, передаваемые в элемент для вызова. + Информация о языке и региональных параметрах + Результат вызова метода + + + + Вызывает указанный метод + + Имя метода + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Аргументы, передаваемые в элемент для вызова. + Результат вызова метода + + + + Вызывает указанный метод + + Имя метода + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Массив объектов, представляющих число, порядок и тип параметров, получаемых методом. + Аргументы, передаваемые в элемент для вызова. + Результат вызова метода + + + + Вызывает указанный метод + + Имя метода + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Аргументы, передаваемые в элемент для вызова. + Информация о языке и региональных параметрах + Результат вызова метода + + + + Вызывает указанный метод + + Имя метода + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Массив объектов, представляющих число, порядок и тип параметров, получаемых методом. + Аргументы, передаваемые в элемент для вызова. + Информация о языке и региональных параметрах + Результат вызова метода + + + + Вызывает указанный метод + + Имя метода + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Массив объектов, представляющих число, порядок и тип параметров, получаемых методом. + Аргументы, передаваемые в элемент для вызова. + Информация о языке и региональных параметрах + Массив типов, соответствующих типам универсальных аргументов. + Результат вызова метода + + + + Возвращает элемент массива с использованием массива нижних индексов для каждого измерения + + Имя члена + индексы массива + Массив элементов. + + + + Задает элемент массива с использованием массива нижних индексов для каждого измерения + + Имя члена + Задаваемое значение + индексы массива + + + + Возвращает элемент массива с использованием массива нижних индексов для каждого измерения + + Имя члена + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + индексы массива + Массив элементов. + + + + Задает элемент массива с использованием массива нижних индексов для каждого измерения + + Имя члена + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Задаваемое значение + индексы массива + + + + Получить поле + + Имя поля + Поле. + + + + Присваивает значение полю + + Имя поля + задаваемое значение + + + + Получает поле + + Имя поля + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Поле. + + + + Присваивает значение полю + + Имя поля + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + задаваемое значение + + + + Получает поле или свойство + + Имя поля или свойства + Поле или свойство. + + + + Присваивает значение полю или свойству + + Имя поля или свойства + задаваемое значение + + + + Получает поле или свойство + + Имя поля или свойства + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Поле или свойство. + + + + Присваивает значение полю или свойству + + Имя поля или свойства + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + задаваемое значение + + + + Получает свойство + + Имя свойства + Аргументы, передаваемые в элемент для вызова. + Свойство. + + + + Получает свойство + + Имя свойства + Массив объектов, представляющих число, порядок и тип параметров для проиндексированного свойства. + Аргументы, передаваемые в элемент для вызова. + Свойство. + + + + Задать свойство + + Имя свойства + задаваемое значение + Аргументы, передаваемые в элемент для вызова. + + + + Задать свойство + + Имя свойства + Массив объектов, представляющих число, порядок и тип параметров для проиндексированного свойства. + задаваемое значение + Аргументы, передаваемые в элемент для вызова. + + + + Получает свойство + + Имя свойства + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Аргументы, передаваемые в элемент для вызова. + Свойство. + + + + Получает свойство + + Имя свойства + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + Массив объектов, представляющих число, порядок и тип параметров для проиндексированного свойства. + Аргументы, передаваемые в элемент для вызова. + Свойство. + + + + Присваивает значение свойству + + Имя свойства + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + задаваемое значение + Аргументы, передаваемые в элемент для вызова. + + + + Присваивает значение свойству + + Имя свойства + Битовая маска, состоящая из одного или нескольких объектов которые определяют, как выполняется поиск. + задаваемое значение + Массив объектов, представляющих число, порядок и тип параметров для проиндексированного свойства. + Аргументы, передаваемые в элемент для вызова. + + + + Проверка строки доступа + + строка доступа + + + + Вызывает элемент + + Имя члена + Дополнительные атрибуты + Аргумент для вызова + Язык и региональные параметры + Результат вызова + + + + Извлекает наиболее подходящую сигнатуру универсального метода из текущего закрытого типа. + + Имя метода, в котором будет искаться кэш сигнатуры. + Массив типов, соответствующих типам параметров, в которых будет осуществляться поиск. + Массив типов, соответствующих типам универсальных аргументов. + для дальнейшей фильтрации сигнатур методов. + Модификаторы для параметров. + Экземпляр methodinfo. + + + + Этот класс представляет закрытый класс для функции закрытого метода доступа. + + + + + Привязывается ко всему + + + + + Упакованный тип. + + + + + Инициализирует новый экземпляр класса , содержащий закрытый тип. + + Имя сборки + полное имя + + + + Инициализирует новый экземпляр класса , содержащий + закрытый тип из объекта типа + + Упакованный создаваемый тип. + + + + Получает тип, на который была сделана ссылка + + + + + Вызывает статический элемент + + Имя элемента InvokeHelper + Аргументы для вызова + Результат вызова + + + + Вызывает статический элемент + + Имя элемента InvokeHelper + Массив объектов, представляющих число, порядок и тип параметров для вызываемого метода + Аргументы для вызова + Результат вызова + + + + Вызывает статический элемент + + Имя элемента InvokeHelper + Массив объектов, представляющих число, порядок и тип параметров для вызываемого метода + Аргументы для вызова + Массив типов, соответствующих типам универсальных аргументов. + Результат вызова + + + + Вызывает статический метод + + Имя члена + Аргументы для вызова + Язык и региональные параметры + Результат вызова + + + + Вызывает статический метод + + Имя члена + Массив объектов, представляющих число, порядок и тип параметров для вызываемого метода + Аргументы для вызова + Информация о языке и региональных параметрах + Результат вызова + + + + Вызывает статический метод + + Имя члена + Дополнительные атрибуты вызова + Аргументы для вызова + Результат вызова + + + + Вызывает статический метод + + Имя члена + Дополнительные атрибуты вызова + Массив объектов, представляющих число, порядок и тип параметров для вызываемого метода + Аргументы для вызова + Результат вызова + + + + Вызывает статический метод + + Имя элемента + Дополнительные атрибуты вызова + Аргументы для вызова + Язык и региональные параметры + Результат вызова + + + + Вызывает статический метод + + Имя элемента + Дополнительные атрибуты вызова + /// Массив объектов, представляющих число, порядок и тип параметров для вызываемого метода + Аргументы для вызова + Язык и региональные параметры + Результат вызова + + + + Вызывает статический метод + + Имя элемента + Дополнительные атрибуты вызова + /// Массив объектов, представляющих число, порядок и тип параметров для вызываемого метода + Аргументы для вызова + Язык и региональные параметры + Массив типов, соответствующих типам универсальных аргументов. + Результат вызова + + + + Получает элемент в статическом массиве + + Имя массива + + Одномерный массив 32-разрядных целых чисел, которые являются индексами, указывающими + положение получаемого элемента. Например, чтобы получить доступ к a[10][11], нужны индексы {10,11} + + элемент в указанном расположении + + + + Присваивает значение элементу статического массива + + Имя массива + задаваемое значение + + Одномерный массив 32-разрядных целых чисел, которые представляют индексы, указывающие + положение задаваемого элемента. Например, чтобы получить доступ к a[10][11], нужен массив {10,11} + + + + + Получает элемент в статическом массиве + + Имя массива + Дополнительные атрибуты InvokeHelper + + Одномерный массив 32-разрядных целых чисел, которые представляют индексы, указывающие + положение получаемого элемента. Например, чтобы получить доступ к a[10][11], нужен массив {10,11} + + элемент в указанном расположении + + + + Присваивает значение элементу статического массива + + Имя массива + Дополнительные атрибуты InvokeHelper + задаваемое значение + + Одномерный массив 32-разрядных целых чисел, которые представляют индексы, указывающие + положение задаваемого элемента. Например, чтобы получить доступ к a[10][11], нужен массив {10,11} + + + + + Получает статическое поле + + Имя поля + Статическое поле. + + + + Присваивает значение статическому полю + + Имя поля + Аргумент для вызова + + + + Получает статическое поле с использованием указанных атрибутов InvokeHelper + + Имя поля + Дополнительные атрибуты вызова + Статическое поле. + + + + Присваивает значение статическому полю при помощи атрибутов привязки + + Имя поля + Дополнительные атрибуты InvokeHelper + Аргумент для вызова + + + + Получает статическое поле или свойство + + Имя поля или свойства + Статическое поле или свойство. + + + + Присваивает значение статическому полю или свойству + + Имя поля или свойства + Значение, присваиваемое полю или свойству + + + + Получает статическое поле или свойство с использованием указанных атрибутов InvokeHelper + + Имя поля или свойства + Дополнительные атрибуты вызова + Статическое поле или свойство. + + + + Присваивает значение статическому полю или свойству при помощи атрибутов привязки + + Имя поля или свойства + Дополнительные атрибуты вызова + Значение, присваиваемое полю или свойству + + + + Получает статическое свойство + + Имя поля или свойства + Аргументы для вызова + Статическое свойство. + + + + Присваивает значение статическому свойству + + Имя свойства + Значение, присваиваемое полю или свойству + Аргументы, передаваемые в элемент для вызова. + + + + Присваивает значение статическому свойству + + Имя свойства + Значение, присваиваемое полю или свойству + Массив объектов, представляющих число, порядок и тип параметров для проиндексированного свойства. + Аргументы, передаваемые в элемент для вызова. + + + + Получает статическое свойство + + Имя свойства + Дополнительные атрибуты вызова. + Аргументы, передаваемые в элемент для вызова. + Статическое свойство. + + + + Получает статическое свойство + + Имя свойства + Дополнительные атрибуты вызова. + Массив объектов, представляющих число, порядок и тип параметров для проиндексированного свойства. + Аргументы, передаваемые в элемент для вызова. + Статическое свойство. + + + + Присваивает значение статическому свойству + + Имя свойства + Дополнительные атрибуты вызова. + Значение, присваиваемое полю или свойству + Необязательные значения индекса для индексируемых свойств. Индексы для индексируемых свойств отсчитываются от нуля. Для неиндексируемых свойств это значение должно быть равно NULL. + + + + Присваивает значение статическому свойству + + Имя свойства + Дополнительные атрибуты вызова. + Значение, присваиваемое полю или свойству + Массив объектов, представляющих число, порядок и тип параметров для проиндексированного свойства. + Аргументы, передаваемые в элемент для вызова. + + + + Вызывает статический метод + + Имя элемента + Дополнительные атрибуты вызова + Аргументы для вызова + Язык и региональные параметры + Результат вызова + + + + Предоставляет обнаружение сигнатуры методов для универсальных методов. + + + + + Сравнивает сигнатуры двух этих методов. + + Method1 + Method2 + Значение true, если они одинаковые. + + + + Получает значение глубины иерархии из базового типа предоставленного типа. + + Тип. + Глубина. + + + + Находит самый производный тип с указанной информацией. + + Потенциальные совпадения. + Число совпадений. + Самый производный метод. + + + + Выбор метода на основе массива типов с учетом набора методов, соответствующих базовым условиям. + Если методов, соответствующих условиям, нет, + метод должен возвращать NULL. + + Спецификация привязки. + Потенциальные совпадения + Типы + Модификаторы параметров. + Метод сопоставления. Значение NULL при отсутствии совпадений. + + + + Находит наиболее точный метод из двух предоставленных. + + Метод 1 + Порядок параметров для метода 1 + Тип массива параметров. + Метод 2 + Порядок параметров для метода 2 + >Тип массива параметров. + Типы для поиска. + Аргументы + Значение int, представляющее совпадение. + + + + Находит наиболее точный метод из двух предоставленных. + + Метод 1 + Порядок параметров для метода 1 + Тип массива параметров. + Метод 2 + Порядок параметров для метода 2 + >Тип массива параметров. + Типы для поиска. + Аргументы + Значение int, представляющее совпадение. + + + + Находит наиболее конкретный тип из двух предоставленных. + + Тип 1 + Тип 2 + Определяющий тип + Значение int, представляющее совпадение. + + + + Используется для хранения данных, предоставляемых модульным тестам. + + + + + Получает свойства теста. + + + + + Возвращает текущую строку данных, когда тест используется для тестирования, управляемого данными. + + + + + Возвращает текущую строку подключения к данным, когда тест используется для тестирования, управляемого данными. + + + + + Возвращает базовый каталог для тестового запуска, в котором хранятся развернутые файлы и файлы результатов. + + + + + Получает каталог для файлов, развернутых для тестового запуска. Обычно это подкаталог . + + + + + Получает базовый каталог для результатов тестового запуска. Обычно это подкаталог . + + + + + Получает каталог для файлов результата теста. Обычно это подкаталог . + + + + + Возвращает каталог для файлов результатов теста. + + + + + Получает базовый каталог для тестового запуска, в котором хранятся развернутые файлы и файлы результатов. + То же, что и . Следует использовать это свойство. + + + + + Получает каталог для файлов, развернутых для тестового запуска. Обычто это подкаталог . + То же, что и . Следует использовать это свойство. + + + + + Получает каталог для файлов результата тестового запуска. Обычно это подкаталог . + То же, что и . Используйте это свойство для файлов результата тестового запуска или + для файлов результата определенного теста. + + + + + Возвращает полное имя класса, содержащего используемый сейчас метод теста + + + + + Возвращает имя метода теста, выполняемого в данный момент + + + + + Получает текущий результат теста. + + + + + Используется для записи сообщений трассировки во время теста + + отформатированная строка сообщения + + + + Используется для записи сообщений трассировки во время теста + + строка формата + аргументы + + + + Добавляет имя файла в список TestResult.ResultFileNames + + + Имя файла. + + + + + Запускает таймер с указанным именем + + Имя таймера. + + + + Останавливает таймер с указанным именем + + Имя таймера. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..f278594 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4202 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod для выполнения. + + + + + Получает имя метода теста. + + + + + Получает имя тестового класса. + + + + + Получает тип возвращаемого значения метода теста. + + + + + Получает параметры метода теста. + + + + + Получает methodInfo для метода теста. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Вызывает метод теста. + + + Аргументы, передаваемые методу теста (например, для управляемых данными тестов). + + + Результат вызова метода теста. + + + This call handles asynchronous test methods as well. + + + + + Получить все атрибуты метода теста. + + + Допустим ли атрибут, определенный в родительском классе. + + + Все атрибуты. + + + + + Получить атрибут указанного типа. + + System.Attribute type. + + Допустим ли атрибут, определенный в родительском классе. + + + Атрибуты указанного типа. + + + + + Вспомогательный метод. + + + + + Параметр проверки не имеет значения NULL. + + + Параметр. + + + Имя параметра. + + + Сообщение. + + Throws argument null exception when parameter is null. + + + + Параметр проверки не равен NULL или не пуст. + + + Параметр. + + + Имя параметра. + + + Сообщение. + + Throws ArgumentException when parameter is null. + + + + Перечисление, описывающее способ доступа к строкам данных в тестах, управляемых данными. + + + + + Строки возвращаются в последовательном порядке. + + + + + Строки возвращаются в случайном порядке. + + + + + Атрибут для определения встроенных данных для метода теста. + + + + + Инициализирует новый экземпляр класса . + + Объект данных. + + + + Инициализирует новый экземпляр класса , принимающий массив аргументов. + + Объект данных. + Дополнительные данные. + + + + Получает данные для вызова метода теста. + + + + + Получает или задает отображаемое имя в результатах теста для настройки. + + + + + Исключение утверждения с неопределенным результатом. + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Инициализирует новый экземпляр класса . + + + + + Класс InternalTestFailureException. Используется для указания внутреннего сбоя для тестового случая + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Инициализирует новый экземпляр класса . + + Сообщение об исключении. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение об исключении. + + + + Инициализирует новый экземпляр класса . + + + + + Атрибут, который указывает, что ожидается исключение указанного типа + + + + + Инициализирует новый экземпляр класса ожидаемого типа + + Тип ожидаемого исключения + + + + Инициализирует новый экземпляр класса + ожидаемого типа c сообщением для включения, когда тест не создает исключение. + + Тип ожидаемого исключения + + Сообщение для включения в результат теста, если тест не был пройден из-за того, что не создал исключение + + + + + Получает значение, указывающее тип ожидаемого исключения + + + + + Получает или задает значение, которое означает, являются ли ожидаемыми типы, производные + от типа ожидаемого исключения + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Проверяет, является ли ожидаемым тип исключения, созданного модульным тестом + + Исключение, созданное модульным тестом + + + + Базовый класс для атрибутов, которые указывают ожидать исключения из модульного теста + + + + + Инициализирует новый экземпляр класса с сообщением об отсутствии исключений по умолчанию + + + + + Инициализирует новый экземпляр класса с сообщением об отсутствии исключений + + + Сообщение для включения в результат теста, если тест не был пройден из-за того, что не создал + исключение + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Получает сообщение по умолчанию об отсутствии исключений + + Название типа для атрибута ExpectedException + Сообщение об отсутствии исключений по умолчанию + + + + Определяет, ожидается ли исключение. Если метод возвращает управление, то + считается, что ожидалось исключение. Если метод создает исключение, то + считается, что исключение не ожидалось, и сообщение созданного исключения + включается в результат теста. Для удобства можно использовать класс . + Если используется и утверждение завершается с ошибкой, + то результат теста будет неопределенным. + + Исключение, созданное модульным тестом + + + + Повторно создать исключение при возникновении исключения AssertFailedException или AssertInconclusiveException + + Исключение, которое необходимо создать повторно, если это исключение утверждения + + + + Этот класс предназначен для пользователей, выполняющих модульное тестирование для универсальных типов. + GenericParameterHelper удовлетворяет некоторым распространенным ограничениям для универсальных типов, + например. + 1. Открытый конструктор по умолчанию + 2. Реализует общий интерфейс: IComparable, IEnumerable + + + + + Инициализирует новый экземпляр класса , который + удовлетворяет ограничению newable в универсальных типах C#. + + + This constructor initializes the Data property to a random value. + + + + + Инициализирует новый экземпляр класса , который + инициализирует свойство Data в указанное пользователем значение. + + Любое целочисленное значение + + + + Получает или задает данные + + + + + Сравнить значения двух объектов GenericParameterHelper + + объект, с которым будет выполнено сравнение + True, если obj имеет то же значение, что и объект "this" GenericParameterHelper. + В противном случае False. + + + + Возвращает хэш-код для этого объекта. + + Хэш-код. + + + + Сравнивает данные двух объектов . + + Объект для сравнения. + + Число со знаком, указывающее относительные значения этого экземпляра и значения. + + + Thrown when the object passed in is not an instance of . + + + + + Возвращает объект IEnumerator, длина которого является производной + от свойства Data. + + Объект IEnumerator + + + + Возвращает объект GenericParameterHelper, равный + текущему объекту. + + Клонированный объект. + + + + Позволяет пользователям регистрировать/записывать трассировки от модульных тестов для диагностики. + + + + + Обработчик LogMessage. + + Сообщение для записи в журнал. + + + + Прослушиваемое событие. Возникает, когда средство записи модульных тестов записывает сообщение. + Главным образом используется адаптером. + + + + + API, при помощи которого средство записи теста будет обращаться к сообщениям журнала. + + Строка формата с заполнителями. + Параметры для заполнителей. + + + + Атрибут TestCategory; используется для указания категории модульного теста. + + + + + Инициализирует новый экземпляр класса и применяет категорию к тесту. + + + Категория теста. + + + + + Возвращает или задает категории теста, которые были применены к тесту. + + + + + Базовый класс для атрибута Category + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Инициализирует новый экземпляр класса . + Применяет к тесту категорию. Строки, возвращаемые TestCategories , + используются с командой /category для фильтрации тестов + + + + + Возвращает или задает категорию теста, которая была применена к тесту. + + + + + Класс AssertFailedException. Используется для указания сбоя тестового случая + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Инициализирует новый экземпляр класса . + + + + + Коллекция вспомогательных классов для тестирования различных условий в + модульных тестах. Если проверяемое условие + ложно, создается исключение. + + + + + Получает одноэлементный экземпляр функции Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение False. Сообщение отображается в результатах теста. + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение False. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Thrown if is true. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение True. Сообщение отображается в результатах теста. + + + Thrown if is true. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение True. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is true. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение, отличное от NULL. Сообщение отображается в результатах теста. + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение, отличное от NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Thrown if is null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение NULL. Сообщение отображается в результатах теста. + + + Thrown if is null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is null. + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается + в результатах тестирования. + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается + в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Thrown if refers to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if refers to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if refers to the same object + as . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Thrown if is not equal to . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Thrown if is not equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Thrown if is equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Сообщение, которое будет добавлено в исключение, если + не является экземпляром . Сообщение + отображается в результатах тестирования. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Сообщение, которое будет добавлено в исключение, если + не является экземпляром . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Сообщение, которое будет добавлено в исключение, если + является экземпляром класса . Сообщение отображается + в результатах тестирования. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Сообщение, которое будет добавлено в исключение, если + является экземпляром класса . Сообщение отображается + в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Создает исключение AssertFailedException. + + + Always thrown. + + + + + Создает исключение AssertFailedException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Always thrown. + + + + + Создает исключение AssertFailedException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Always thrown. + + + + + Статические переопределения равенства используются для сравнения экземпляров двух типов на равенство + ссылок. Этот метод не должен использоваться для сравнения двух экземпляров на + равенство. Этот объект всегда создает исключение с Assert.Fail. Используйте в ваших модульных тестах + Assert.AreEqual и связанные переопределения. + + Объект A + Объект B + False (всегда). + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Проверяет, создает ли код, указанный с помощью делегата , в точности заданное исключение типа (и не производного типа ), + и создает исключение AssertFailedException , если код не создает исключение, или создает исключение типа, отличного от . + + Делегат для проверяемого кода, который должен создать исключение. + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Проверяет, создает ли код, указанный с помощью делегата , в точности заданное исключение типа (и не производного типа ), + и создает исключение AssertFailedException , если код не создает исключение, или создает исключение типа, отличного от . + + Делегат для проверяемого кода, который должен создать исключение. + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Заменяет NULL-символы ("\0") символами "\\0". + + + Искомая строка. + + + Преобразованная строка, в которой NULL-символы были заменены на "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Вспомогательная функция, которая создает и вызывает AssertionFailedException + + + имя утверждения, создавшего исключение + + + сообщение с описанием условий для сбоя утверждения + + + Параметры. + + + + + Проверяет параметр на допустимые условия + + + Параметр. + + + Имя утверждения. + + + имя параметра + + + сообщение об исключении, связанном с недопустимым параметром + + + Параметры. + + + + + Безопасно преобразует объект в строку, обрабатывая значения NULL и NULL-символы. + Значения NULL преобразуются в "(null)", NULL-символы — в "\\0". + + + Объект для преобразования в строку. + + + Преобразованная строка. + + + + + Утверждение строки. + + + + + Получает одноэлементный экземпляр функции CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not found in + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Thrown if does not begin with + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Сообщение, которое будет добавлено в исключение, если + не начинается с . Сообщение + отображается в результатах тестирования. + + + Thrown if does not begin with + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Сообщение, которое будет добавлено в исключение, если + не начинается с . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not begin with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Thrown if does not end with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Сообщение, которое будет добавлено в исключение, если + не заканчивается на . Сообщение + отображается в результатах тестирования. + + + Thrown if does not end with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Сообщение, которое будет добавлено в исключение, если + не заканчивается на . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not end with + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Thrown if does not match + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + не соответствует . Сообщение отображается в + результатах тестирования. + + + Thrown if does not match + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + не соответствует . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not match + . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Thrown if matches . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + соответствует . Сообщение отображается в результатах + тестирования. + + + Thrown if matches . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + соответствует . Сообщение отображается в результатах + тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if matches . + + + + + Коллекция вспомогательных классов для тестирования различных условий, связанных + с коллекциями в модульных тестах. Если проверяемое условие + ложно, создается исключение. + + + + + Получает одноэлементный экземпляр функции CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Thrown if is found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + находится в . Сообщение отображается в результатах + тестирования. + + + Thrown if is found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + находится в . Сообщение отображается в результатах + тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is found in + . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Thrown if a null element is found in . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Сообщение, которое будет добавлено в исключение, если + содержит элемент, равный NULL. Сообщение отображается в результатах теста. + + + Thrown if a null element is found in . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Сообщение, которое будет добавлено в исключение, если + содержит элемент, равный NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if a null element is found in . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Сообщение, которое будет добавлено в исключение, если + содержит как минимум один элемент-дубликат. Это сообщение отображается в + результатах теста. + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Сообщение, которое будет добавлено в исключение, если + содержит как минимум один элемент-дубликат. Это сообщение отображается в + результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Thrown if an element in is not found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если элемент в + не обнаружен в . + Сообщение отображается в результатах тестирования. + + + Thrown if an element in is not found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если элемент в + не обнаружен в . + Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if an element in is not found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Thrown if every element in is also found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если каждый элемент в + также обнаружен в . + Сообщение отображается в результатах тестирования. + + + Thrown if every element in is also found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если каждый элемент в + также обнаружен в . + Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if every element in is also found in + . + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если элемент был обнаружен + в одной коллекции, но не обнаружен в другой. Это сообщение отображается + в результатах теста. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если элемент был обнаружен + в одной коллекции, но не обнаружен в другой. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + содержит такие же элементы, что и . Сообщение + отображается в результатах тестирования. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + содержит такие же элементы, что и . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Сообщение, которое будет добавлено в исключение, если элемент в + не является экземпляром + . Сообщение отображается в результатах тестирования. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Сообщение, которое будет добавлено в исключение, если элемент в + не является экземпляром + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Определяет, является ли первая коллекция подмножеством второй + коллекции. Если любое из множеств содержит одинаковые элементы, то число + вхождений элемента в подмножестве должно быть меньше или + равно количеству вхождений в супермножестве. + + + Коллекция, которая с точки зрения теста должна содержаться в . + + + Коллекция, которая с точки зрения теста должна содержать . + + + Значение True, если является подмножеством + , в противном случае — False. + + + + + Создает словарь с числом вхождений каждого элемента + в указанной коллекции. + + + Обрабатываемая коллекция. + + + Число элементов, имеющих значение NULL, в коллекции. + + + Словарь с числом вхождений каждого элемента + в указанной коллекции. + + + + + Находит несоответствующий элемент между двумя коллекциями. Несоответствующий + элемент — это элемент, количество вхождений которого в ожидаемой коллекции отличается + от фактической коллекции. В качестве коллекций + ожидаются различные ссылки, отличные от null, с одинаковым + количеством элементов. За этот уровень проверки отвечает + вызывающий объект. Если несоответствующих элементов нет, функция возвращает + False, и выходные параметры использовать не следует. + + + Первая сравниваемая коллекция. + + + Вторая сравниваемая коллекция. + + + Ожидаемое число вхождений + или 0, если несоответствующие элементы + отсутствуют. + + + Фактическое число вхождений + или 0, если несоответствующие элементы + отсутствуют. + + + Несоответствующий элемент (может иметь значение NULL) или значение NULL, если несоответствующий + элемент отсутствует. + + + Значение True, если был найден несоответствующий элемент, в противном случае — False. + + + + + сравнивает объекты при помощи object.Equals + + + + + Базовый класс для исключений платформы. + + + + + Инициализирует новый экземпляр класса . + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Строго типизированный класс ресурса для поиска локализованных строк и т. д. + + + + + Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. + + + + + Переопределяет свойство CurrentUICulture текущего потока для всех операций + поиска ресурсов, в которых используется этот строго типизированный класс. + + + + + Ищет локализованную строку, похожую на "Синтаксис строки доступа неверен". + + + + + Ищет локализованную строку, похожую на "Ожидаемая коллекция содержит {1} вхождений <{2}>. Фактическая коллекция содержит {3} вхождений. {0}". + + + + + Ищет локализованную строку, похожую на "Обнаружен элемент-дубликат: <{1}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1}>. Фактическое значение имеет другой регистр: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Различие между ожидаемым значением <{1}> и фактическим значением <{2}> должно было составлять не больше <{3}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1} ({2})>. Фактическое: <{3} ({4})>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1}>. Фактическое: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Различие между ожидаемым значением <{1}> и фактическим значением <{2}> должно было составлять больше <{3}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидалось любое значение, кроме: <{1}>. Фактическое значение: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Не передавайте типы значений в AreSame(). Значения, преобразованные в объекты, никогда не будут одинаковыми. Воспользуйтесь методом AreEqual(). {0}". + + + + + Ищет локализованную строку, похожую на "Сбой {0}. {1}". + + + + + Ищет локализованную строку, аналогичную "Асинхронный метод TestMethod с UITestMethodAttribute не поддерживается. Удалите async или используйте TestMethodAttribute". + + + + + Ищет локализованную строку, похожую на "Обе коллекции пусты. {0}". + + + + + Ищет локализованную строку, похожую на "Обе коллекции содержат одинаковые элементы". + + + + + Ищет локализованную строку, похожую на "Ссылки на обе коллекции указывают на один объект коллекции. {0}". + + + + + Ищет локализованную строку, похожую на "Обе коллекции содержат одинаковые элементы. {0}". + + + + + Ищет локализованную строку, похожую на "{0}({1})". + + + + + Ищет локализованную строку, похожую на "(NULL)". + + + + + Ищет локализованную строку, похожую на "(объект)". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не содержит строку "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "{0} ({1})". + + + + + Ищет локализованную строку, похожую на "Assert.Equals не следует использовать для Assertions. Используйте Assert.AreEqual и переопределения". + + + + + Ищет локализованную строку, похожую на "Число элементов в коллекциях не совпадает. Ожидаемое число: <{1}>. Фактическое: <{2}>.{0}". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {0} не соответствует". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {1} имеет непредвиденный тип. Ожидаемый тип: <{2}>. Фактический тип: <{3}>.{0}". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {1} имеет значение (NULL). Ожидаемый тип: <{2}>.{0}". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не заканчивается строкой "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Недопустимый аргумент — EqualsTester не может использовать значения NULL". + + + + + Ищет локализованную строку, похожую на "Невозможно преобразовать объект типа {0} в {1}". + + + + + Ищет локализованную строку, похожую на "Внутренний объект, на который была сделана ссылка, более не действителен". + + + + + Ищет локализованную строку, похожую на "Параметр "{0}" недопустим. {1}". + + + + + Ищет локализованную строку, похожую на "Свойство {0} имеет тип {1}; ожидаемый тип: {2}". + + + + + Ищет локализованную строку, похожую на "{0} Ожидаемый тип: <{1}>. Фактический тип: <{2}>". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не соответствует шаблону "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Неправильный тип: <{1}>. Фактический тип: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" соответствует шаблону "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Не указан атрибут DataRowAttribute. Необходимо указать как минимум один атрибут DataRowAttribute с атрибутом DataTestMethodAttribute". + + + + + Ищет локализованную строку, похожую на "Исключение не было создано. Ожидалось исключение {1}. {0}". + + + + + Ищет локализованную строку, похожую на "Параметр "{0}" недопустим. Значение не может быть равно NULL. {1}". + + + + + Ищет локализованную строку, похожую на "Число элементов различается". + + + + + Ищет локализованную строку, похожую на + "Не удалось найти конструктор с указанной сигнатурой. Возможно, потребуется повторно создать закрытый метод доступа, + или элемент может быть закрытым и определяться в базовом классе. В последнем случае необходимо передать тип, + определяющий элемент, в конструктор класса PrivateObject". + . + + + + + Ищет локализованную строку, похожую на + "Не удалось найти указанный элемент ({0}). Возможно, потребуется повторно создать закрытый метод доступа, + или элемент может быть закрытым и определяться в базовом классе. В последнем случае необходимо передать тип, + определяющий элемент, в конструктор PrivateObject". + . + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не начинается со строки "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое исключение должно иметь тип System.Exception или производный от него тип". + + + + + Ищет локализованную строку, похожую на "(Не удалось получить сообщение для исключения типа {0} из-за исключения.)". + + + + + Ищет локализованную строку, похожую на "Метод теста не создал ожидаемое исключение {0}. {1}". + + + + + Ищет локализованную строку, похожую на "Метод теста не создал исключение. Исключение ожидалось атрибутом {0}, определенным в методе теста". + + + + + Ищет локализованную строку, похожую на "Метод теста создан исключение {0}, а ожидалось исключение {1}. Сообщение исключения: {2}". + + + + + Ищет локализованную строку, похожую на "Метод теста создал исключение {0}, а ожидалось исключение {1} или производный от него тип. Сообщение исключения: {2}". + + + + + Ищет локализованную строку, похожую на "Создано исключение {2}, а ожидалось исключение {1}. {0} + Сообщение исключения: {3} + Стек трассировки: {4}". + + + + + результаты модульного теста + + + + + Тест был выполнен, но при его выполнении возникли проблемы. + Эти проблемы могут включать исключения или сбой утверждений. + + + + + Тест завершен, но результат его завершения неизвестен. + Может использоваться для прерванных тестов. + + + + + Тест был выполнен без проблем. + + + + + Тест выполняется в данный момент. + + + + + При попытке выполнения теста возникла ошибка в системе. + + + + + Время ожидания для теста истекло. + + + + + Тест прерван пользователем. + + + + + Тест находится в неизвестном состоянии + + + + + Предоставляет вспомогательные функции для платформы модульных тестов + + + + + Получает сообщения с исключениями, включая сообщения для всех внутренних исключений + (рекурсивно) + + Исключение, для которого следует получить сообщения + строка с сообщением об ошибке + + + + Перечисление для времен ожидания, которое можно использовать с классом . + Тип перечисления должен соответствовать + + + + + Бесконечно. + + + + + Атрибут тестового класса. + + + + + Получает атрибут метода теста, включающий выполнение этого теста. + + Для этого метода определен экземпляр атрибута метода теста. + + для использования для выполнения этого теста. + Extensions can override this method to customize how all methods in a class are run. + + + + Атрибут метода теста. + + + + + Выполняет метод теста. + + Выполняемый метод теста. + Массив объектов TestResult, представляющих результаты теста. + Extensions can override this method to customize running a TestMethod. + + + + Атрибут инициализации теста. + + + + + Атрибут очистки теста. + + + + + Атрибут игнорирования. + + + + + Атрибут свойства теста. + + + + + Инициализирует новый экземпляр класса . + + + Имя. + + + Значение. + + + + + Получает имя. + + + + + Получает значение. + + + + + Атрибут инициализации класса. + + + + + Атрибут очистки класса. + + + + + Атрибут инициализации сборки. + + + + + Атрибут очистки сборки. + + + + + Владелец теста + + + + + Инициализирует новый экземпляр класса . + + + Владелец. + + + + + Получает владельца. + + + + + Атрибут Priority; используется для указания приоритета модульного теста. + + + + + Инициализирует новый экземпляр класса . + + + Приоритет. + + + + + Получает приоритет. + + + + + Описание теста + + + + + Инициализирует новый экземпляр класса для описания теста. + + Описание. + + + + Получает описание теста. + + + + + URI структуры проекта CSS + + + + + Инициализирует новый экземпляр класса для URI структуры проекта CSS. + + URI структуры проекта CSS. + + + + Получает URI структуры проекта CSS. + + + + + URI итерации CSS + + + + + Инициализирует новый экземпляр класса для URI итерации CSS. + + URI итерации CSS. + + + + Получает URI итерации CSS. + + + + + Атрибут WorkItem; используется для указания рабочего элемента, связанного с этим тестом. + + + + + Инициализирует новый экземпляр класса для атрибута WorkItem. + + Идентификатор рабочего элемента. + + + + Получает идентификатор связанного рабочего элемента. + + + + + Атрибут Timeout; используется для указания времени ожидания модульного теста. + + + + + Инициализирует новый экземпляр класса . + + + Время ожидания. + + + + + Инициализирует новый экземпляр класса с заданным временем ожидания + + + Время ожидания + + + + + Получает время ожидания. + + + + + Объект TestResult, который возвращается адаптеру. + + + + + Инициализирует новый экземпляр класса . + + + + + Получает или задает отображаемое имя результата. Удобно для возврата нескольких результатов. + Если параметр равен NULL, имя метода используется в качестве DisplayName. + + + + + Получает или задает результат выполнения теста. + + + + + Получает или задает исключение, создаваемое, если тест не пройден. + + + + + Получает или задает выходные данные сообщения, записываемого кодом теста. + + + + + Получает или задает выходные данные сообщения, записываемого кодом теста. + + + + + Получает или задает трассировки отладки для кода теста. + + + + + Gets or sets the debug traces by test code. + + + + + Получает или задает продолжительность выполнения теста. + + + + + Возвращает или задает индекс строки данных в источнике данных. Задается только для результатов выполнения + отдельных строк данных для теста, управляемого данными. + + + + + Получает или задает возвращаемое значение для метода теста. (Сейчас всегда равно NULL.) + + + + + Возвращает или задает файлы результатов, присоединенные во время теста. + + + + + Задает строку подключения, имя таблицы и метод доступа к строкам для тестов, управляемых данными. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Имя поставщика по умолчанию для DataSource. + + + + + Метод доступа к данным по умолчанию. + + + + + Инициализирует новый экземпляр класса . Этот экземпляр инициализируется с поставщиком данных, строкой подключения, таблицей данных и методом доступа к данным для доступа к источнику данных. + + Имя инвариантного поставщика данных, например System.Data.SqlClient + + Строка подключения для поставщика данных. + Внимание! Строка подключения может содержать конфиденциальные данные (например, пароль). + Строка подключения хранится в виде открытого текста в исходном коде и в скомпилированной сборке. + Ограничьте доступ к исходному коду и сборке для защиты конфиденциальных данных. + + Имя таблицы данных. + Задает порядок доступа к данным. + + + + Инициализирует новый экземпляр класса . Этот экземпляр будет инициализирован с строкой подключения и именем таблицы. + Укажите строку подключения и таблицу данных для доступа к источнику данных OLEDB. + + + Строка подключения для поставщика данных. + Внимание! Строка подключения может содержать конфиденциальные данные (например, пароль). + Строка подключения хранится в виде открытого текста в исходном коде и в скомпилированной сборке. + Ограничьте доступ к исходному коду и сборке для защиты конфиденциальных данных. + + Имя таблицы данных. + + + + Инициализирует новый экземпляр класса . Этот экземпляр инициализируется с поставщиком данных и строкой подключения, связанной с именем параметра. + + Имя источника данных, обнаруженного в разделе <microsoft.visualstudio.qualitytools> файла app.config. + + + + Получает значение, представляющее поставщик данных для источника данных. + + + Имя поставщика данных. Если поставщик данных не был определен при инициализации объекта, будет возвращен поставщик по умолчанию, System.Data.OleDb. + + + + + Получает значение, представляющее строку подключения для источника данных. + + + + + Получает значение с именем таблицы, содержащей данные. + + + + + Возвращает метод, используемый для доступа к источнику данных. + + + + Один из значений. Если не инициализировано, возвращается значение по умолчанию . + + + + + Возвращает имя источника данных, обнаруженное в разделе <microsoft.visualstudio.qualitytools> файла app.config. + + + + + Атрибут для тестов, управляемых данными, в которых данные могут быть встроенными. + + + + + Найти все строки данных и выполнить. + + + Метод теста. + + + Массив . + + + + + Выполнение метода теста, управляемого данными. + + Выполняемый метод теста. + Строка данных. + Результаты выполнения. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..b864a5e --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Test başına dağıtım için dağıtım öğesi (dosya veya dizin) belirtmek üzere kullanılır. + Test sınıfında veya test metodunda belirtilebilir. + Birden fazla öğe belirtmek için özniteliğin birden fazla örneğini içerebilir. + Öğe yolu mutlak veya göreli olabilir; göreli ise RunConfig.RelativePathRoot ile görelidir. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + sınıfının yeni bir örneğini başlatır. + + Dağıtılacak dosya veya dizin. Yol, derleme çıktı dizinine göredir. Öğe, dağıtılan test bütünleştirilmiş kodlarıyla aynı dizine kopyalanır. + + + + sınıfının yeni bir örneğini başlatır + + Dağıtılacak dosya veya dizinin göreli ya da mutlak yolu. Yol, derleme çıktı dizinine göredir. Öğe, dağıtılan test bütünleştirilmiş kodlarıyla aynı dizine kopyalanır. + Öğelerin kopyalanacağı dizinin yolu. Dağıtım dizinine göre mutlak veya göreli olabilir. Tüm dosyalar ve dizinler şuna göre tanımlanır: bu dizine kopyalanacak. + + + + Kopyalanacak kaynak dosya veya klasörün yolunu alır. + + + + + Öğenin kopyalandığı dizinin yolunu alır. + + + + + Bölüm, özellik ve özniteliklerin adlarına ait sabit değerleri içerir. + + + + + Yapılandırma bölümünün adı. + + + + + Beta2 için yapılandırma bölümü adı. Uyumluluk için kullanımda tutuluyor. + + + + + Veri kaynağının bölüm adı. + + + + + 'Name' için öznitelik adı + + + + + 'ConnectionString' için öznitelik adı + + + + + 'DataAccessMethod' için öznitelik adı + + + + + 'DataTable' için öznitelik adı + + + + + Veri Kaynağı öğesi. + + + + + Bu yapılandırmanın adını alır veya ayarlar. + + + + + .config dosyasındaki <connectionStrings> bölümünde bulunan ConnectionStringSettings öğesini alır veya ayarlar. + + + + + Veri tablosunun adını alır veya ayarlar. + + + + + Veri erişiminin türünü alır veya ayarlar. + + + + + Anahtarın adını alır. + + + + + Yapılandırma özelliklerini alır. + + + + + Veri kaynağı öğe koleksiyonu. + + + + + sınıfının yeni bir örneğini başlatır. + + + + + Belirtilen anahtara sahip yapılandırma öğesini döndürür. + + Döndürülecek öğenin anahtarı. + Belirtilen anahtar ile System.Configuration.ConfigurationElement; aksi takdirde, null. + + + + Belirtilen dizin konumundaki yapılandırma öğesini alır. + + Döndürülecek System.Configuration.ConfigurationElement öğesinin dizin konumu. + + + + Yapılandırma öğesi koleksiyonuna bir yapılandırma öğesi ekler. + + Eklenecek System.Configuration.ConfigurationElement öğesi. + + + + Bir System.Configuration.ConfigurationElement öğesini koleksiyondan kaldırır. + + . + + + + Bir System.Configuration.ConfigurationElement öğesini koleksiyondan kaldırır. + + Kaldırılacak System.Configuration.ConfigurationElement anahtarı. + + + + Tüm yapılandırma öğesi nesnelerini koleksiyondan kaldırır. + + + + + Yeni bir oluşturur. + + Yeni bir . + + + + Belirtilen yapılandırma öğesi için öğe anahtarını alır. + + Anahtarı döndürülecek System.Configuration.ConfigurationElement. + Belirtilen System.Configuration.ConfigurationElement için anahtar görevi gören bir System.Object. + + + + Yapılandırma öğesi koleksiyonuna bir yapılandırma öğesi ekler. + + Eklenecek System.Configuration.ConfigurationElement öğesi. + + + + Yapılandırma öğesi koleksiyonuna bir yapılandırma öğesi ekler. + + Belirtilen System.Configuration.ConfigurationElement öğesinin ekleneceği dizin konumu. + Eklenecek System.Configuration.ConfigurationElement öğesi. + + + + Testler için yapılandırma ayarları desteği. + + + + + Testler için yapılandırma bölümünü alır. + + + + + Testler için yapılandırma bölümü. + + + + + Bu yapılandırma bölümünün veri kaynaklarını alır. + + + + + Özellik koleksiyonunu alır. + + + Bir koleksiyonu. + + + + + Bu sınıf, sistemde çalışan, genel OLMAYAN İÇ nesneyi temsil eder + + + + + sınıfının, özel sınıfın zaten mevcut olan nesnesini + içeren yeni bir örneğini başlatır + + özel üyelere ulaşmak için başlangıç noktası olarak hizmet veren nesne + Alınacak nesneyi . ile gösteren, başvuru kaldırma dizesi. Örnek: m_X.m_Y.m_Z + + + + sınıfının, belirtilen türü sarmalayan yeni bir örneğini + başlatır. + + Bütünleştirilmiş kodun adı + tam adı + Oluşturucuya geçirilecek bağımsız değişken + + + + sınıfının, belirtilen türü sarmalayan yeni bir örneğini + başlatır. + + Bütünleştirilmiş kodun adı + tam adı + Bir dizi alınacak oluşturucuya ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler + Oluşturucuya geçirilecek bağımsız değişken + + + + sınıfının, belirtilen türü sarmalayan yeni bir örneğini + başlatır. + + oluşturulacak nesnenin türü + Oluşturucuya geçirilecek bağımsız değişken + + + + sınıfının, belirtilen türü sarmalayan yeni bir örneğini + başlatır. + + oluşturulacak nesnenin türü + Bir dizi alınacak oluşturucuya ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler + Oluşturucuya geçirilecek bağımsız değişken + + + + sınıfının, belirtilen nesneyi sarmalayan yeni bir + örneğini başlatır. + + kaydırılacak nesne + + + + sınıfının, belirtilen nesneyi sarmalayan yeni bir + örneğini başlatır. + + kaydırılacak nesne + PrivateType nesnesi + + + + Hedefi alır veya ayarlar + + + + + Temel alınan nesnenin türünü alır + + + + + hedef nesnenin karma kodunu döndürür + + hedef nesnenin karma kodunu temsil eden tamsayı + + + + Eşittir + + Karşılaştırma yapılacak nesneler + nesneler eşit ise true döndürür. + + + + Belirtilen metodu çağırır + + Metodun adı + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Yöntem çağrısı sonucu + + + + Belirtilen metodu çağırır + + Metodun adı + Bir dizi alınacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Yöntem çağrısı sonucu + + + + Belirtilen metodu çağırır + + Metodun adı + Bir dizi alınacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Genel bağımsız değişkenlerin türlerine karşılık gelen bir tür dizisi. + Yöntem çağrısı sonucu + + + + Belirtilen metodu çağırır + + Metodun adı + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Kültür bilgisi + Yöntem çağrısı sonucu + + + + Belirtilen metodu çağırır + + Metodun adı + Bir dizi alınacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Kültür bilgisi + Yöntem çağrısı sonucu + + + + Belirtilen metodu çağırır + + Metodun adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Yöntem çağrısı sonucu + + + + Belirtilen metodu çağırır + + Metodun adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Bir dizi alınacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Yöntem çağrısı sonucu + + + + Belirtilen metodu çağırır + + Metodun adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Kültür bilgisi + Yöntem çağrısı sonucu + + + + Belirtilen metodu çağırır + + Metodun adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Bir dizi alınacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Kültür bilgisi + Yöntem çağrısı sonucu + + + + Belirtilen metodu çağırır + + Yöntem adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Bir dizi alınacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Kültür bilgisi + Genel bağımsız değişkenlerin türlerine karşılık gelen bir tür dizisi. + Yöntem çağrısı sonucu + + + + Her boyut için alt simge dizisini kullanarak dizi öğesini alır + + Üyenin adı + dizi dizinleri + Öğe dizisi. + + + + Her boyut için alt simge dizisi kullanarak dizi öğesini ayarlar + + Üyenin adı + Ayarlanacak değer + dizi dizinleri + + + + Her boyut için alt simge dizisini kullanarak dizi öğesini alır + + Üyenin adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + dizi dizinleri + Öğe dizisi. + + + + Her boyut için alt simge dizisi kullanarak dizi öğesini ayarlar + + Üyenin adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Ayarlanacak değer + dizi dizinleri + + + + Alanı alır + + Alanın adı + Alan. + + + + Alanı ayarlar + + Alanın adı + ayarlanacak değer + + + + Alanı alır + + Alanın adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Alan. + + + + Alanı ayarlar + + Alanın adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + ayarlanacak değer + + + + Alanı veya özelliği alır + + Alan veya özelliğin adı + Alan veya özellik. + + + + Alanı veya özelliği ayarlar + + Alan veya özelliğin adı + ayarlanacak değer + + + + Alanı veya özelliği alır + + Alan veya özelliğin adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Alan veya özellik. + + + + Alanı veya özelliği ayarlar + + Alan veya özelliğin adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + ayarlanacak değer + + + + Özelliği alır + + Özellik adı + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Özellik. + + + + Özelliği alır + + Özellik adı + Bir dizi dizini oluşturulmuş özelliğe ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Özellik. + + + + Özelliği ayarlar + + Özellik adı + ayarlanacak değer + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + + + + Özelliği ayarlar + + Özellik adı + Bir dizi dizini oluşturulmuş özelliğe ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + ayarlanacak değer + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + + + + Özelliği alır + + Özelliğin adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Özellik. + + + + Özelliği alır + + Özelliğin adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + Bir dizi dizini oluşturulmuş özelliğe ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Özellik. + + + + Özelliği ayarlar + + Özellik adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + ayarlanacak değer + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + + + + Özelliği ayarlar + + Özellik adı + Bir veya daha fazla içeren bit maskesi aramanın nasıl yürütüldüğünü belirtir. + ayarlanacak değer + Bir dizi dizini oluşturulmuş özelliğe ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + + + + Erişim dizesini doğrular + + erişim dizesi + + + + Üyeyi çağırır + + Üyenin adı + Ek öznitelikler + Çağrı bağımsız değişkenleri + Kültür + Çağrı sonucu + + + + Geçerli özel türden en uygun genel metot imzasını ayıklar. + + İmza önbelleğinin aranacağı yöntemin adı. + İçinde arama yapılacak parametrelerin türlerine karşılık gelen bir tür dizisi. + Genel bağımsız değişkenlerin türlerine karşılık gelen bir tür dizisi. + yöntem imzalarını daha fazla filtrelemek için. + Parametreler için değiştiriciler. + Bir methodinfo örneği. + + + + Bu sınıf, Özel Erişimci işlevselliği için özel bir sınıfı temsil eder. + + + + + Her şeye bağlar + + + + + Sarmalanan tür. + + + + + sınıfının, özel türü içeren yeni bir örneğini başlatır. + + Bütünleştirilmiş kod adı + şunun tam adı: + + + + sınıfının, tür nesnesindeki özel türü içeren yeni bir + örneğini başlatır + + Oluşturulacak kaydırılmış Tür. + + + + Başvurulan türü alır + + + + + Statik üyeyi çağırır + + InvokeHelper üyesinin adı + Çağrı bağımsız değişkenleri + Çağrı sonucu + + + + Statik üyeyi çağırır + + InvokeHelper üyesinin adı + Bir dizi çağrılacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler + Çağrı bağımsız değişkenleri + Çağrı sonucu + + + + Statik üyeyi çağırır + + InvokeHelper üyesinin adı + Bir dizi çağrılacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler + Çağrı bağımsız değişkenleri + Genel bağımsız değişkenlerin türlerine karşılık gelen bir tür dizisi. + Çağrı sonucu + + + + Statik metodu çağırır + + Üyenin adı + Çağrı bağımsız değişkenleri + Kültür + Çağrı sonucu + + + + Statik metodu çağırır + + Üyenin adı + Bir dizi çağrılacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler + Çağrı bağımsız değişkenleri + Kültür bilgisi + Çağrı sonucu + + + + Statik metodu çağırır + + Üyenin adı + Ek çağrı öznitelikleri + Çağrı bağımsız değişkenleri + Çağrı sonucu + + + + Statik metodu çağırır + + Üyenin adı + Ek çağrı öznitelikleri + Bir dizi çağrılacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler + Çağrı bağımsız değişkenleri + Çağrı sonucu + + + + Statik metodu çağırır + + Üyenin adı + Ek çağrı öznitelikleri + Çağrı bağımsız değişkenleri + Kültür + Çağrı sonucu + + + + Statik metodu çağırır + + Üyenin adı + Ek çağrı öznitelikleri + /// Bir dizi çağrılacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler + Çağrı bağımsız değişkenleri + Kültür + Çağrı sonucu + + + + Statik metodu çağırır + + Üyenin adı + Ek çağrı öznitelikleri + /// Bir dizi çağrılacak yönteme ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler + Çağrı bağımsız değişkenleri + Kültür + Genel bağımsız değişkenlerin türlerine karşılık gelen bir tür dizisi. + Çağrı sonucu + + + + Statik dizideki öğeyi alır + + Dizinin adı + + Alınacak öğenin konumunu belirten dizinleri temsil eden tek boyutlu bir 32 bit + tamsayı dizisi. Örneğin, a[10][11] öğesine erişmek için dizinler {10,11} olur + + belirtilen konumdaki öğe + + + + Statik dizinin üyesini ayarlar + + Dizinin adı + ayarlanacak değer + + Ayarlanacak öğenin konumunu belirten dizinleri temsil eden tek boyutlu bir 32 bit + tamsayı dizisi. Örneğin, a[10][11] öğesine erişmek için dizi {10,11} olur + + + + + Statik dizideki öğeyi alır + + Dizinin adı + Ek InvokeHelper öznitelikleri + + Alınacak öğenin konumunu belirten dizinleri temsil eden tek boyutlu bir 32 bit + tamsayı dizisi. Örneğin, a[10][11] öğesine erişmek için dizi {10,11} olur + + belirtilen konumdaki öğe + + + + Statik dizinin üyesini ayarlar + + Dizinin adı + Ek InvokeHelper öznitelikleri + ayarlanacak değer + + Ayarlanacak öğenin konumunu belirten dizinleri temsil eden tek boyutlu bir 32 bit + tamsayı dizisi. Örneğin, a[10][11] öğesine erişmek için dizi {10,11} olur + + + + + Statik alanı alır + + Alanın adı + Statik alan. + + + + Statik alanı ayarlar + + Alanın adı + Çağrı bağımsız değişkeni + + + + Belirtilen InvokeHelper özniteliklerini kullanarak statik alanı alır + + Alanın adı + Ek çağrı öznitelikleri + Statik alan. + + + + Bağlama özniteliklerini kullanarak statik alanı ayarlar + + Alanın adı + Ek InvokeHelper öznitelikleri + Çağrı bağımsız değişkeni + + + + Statik alanı veya özelliği alır + + Alan veya özelliğin adı + Statik alan veya özellik. + + + + Statik alanı veya özelliği ayarlar + + Alan veya özelliğin adı + Alan veya özelliğe ayarlanacak değer + + + + Belirtilen InvokeHelper özniteliklerini kullanarak statik alanı veya özelliği alır + + Alan veya özelliğin adı + Ek çağrı öznitelikleri + Statik alan veya özellik. + + + + Bağlama özniteliklerini kullanarak statik alanı veya özelliği ayarlar + + Alan veya özelliğin adı + Ek çağrı öznitelikleri + Alan veya özelliğe ayarlanacak değer + + + + Statik özelliği alır + + Alan veya özelliğin adı + Çağrı bağımsız değişkenleri + Statik özellik. + + + + Statik özelliği ayarlar + + Özellik adı + Alan veya özelliğe ayarlanacak değer + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + + + + Statik özelliği ayarlar + + Özellik adı + Alan veya özelliğe ayarlanacak değer + Bir dizi dizini oluşturulmuş özelliğe ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + + + + Statik özelliği alır + + Özellik adı + Ek çağrı öznitelikleri. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Statik özellik. + + + + Statik özelliği alır + + Özellik adı + Ek çağrı öznitelikleri. + Bir dizi dizini oluşturulmuş özelliğe ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + Statik özellik. + + + + Statik özelliği ayarlar + + Özellik adı + Ek çağrı öznitelikleri. + Alan veya özelliğe ayarlanacak değer + Dizini oluşturulmuş özellikler için isteğe bağlı dizin değerleri. Dizini oluşturulmuş özelliklerin dizinleri sıfır tabanlıdır. Bu değer, dizini oluşturulmamış özellikler için null olmalıdır. + + + + Statik özelliği ayarlar + + Özellik adı + Ek çağrı öznitelikleri. + Alan veya özelliğe ayarlanacak değer + Bir dizi dizini oluşturulmuş özelliğe ait parametrelerin sayısını, sırasını ve türünü temsil eden nesneler. + Çağrılacak üyeye geçirilecek bağımsız değişkenler. + + + + Statik metodu çağırır + + Üyenin adı + Ek çağrı öznitelikleri + Çağrı bağımsız değişkenleri + Kültür + Çağrı sonucu + + + + Genel metotlar için metot imzası bulmayı sağlar. + + + + + Bu iki metodun metot imzalarını karşılaştırır. + + Method1 + Method2 + Benzer olduklarında true. + + + + Sağlanan türün temel türünden hiyerarşi derinliğini alır. + + Tür. + Derinlik. + + + + Sağlanan bilgilerle en çok türetilen türü bulur. + + Aday eşleşmeleri. + Eşleşme sayısı. + En çok türetilen metot. + + + + Temel ölçütlerle eşleşen bir metot kümesini göz önünde bulundurarak + bir tür dizisini temel alan bir metot seçin. Hiçbir metot ölçütlerle eşleşmezse bu metot + null döndürmelidir. + + Bağlama belirtimi. + Aday eşleşmeleri + Türler + Parametre değiştiriciler. + Eşleştirme metodu. Eşleşen yoksa null. + + + + Sağlanan iki metot arasından en belirli olanını bulur. + + Metot 1 + Metot 1 için parametre sırası + Parametre dizi türü. + Metot 2 + Metot 2 için parametre sırası + >Parametre dizi türü. + İçinde aramanın yapılacağı türler. + Bağımsız Değişkenler + Eşleşmeyi temsil eden bir int. + + + + Sağlanan iki metot arasından en belirli olanını bulur. + + Metot 1 + Metot 1 için parametre sırası + Parametre dizi türü. + Metot 2 + Metot 2 için parametre sırası + >Parametre dizi türü. + İçinde aramanın yapılacağı türler. + Bağımsız Değişkenler + Eşleşmeyi temsil eden bir int. + + + + Sağlanan iki tür arasından en belirli olanını bulur. + + Tür 1 + Tür 2 + Tanımlama türü + Eşleşmeyi temsil eden bir int. + + + + Birim testlerinde sağlanan bilgileri depolamak için kullanılır. + + + + + Bir testin test özelliklerini alır. + + + + + Test, veri tabanlı test için kullanıldığında geçerli veri satırını alır. + + + + + Test, veri tabanlı test için kullanıldığında geçerli veri bağlantısı satırını alır. + + + + + Test çalıştırması için, dağıtılan dosyaların ve sonuç dosyalarının depolandığı temel dizini alır. + + + + + Test çalıştırması için dağıtılan dosyaların dizinini alır. Genellikle dizininin bir alt dizinidir. + + + + + Test çalıştırmasından sonuçlar için temel dizini alır. Genellikle dizininin bir alt dizinidir. + + + + + Test çalıştırması sonuç dosyalarının dizinini alır. Genellikle dizininin bir alt dizinidir. + + + + + Test sonucu dosyalarının dizinini alır. + + + + + Test çalıştırması için dağıtılan dosyaların ve sonuç dosyalarının depolandığı temel dizini alır. + ile aynıdır. Bunun yerine bu özelliği kullanın. + + + + + Test çalıştırması için dağıtılan dosyaların dizinini alır. Genellikle dizininin bir alt dizinidir. + ile aynıdır. Bunun yerine bu özelliği kullanın. + + + + + Test çalıştırması sonuç dosyalarının dizini alır. Genellikle dizininin bir alt dizinidir. + ile aynıdır. Test çalıştırması sonuç dosyaları için bu özelliği veya + teste özgü sonuç dosyaları için kullanın. + + + + + Şu anda yürütülen test metodunu içeren sınıfın tam adını alır + + + + + Yürütülmekte olan test metodunun adını alır + + + + + Geçerli test sonucunu alır. + + + + + Test çalışırken izleme iletileri yazmak için kullanılır + + biçimlendirilmiş ileti dizesi + + + + Test çalışırken izleme iletileri yazmak için kullanılır + + biçim dizesi + bağımsız değişkenler + + + + TestResult.ResultFileNames içindeki listeye bir dosya adı ekler + + + Dosya Adı. + + + + + Belirtilen ada sahip bir zamanlayıcı başlatır + + Zamanlayıcının adı. + + + + Belirtilen ada sahip zamanlayıcıyı sonlandırır + + Zamanlayıcının adı. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..b7a0029 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Yürütülecek TestMethod. + + + + + Test metodunun adını alır. + + + + + Test sınıfının adını alır. + + + + + Test metodunun dönüş türünü alır. + + + + + Test metodunun parametrelerini alır. + + + + + Test metodu için methodInfo değerini alır. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Test metodunu çağırır. + + + Test metoduna geçirilecek bağımsız değişkenler. (Örn. Veri temelli için) + + + Test yöntemi çağırma sonucu. + + + This call handles asynchronous test methods as well. + + + + + Test metodunun tüm özniteliklerini alır. + + + Üst sınıfta tanımlanan özniteliğin geçerli olup olmadığını belirtir. + + + Tüm öznitelikler. + + + + + Belirli bir türdeki özniteliği alır. + + System.Attribute type. + + Üst sınıfta tanımlanan özniteliğin geçerli olup olmadığını belirtir. + + + Belirtilen türün öznitelikleri. + + + + + Yardımcı. + + + + + Denetim parametresi null değil. + + + Parametre. + + + Parametre adı. + + + İleti. + + Throws argument null exception when parameter is null. + + + + Denetim parametresi null veya boş değil. + + + Parametre. + + + Parametre adı. + + + İleti. + + Throws ArgumentException when parameter is null. + + + + Veri tabanlı testlerde veri satırlarına erişme şekline yönelik sabit listesi. + + + + + Satırlar sıralı olarak döndürülür. + + + + + Satırlar rastgele sırayla döndürülür. + + + + + Bir test metodu için satır içi verileri tanımlayan öznitelik. + + + + + sınıfının yeni bir örneğini başlatır. + + Veri nesnesi. + + + + Bir bağımsız değişken dizisi alan sınıfının yeni bir örneğini başlatır. + + Bir veri nesnesi. + Daha fazla veri. + + + + Çağıran test metodu verilerini alır. + + + + + Özelleştirme için test sonuçlarında görünen adı alır veya ayarlar. + + + + + Onay sonuçlandırılmadı özel durumu. + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + sınıfının yeni bir örneğini başlatır. + + + + + InternalTestFailureException sınıfı. Bir test çalışmasının iç hatasını belirtmek için kullanılır + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + sınıfının yeni bir örneğini başlatır. + + Özel durum iletisi. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + Özel durum iletisi. + + + + sınıfının yeni bir örneğini başlatır. + + + + + Belirtilen türde bir özel durum beklemeyi belirten öznitelik + + + + + Beklenen tür ile sınıfının yeni bir örneğini başlatır + + Beklenen özel durum türü + + + + Beklenen tür ve test tarafından özel durum oluşturulmadığında eklenecek ileti ile sınıfının + yeni bir örneğini başlatır. + + Beklenen özel durum türü + + Test bir özel durum oluşturmama nedeniyle başarısız olursa test sonucuna dahil edilecek ileti + + + + + Beklenen özel durumun Türünü belirten bir değer alır + + + + + Beklenen özel durumun türünden türetilmiş türlerin beklenen özel durum türü olarak değerlendirilmesine izin verilip verilmeyeceğini + belirten değeri alır veya ayarlar + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Birim testi tarafından oluşturulan özel durum türünün beklendiğini doğrular + + Birim testi tarafından oluşturulan özel durum + + + + Birim testinden bir özel durum beklemek için belirtilen özniteliklerin temel sınıfı + + + + + Varsayılan bir 'özel durum yok' iletisi ile sınıfının yeni bir örneğini başlatır + + + + + Bir 'özel durum yok' iletisi ile sınıfının yeni bir örneğini başlatır + + + Test bir özel durum oluşturmama nedeniyle başarısız olursa test sonucuna + dahil edilecek özel durum + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Varsayılan 'özel durum yok' iletisini alır + + ExpectedException özniteliği tür adı + Özel durum olmayan varsayılan ileti + + + + Özel durumun beklenip beklenmediğini belirler. Metot dönüş yapıyorsa, özel + durumun beklendiği anlaşılır. Metot bir özel durum oluşturuyorsa, özel durumun + beklenmediği anlaşılır ve oluşturulan özel durumun iletisi test sonucuna + eklenir. Kolaylık sağlamak amacıyla sınıfı kullanılabilir. + kullanılırsa ve onaylama başarısız olursa, + test sonucu Belirsiz olarak ayarlanır. + + Birim testi tarafından oluşturulan özel durum + + + + Özel durum bir AssertFailedException veya AssertInconclusiveException ise özel durumu yeniden oluşturur + + Bir onaylama özel durumu ise yeniden oluşturulacak özel durum + + + + Bu sınıf, kullanıcının genel türler kullanan türlere yönelik birim testleri yapmasına yardımcı olmak üzere tasarlanmıştır. + GenericParameterHelper bazı genel tür kısıtlamalarını yerine getirir; + örneğin: + 1. genel varsayılan oluşturucu + 2. ortak arabirim uygular: IComparable, IEnumerable + + + + + sınıfının C# genel türlerindeki 'newable' + kısıtlamasını karşılayan yeni bir örneğini başlatır. + + + This constructor initializes the Data property to a random value. + + + + + sınıfının, Data özelliğini kullanıcı + tarafından sağlanan bir değerle başlatan yeni bir örneğini başlatır. + + Herhangi bir tamsayı değeri + + + + Verileri alır veya ayarlar + + + + + İki GenericParameterHelper nesnesi için değer karşılaştırması yapar + + karşılaştırma yapılacak nesne + nesne bu 'this' GenericParameterHelper nesnesiyle aynı değere sahipse true. + aksi takdirde false. + + + + Bu nesne için bir karma kod döndürür. + + Karma kod. + + + + İki nesnesinin verilerini karşılaştırır. + + Karşılaştırılacak nesne. + + Bu örnek ve değerin göreli değerlerini gösteren, işaretli sayı. + + + Thrown when the object passed in is not an instance of . + + + + + Uzunluğu Data özelliğinden türetilmiş bir IEnumerator nesnesi + döndürür. + + IEnumerator nesnesi + + + + Geçerli nesneye eşit olan bir GenericParameterHelper nesnesi + döndürür. + + Kopyalanan nesne. + + + + Kullanıcıların tanılama amacıyla birim testlerindeki izlemeleri günlüğe kaydetmesini/yazmasını sağlar. + + + + + LogMessage işleyicisi. + + Günlüğe kaydedilecek ileti. + + + + Dinlenecek olay. Birim testi yazıcı bir ileti yazdığında oluşturulur. + Genellikle bağdaştırıcı tarafından kullanılır. + + + + + İletileri günlüğe kaydetmek için çağrılacak test yazıcısı API'si. + + Yer tutucuları olan dize biçimi. + Yer tutucu parametreleri. + + + + TestCategory özniteliği; bir birim testinin kategorisini belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır ve kategoriyi teste uygular. + + + Test Kategorisi. + + + + + Teste uygulanan test kategorilerini alır. + + + + + "Category" özniteliğinin temel sınıfı + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + sınıfının yeni bir örneğini başlatır. + Kategoriyi teste uygular. TestCategories tarafından döndürülen + dizeler /category komutu içinde testleri filtrelemek için kullanılır + + + + + Teste uygulanan test kategorisini alır. + + + + + AssertFailedException sınıfı. Test çalışmasının başarısız olduğunu göstermek için kullanılır + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + sınıfının yeni bir örneğini başlatır. + + + + + Birim testleri içindeki çeşitli koşulları test etmeye yönelik yardımcı + sınıf koleksiyonu. Test edilen koşul karşılanmazsa bir özel durum + oluşturulur. + + + + + Assert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Thrown if is false. + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + false. İleti test sonuçlarında gösterilir. + + + Thrown if is false. + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + false. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is false. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Thrown if is true. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + true. İleti test sonuçlarında gösterilir. + + + Thrown if is true. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + true. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is true. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Thrown if is not null. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null değil. İleti test sonuçlarında gösterilir. + + + Thrown if is not null. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null değil. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Thrown if is null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null. İleti test sonuçlarında gösterilir. + + + Thrown if is null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is null. + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı değil: . İleti test + sonuçlarında gösterilir. + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı değil: . İleti test + sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if refers to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynıdır: . İleti test sonuçlarında + gösterilir. + + + Thrown if refers to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynıdır: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if refers to the same object + as . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if is not equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Thrown if is not equal to + . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneği değil: . İleti + test sonuçlarında gösterilir. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneği değil: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneğidir: . İleti test + sonuçlarında gösterilir. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneğidir: . İleti test + sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Bir AssertFailedException oluşturur. + + + Always thrown. + + + + + Bir AssertFailedException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Always thrown. + + + + + Bir AssertFailedException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Always thrown. + + + + + Statik eşit aşırı yüklemeler iki türün örneklerini başvuru eşitliği bakımından + karşılaştırmak için kullanılır. Bu metot iki örneği eşitlik bakımından karşılaştırmak için + kullanılmamalıdır. Bu nesne her zaman Assert.Fail ile oluşturulur. + Lütfen birim testlerinizde Assert.AreEqual ve ilişkili aşırı yüklemelerini kullanın. + + Nesne A + Nesne B + Her zaman false. + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa AssertFailedException oluşturur. + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + Şu durumda özel duruma dahil edilecek ileti + tarafından şu türde özel durum oluşturulmadığı durumlarda oluşturulur: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa AssertFailedException oluşturur. + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + Şu durumda özel duruma dahil edilecek ileti + tarafından şu türde özel durum oluşturulmadığı durumlarda oluşturulur: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + Null karakterleri ('\0'), "\\0" ile değiştirir. + + + Aranacak dize. + + + Null karakterler içeren dönüştürülmüş dize "\\0" ile değiştirildi. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException oluşturan yardımcı işlev + + + özel durum oluşturan onaylamanın adı + + + onaylama hatası koşullarını açıklayan ileti + + + Parametreler. + + + + + Parametreyi geçerli koşullar için denetler + + + Parametre. + + + Onaylama Adı. + + + parametre adı + + + iletisi geçersiz parametre özel durumu içindir + + + Parametreler. + + + + + Bir nesneyi güvenli bir şekilde dizeye dönüştürür, null değerleri ve null karakterleri işler. + Null değerler "(null)" değerine dönüştürülür. Null karakterler "\\0" değerine dönüştürülür. + + + Dizeye dönüştürülecek nesne. + + + Dönüştürülmüş dize. + + + + + Dize onayı. + + + + + CollectionAssert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla başlamıyor: . İleti + test sonuçlarında gösterilir. + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla başlamıyor: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Thrown if does not end with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla bitmiyor: . İleti + test sonuçlarında gösterilir. + + + Thrown if does not end with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla bitmiyor: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not end with + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşmiyor . İleti test sonuçlarında + gösterilir. + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşmiyor . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Thrown if matches . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşme . İleti, test sonuçlarında + gösterilir. + + + Thrown if matches . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşme . İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if matches . + + + + + Birim testleri içindeki koleksiyonlarla ilişkili çeşitli koşulları test etmeye + yönelik yardımcı sınıf koleksiyonu. Test edilen koşul karşılanmazsa + bir özel durum oluşturulur. + + + + + CollectionAssert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Thrown if is found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içindedir: . İleti, test sonuçlarında + gösterilir. + + + Thrown if is found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içindedir: . İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + bir null öğe içeriyor. İleti test sonuçlarında gösterilir. + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + bir null öğe içeriyor. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Thrown if a two or more equal elements are found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + en az bir yinelenen öğe içeriyor. İleti, test sonuçlarında + gösterilir. + + + Thrown if a two or more equal elements are found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + en az bir yinelenen öğe içeriyor. İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if a two or more equal elements are found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şurada bulunmuyor: . + İleti test sonuçlarında gösterilir. + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şurada bulunmuyor: . + İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Thrown if every element in is also found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Mesajın özel duruma dahil edilmesi için şuradaki her öğe: + ayrıca şurada bulunur: . + İleti test sonuçlarında gösterilir. + + + Thrown if every element in is also found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Mesajın özel duruma dahil edilmesi için şuradaki her öğe: + ayrıca şurada bulunur: . + İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if every element in is also found in + . + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Bir öğe koleksiyonlardan birinde varken diğerinde olmadığında + özel duruma eklenecek ileti. İleti, test sonuçlarında + gösterilir. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Bir öğe koleksiyonlardan birinde varken diğerinde olmadığında + özel duruma eklenecek ileti. İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı öğeleri içerir: . İleti + test sonuçlarında gösterilir. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı öğeleri içerir: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şunun bir örneği değil: + . İleti test sonuçlarında gösterilir. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şunun bir örneği değil: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti: + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti: + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Şu parametre biçimlendirilirken kullanılacak parametre dizisi: . + + + Thrown if is equal to . + + + + + Birinci koleksiyonun ikinci koleksiyona ait bir alt küme olup + olmadığını belirler. Kümelerden biri yinelenen öğeler içeriyorsa, + öğenin alt kümedeki oluşum sayısı üst kümedeki oluşum sayısına + eşit veya bu sayıdan daha az olmalıdır. + + + Testin içinde bulunmasını beklediği koleksiyon . + + + Testin içermesini beklediği koleksiyon . + + + Şu durumda true: şunun bir alt kümesidir: + , aksi takdirde false. + + + + + Belirtilen koleksiyondaki her öğenin oluşum sayısını içeren bir + sözlük oluşturur. + + + İşlenecek koleksiyon. + + + Koleksiyondaki null öğe sayısı. + + + Belirtilen koleksiyondaki her öğenin oluşum sayısını içeren + bir sözlük. + + + + + İki koleksiyon arasında eşleşmeyen bir öğe bulur. Eşleşmeyen öğe, + beklenen koleksiyonda gerçek koleksiyondakinden farklı sayıda görünen + öğedir. Koleksiyonların, + aynı sayıda öğeye sahip null olmayan farklı başvurular olduğu + varsayılır. Bu doğrulama düzeyinden + çağıran sorumludur. Eşleşmeyen bir öğe yoksa işlev + false değerini döndürür ve dış parametreler kullanılmamalıdır. + + + Karşılaştırılacak birinci koleksiyon. + + + Karşılaştırılacak ikinci koleksiyon. + + + Şunun için beklenen oluşma sayısı: + veya uyumsuz öğe yoksa + 0. + + + Gerçek oluşma sayısı: + veya uyumsuz öğe yoksa + 0. + + + Uyumsuz öğe (null olabilir) veya uyumsuz bir + öğe yoksa null. + + + uyumsuz bir öğe bulunduysa true; aksi takdirde false. + + + + + object.Equals kullanarak nesneleri karşılaştırır + + + + + Çerçeve Özel Durumları için temel sınıf. + + + + + sınıfının yeni bir örneğini başlatır. + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + Yerelleştirilmiş dizeleri aramak gibi işlemler için, türü kesin olarak belirtilmiş kaynak sınıfı. + + + + + Bu sınıf tarafından kullanılan, önbelleğe alınmış ResourceManager örneğini döndürür. + + + + + Türü kesin olarak belirlenmiş bu kaynak sınıfını kullanan + tüm kaynak aramaları için geçerli iş parçacığının CurrentUICulture özelliğini geçersiz kılar. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Erişim dizesinde geçersiz söz dizimi var. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen koleksiyon {1} <{2}> oluşumu içeriyor. Gerçek koleksiyon {3} oluşum içeriyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Yinelenen öğe bulundu:<{1}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1}>. Gerçek değer için büyük/küçük harf kullanımı farklı:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen <{1}> değeri ile gerçek <{2}> değeri arasında en fazla <{3}> fark bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1} ({2})>. Gerçek:<{3} ({4})>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1}>. Gerçek:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen <{1}> değeri ile gerçek <{2}> değeri arasında <{3}> değerinden büyük bir fark bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: <{1}> dışında bir değer bekleniyordu. Gerçek:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Değer türlerini AreSame() metoduna geçirmeyin. Object türüne dönüştürülen değerler hiçbir zaman aynı olmaz. AreEqual(). kullanmayı deneyin {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} başarısız oldu. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: UITestMethodAttribute özniteliğine sahip async TestMethod metodu desteklenmiyor. async ifadesini kaldırın ya da TestMethodAttribute özniteliğini kullanın. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da boş. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da aynı öğeleri içeriyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon başvurusu da aynı koleksiyon nesnesini işaret ediyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da aynı öğeleri içeriyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0}({1}). + + + + + Şuna benzer bir yerelleştirilmiş dize arar: null. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: nesne. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesini içermiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} ({1}). + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Assert.Equals, Onaylamalar için kullanılmamalıdır. Lütfen bunun yerine Assert.AreEqual ve aşırı yüklemelerini kullanın. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Koleksiyonlardaki öğe sayıları eşleşmiyor. Beklenen:<{1}>. Gerçek:<{2}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} dizinindeki öğe eşleşmiyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {1} dizinindeki öğe beklenen türde değil. Beklenen tür:<{2}>. Gerçek tür:<{3}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dizeyi arar: {1} dizinindeki öğe (null). Beklenen tür:<{2}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesiyle bitmiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Geçersiz bağımsız değişken. EqualsTester null değerler kullanamaz. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} türündeki nesne {1} türüne dönüştürülemiyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Başvurulan iç nesne artık geçerli değil. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' parametresi geçersiz. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} özelliği {1} türüne sahip; beklenen tür {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} Beklenen tür:<{1}>. Gerçek tür:<{2}>. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' deseniyle eşleşmiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Yanlış Tür:<{1}>. Gerçek tür:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' deseniyle eşleşiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: No DataRowAttribute belirtilmedi. DataTestMethodAttribute ile en az bir DataRowAttribute gereklidir. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Özel durum oluşturulmadı. {1} özel durumu bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' parametresi geçersiz. Değer null olamaz. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Farklı sayıda öğe. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: + Belirtilen imzaya sahip oluşturucu bulunamadı. Özel erişimcinizi yeniden oluşturmanız gerekebilir + veya üye özel ve bir temel sınıfta tanımlanmış olabilir. İkinci durum geçerliyse üyeyi + tanımlayan türü PrivateObject oluşturucusuna geçirmeniz gerekir. + . + + + + + Şuna benzer bir yerelleştirilmiş dize arar: + Belirtilen üye ({0}) bulunamadı. Özel erişimcinizi yeniden oluşturmanız gerekebilir + veya üye özel ve bir temel sınıfta tanımlanmış olabilir. İkinci durum geçerliyse üyeyi tanımlayan türü + PrivateObject oluşturucusuna geçirmeniz gerekir. + . + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesiyle başlamıyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen özel durum türü System.Exception veya System.Exception'dan türetilmiş bir tür olmalıdır. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Bir özel durum nedeniyle {0} türündeki özel durum için ileti alınamadı. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu beklenen {0} özel durumunu oluşturmadı. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu bir özel durum oluşturmadı. Test metodunda tanımlanan {0} özniteliği tarafından bir özel durum bekleniyordu. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu {0} özel durumunu oluşturdu, ancak {1} özel durumu bekleniyordu. Özel durum iletisi: {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu {0} özel durumunu oluşturdu, ancak {1} özel durumu veya bundan türetilmiş bir tür bekleniyordu. Özel durum iletisi: {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {2} özel durumu oluşturuldu, ancak {1} özel durumu bekleniyordu. {0} + Özel Durum İletisi: {3} + Yığın İzleme: {4}. + + + + + birim testi sonuçları + + + + + Test yürütüldü ancak sorunlar oluştu. + Sorunlar özel durumları veya başarısız onaylamaları içerebilir. + + + + + Test tamamlandı ancak başarılı olup olmadığı belli değil. + İptal edilen testler için kullanılabilir. + + + + + Test bir sorun olmadan yürütüldü. + + + + + Test şu anda yürütülüyor. + + + + + Test yürütülmeye çalışılırken bir sistem hatası oluştu. + + + + + Test zaman aşımına uğradı. + + + + + Test, kullanıcı tarafından iptal edildi. + + + + + Test bilinmeyen bir durumda + + + + + Birim testi çerçevesi için yardımcı işlevini sağlar + + + + + Yinelemeli olarak tüm iç özel durumların iletileri dahil olmak üzere + özel durum iletilerini alır + + Şunun için iletilerin alınacağı özel durum: + hata iletisi bilgilerini içeren dize + + + + Zaman aşımları için sınıfı ile birlikte kullanılabilen sabit listesi. + Sabit listesinin türü eşleşmelidir + + + + + Sonsuz. + + + + + Test sınıfı özniteliği. + + + + + Bu testi çalıştırmayı sağlayan bir test metodu özniteliği alır. + + Bu metot üzerinde tanımlanan test metodu özniteliği örneği. + The bu testi çalıştırmak için kullanılabilir. + Extensions can override this method to customize how all methods in a class are run. + + + + Test metodu özniteliği. + + + + + Bir test metodu yürütür. + + Yürütülecek test metodu. + Testin sonuçlarını temsil eden bir TestResult nesneleri dizisi. + Extensions can override this method to customize running a TestMethod. + + + + Test başlatma özniteliği. + + + + + Test temizleme özniteliği. + + + + + Ignore özniteliği. + + + + + Test özelliği özniteliği. + + + + + sınıfının yeni bir örneğini başlatır. + + + Ad. + + + Değer. + + + + + Adı alır. + + + + + Değeri alır. + + + + + Sınıf başlatma özniteliği. + + + + + Sınıf temizleme özniteliği. + + + + + Bütünleştirilmiş kod başlatma özniteliği. + + + + + Bütünleştirilmiş kod temizleme özniteliği. + + + + + Test Sahibi + + + + + sınıfının yeni bir örneğini başlatır. + + + Sahip. + + + + + Sahibi alır. + + + + + Priority özniteliği; birim testinin önceliğini belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır. + + + Öncelik. + + + + + Önceliği alır. + + + + + Testin açıklaması + + + + + Bir testi açıklamak için kullanılan sınıfının yeni bir örneğini başlatır. + + Açıklama. + + + + Bir testin açıklamasını alır. + + + + + CSS Proje Yapısı URI'si + + + + + CSS Proje Yapısı URI'si için sınıfının yeni bir örneğini başlatır. + + CSS Proje Yapısı URI'si. + + + + CSS Proje Yapısı URI'sini alır. + + + + + CSS Yineleme URI'si + + + + + CSS Yineleme URI'si için sınıfının yeni bir örneğini başlatır. + + CSS Yineleme URI'si. + + + + CSS Yineleme URI'sini alır. + + + + + WorkItem özniteliği; bu testle ilişkili bir çalışma öğesini belirtmek için kullanılır. + + + + + WorkItem Özniteliği için sınıfının yeni bir örneğini başlatır. + + Bir iş öğesinin kimliği. + + + + İlişkili bir iş öğesinin kimliğini alır. + + + + + Timeout özniteliği; bir birim testinin zaman aşımını belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır. + + + Zaman aşımı. + + + + + sınıfının önceden ayarlanmış bir zaman aşımı ile yeni bir örneğini başlatır + + + Zaman aşımı + + + + + Zaman aşımını alır. + + + + + Bağdaştırıcıya döndürülecek TestResult nesnesi. + + + + + sınıfının yeni bir örneğini başlatır. + + + + + Sonucun görünen adını alır veya ayarlar. Birden fazla sonuç döndürürken yararlıdır. + Null ise Metot adı DisplayName olarak kullanılır. + + + + + Test yürütmesinin sonucunu alır veya ayarlar. + + + + + Test başarısız olduğunda oluşturulan özel durumu alır veya ayarlar. + + + + + Test kodu tarafından günlüğe kaydedilen iletinin çıktısını alır veya ayarlar. + + + + + Test kodu tarafından günlüğe kaydedilen iletinin çıktısını alır veya ayarlar. + + + + + Test koduna göre hata ayıklama izlemelerini alır veya ayarlar. + + + + + Gets or sets the debug traces by test code. + + + + + Test yürütme süresini alır veya ayarlar. + + + + + Veri kaynağındaki veri satırı dizinini alır veya ayarlar. Yalnızca, veri tabanlı bir testin tek bir veri satırının + çalıştırılmasına ait sonuçlar için ayarlayın. + + + + + Test metodunun dönüş değerini alır veya ayarlar. (Şu anda her zaman null). + + + + + Test tarafından eklenen sonuç dosyalarını alır veya ayarlar. + + + + + Veri tabanlı test için bağlantı dizesini, tablo adını ve satır erişim metodunu belirtir. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource için varsayılan sağlayıcı adı. + + + + + Varsayılan veri erişimi metodu. + + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir veri sağlayıcısı, bağlantı dizesi, veri tablosu ve veri kaynağına erişmek için kullanılan veri erişimi metodu ile başlatılır. + + System.Data.SqlClient gibi değişmez veri sağlayıcısı adı + + Veri sağlayıcısına özgü bağlantı dizesi. + UYARI: Bağlantı dizesi, hassas veriler (parola gibi) içerebilir. + Bağlantı dizesi, kaynak kodunda ve derlenmiş bütünleştirilmiş kodda düz metin olarak depolanır. + Bu hassas bilgileri korumak için kaynak koda ve bütünleştirilmiş koda erişimi kısıtlayın. + + Veri tablosunun adı. + Verilere erişme sırasını belirtir. + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir bağlantı dizesi ve tablo adı ile başlatılır. + OLEDB veri kaynağına erişmek için kullanılan bağlantı dizesini ve veri tablosunu belirtin. + + + Veri sağlayıcısına özgü bağlantı dizesi. + UYARI: Bağlantı dizesi, hassas veriler (parola gibi) içerebilir. + Bağlantı dizesi, kaynak kodunda ve derlenmiş bütünleştirilmiş kodda düz metin olarak depolanır. + Bu hassas bilgileri korumak için kaynak koda ve bütünleştirilmiş koda erişimi kısıtlayın. + + Veri tablosunun adı. + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir veri sağlayıcısı ile ve ayar adıyla ilişkili bir bağlantı dizesi ile başlatılır. + + App.config dosyasındaki <microsoft.visualstudio.qualitytools> bölümünde bulunan veri kaynağının adı. + + + + Veri kaynağının veri sağlayıcısını temsil eden bir değer alır. + + + Veri sağlayıcısı adı. Nesne başlatılırken bir veri sağlayıcısı belirtilmemişse varsayılan System.Data.OleDb sağlayıcısı döndürülür. + + + + + Veri kaynağının bağlantı dizesini temsil eden bir değer alır. + + + + + Verileri sağlayan tablo adını belirten bir değer alır. + + + + + Veri kaynağına erişmek için kullanılan metodu alır. + + + + Bir değerlerdir. Eğer başlatılmazsa, varsayılan değeri döndürür . + + + + + App.config dosyasındaki <microsoft.visualstudio.qualitytools> bölümünde bulunan bir veri kaynağının adını alır. + + + + + Verilerin satır içi belirtilebileceği veri tabanlı testin özniteliği. + + + + + Tüm veri satırlarını bulur ve yürütür. + + + Test Yöntemi. + + + Bir . + + + + + Veri tabanlı test metodunu çalıştırır. + + Yürütülecek test yöntemi. + Veri Satırı. + Yürütme sonuçları. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..35e3696 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 用于为预测试部署指定部署项(文件或目录)。 + 可在测试类或测试方法上指定。 + 可使用多个特性实例来指定多个项。 + 项路径可以是绝对路径或相对路径,如果为相对路径,则相对于 RunConfig.RelativePathRoot。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + 初始化 类的新实例。 + + 要部署的文件或目录。路径与生成输出目录相关。将项复制到与已部署测试程序集相同的目录。 + + + + 初始化 类的新实例 + + 要部署的文件或目录的相对路径或绝对路径。该路径相对于生成输出目录。将项复制到与已部署测试程序集相同的目录。 + 要将项复制到其中的目录路径。它可以是绝对部署目录或相对部署目录。所有由以下对象标识的文件和目录: 将复制到此目录。 + + + + 获取要复制的源文件或文件夹的路径。 + + + + + 获取将项复制到其中的目录路径。 + + + + + 包含节名称、属性名称、特性名称的文本。 + + + + + 配置节名称。 + + + + + Beta2 的配置节名称。保留以兼容。 + + + + + 数据源的节名称。 + + + + + "Name" 的属性名称 + + + + + "ConnectionString" 的属性名称 + + + + + "DataAccessMethod" 的属性名称 + + + + + "DataTable" 的属性名称 + + + + + 数据源元素。 + + + + + 获取或设置此配置的名称。 + + + + + 获取或设置 .config 文件 <connectionStrings> 部分中的 ConnectionStringSettings 元素。 + + + + + 获取或设置数据表的名称。 + + + + + 获取或设置数据访问的类型。 + + + + + 获取密钥名称。 + + + + + 获取配置属性。 + + + + + 数据源元素集合。 + + + + + 初始化 类的新实例。 + + + + + 返回具有指定密钥的配置元素。 + + 要返回的元素的密钥。 + 具有指定密钥的 System.Configuration.ConfigurationElement;否则,为空。 + + + + 在指定索引位置获取配置元素。 + + 要返回的 System.Configuration.ConfigurationElement 的索引位置。 + + + + 向配置元素集合添加一个配置元素。 + + 要添加的 System.Configuration.ConfigurationElement。 + + + + 从集合中删除一个 System.Configuration.ConfigurationElement。 + + . + + + + 从集合中删除一个 System.Configuration.ConfigurationElement。 + + 要删除的 System.Configuration.ConfigurationElement 的密钥。 + + + + 从集合中删所有配置元素对象。 + + + + + 创建一个新 。 + + 一个新的. + + + + 获取指定配置元素的元素密钥。 + + 返回密钥的 System.Configuration.ConfigurationElement。 + 充当指定 System.Configuration.ConfigurationElement 密钥的 System.Object。 + + + + 向配置元素集合添加一个配置元素。 + + 要添加的 System.Configuration.ConfigurationElement。 + + + + 向配置元素集合添加一个配置元素。 + + 要添加指定 System.Configuration.ConfigurationElement 的索引位置。 + 要添加的 System.Configuration.ConfigurationElement。 + + + + 支持对测试进行配置设置。 + + + + + 获取测试的配置节。 + + + + + 测试的配置节。 + + + + + 获取此配置节的数据源。 + + + + + 获取属性集合。 + + + 该 元素的属性。 + + + + + 此类表示系统中活动的非公共内部对象 + + + + + 初始化 类的新实例, + 该类包含已存在的私有类对象 + + 充当访问私有成员的起点的对象 + 非关联化字符串 using,指向要以 m_X.m_Y.m_Z 形式检索的对象 + + + + 初始化包装 + 指定类型的 类的新实例。 + + 程序集名称 + 完全限定名称 + 要传递到构造函数的参数 + + + + 初始化包装 + 指定类型的 类的新实例。 + + 程序集名称 + 完全限定名称 + 表示供方法调用的 表示供构造函数获取的参数编号、顺序和类型的对象 + 要传递到构造函数的参数 + + + + 初始化包装 + 指定类型的 类的新实例。 + + 要创建的对象的类型 + 要传递到构造函数的参数 + + + + 初始化包装 + 指定类型的 类的新实例。 + + 要创建的对象的类型 + 表示供方法调用的 表示供构造函数获取的参数编号、顺序和类型的对象 + 要传递到构造函数的参数 + + + + 初始化包装 + 给定对象的 类的新实例。 + + 要包装的对象 + + + + 初始化包装 + 给定对象的 类的新实例。 + + 要包装的对象 + PrivateType 对象 + + + + 获取或设置目标 + + + + + 获取基础对象的类型 + + + + + 返回目标对象的哈希代码 + + 表示目标对象的哈希代码的 int + + + + 等于 + + 要与其比较的对象 + 如果对象相等,则返回 true。 + + + + 调用指定方法 + + 方法名称 + 要传递到成员以调用的参数。 + 方法调用的结果 + + + + 调用指定方法 + + 方法名称 + 表示供方法调用的 表示供方法获取的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + 方法调用的结果 + + + + 调用指定方法 + + 方法名称 + 表示供方法调用的 表示供方法获取的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + 与泛型参数的类型对应的类型数组。 + 方法调用的结果 + + + + 调用指定方法 + + 方法名称 + 要传递到成员以调用的参数。 + 区域性信息 + 方法调用的结果 + + + + 调用指定方法 + + 方法名称 + 表示供方法调用的 表示供方法获取的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + 区域性信息 + 方法调用的结果 + + + + 调用指定方法 + + 方法名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 要传递到成员以调用的参数。 + 方法调用的结果 + + + + 调用指定方法 + + 方法名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 表示供方法调用的 表示供方法获取的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + 方法调用的结果 + + + + 调用指定方法 + + 方法名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 要传递到成员以调用的参数。 + 区域性信息 + 方法调用的结果 + + + + 调用指定方法 + + 方法名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 表示供方法调用的 表示供方法获取的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + 区域性信息 + 方法调用的结果 + + + + 调用指定方法 + + 方法名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 表示供方法调用的 表示供方法获取的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + 区域性信息 + 与泛型参数的类型对应的类型数组。 + 方法调用的结果 + + + + 使用每个维度的子脚本数组获取数组元素 + + 成员名称 + 数组的索引 + 元素数组。 + + + + 使用每个维度的子脚本数组设置数组元素 + + 成员名称 + 要设置的值 + 数组的索引 + + + + 使用每个维度的子脚本数组获取数组元素 + + 成员名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 数组的索引 + 元素数组。 + + + + 使用每个维度的子脚本数组设置数组元素 + + 成员名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 要设置的值 + 数组的索引 + + + + 获取字段 + + 字段名称 + 字段。 + + + + 设置字段 + + 字段名称 + 要设置的值 + + + + 获取字段 + + 字段名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 字段。 + + + + 设置字段 + + 字段名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 要设置的值 + + + + 获取字段或属性 + + 字段或属性的名称 + 字段或属性。 + + + + 设置字段或属性 + + 字段或属性的名称 + 要设置的值 + + + + 获取字段或属性 + + 字段或属性的名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 字段或属性。 + + + + 设置字段或属性 + + 字段或属性的名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 要设置的值 + + + + 获取属性 + + 属性名称 + 要传递到成员以调用的参数。 + 属性。 + + + + 获取属性 + + 属性名称 + 表示供方法调用的 表示索引属性的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + 属性。 + + + + 设置属性 + + 属性名称 + 要设置的值 + 要传递到成员以调用的参数。 + + + + 设置属性 + + 属性名称 + 表示供方法调用的 表示索引属性的参数编号、顺序和类型的对象。 + 要设置的值 + 要传递到成员以调用的参数。 + + + + 获取属性 + + 属性名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 要传递到成员以调用的参数。 + 属性。 + + + + 获取属性 + + 属性名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 表示供方法调用的 表示索引属性的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + 属性。 + + + + 设置属性 + + 属性名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 要设置的值 + 要传递到成员以调用的参数。 + + + + 设置属性 + + 属性名称 + 由一个或多个以下对象组成的位掩码: 指定如何执行搜索。 + 要设置的值 + 表示供方法调用的 表示索引属性的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + + + + 验证访问字符串 + + 访问字符串 + + + + 调用成员 + + 成员名称 + 其他特性 + 调用的参数 + 区域性 + 调用的结果 + + + + 从当前私有类型中提取最合适的泛型方法签名。 + + 要在其中搜索签名缓存的方法的名称。 + 与要在其中进行搜索的参数类型对应的类型数组。 + 与泛型参数的类型对应的类型数组。 + 以进一步筛选方法签名。 + 参数的修饰符。 + methodinfo 实例。 + + + + 此类表示专用访问器功能的私有类。 + + + + + 绑定到所有内容 + + + + + 包装的类型。 + + + + + 初始化包含私有类型的 类的新实例。 + + 程序集名称 + 其完全限定的名称 + + + + 初始化 类的新实例, + 该类包含类型对象中的 + 私有类型 + 要创建的包装类型。 + + + + 获取引用的类型 + + + + + 调用静态成员 + + InvokeHelper 的成员的名称 + 调用的参数 + 调用的结果 + + + + 调用静态成员 + + InvokeHelper 的成员的名称 + 表示供方法调用的参数编号、顺序和类型的对象数组 + 调用的参数 + 调用的结果 + + + + 调用静态成员 + + InvokeHelper 的成员的名称 + 表示供方法调用的参数编号、顺序和类型的对象数组 + 调用的参数 + 与泛型参数的类型对应的类型数组。 + 调用的结果 + + + + 调用静态方法 + + 成员名称 + 调用的参数 + 区域性 + 调用的结果 + + + + 调用静态方法 + + 成员名称 + 表示供方法调用的参数编号、顺序和类型的对象数组 + 调用的参数 + 区域性信息 + 调用的结果 + + + + 调用静态方法 + + 成员名称 + 其他调用特性 + 调用的参数 + 调用的结果 + + + + 调用静态方法 + + 成员名称 + 其他调用特性 + 表示供方法调用的参数编号、顺序和类型的对象数组 + 调用的参数 + 调用的结果 + + + + 调用静态方法 + + 成员名称 + 其他调用特性 + 调用的参数 + 区域性 + 调用的结果 + + + + 调用静态方法 + + 成员名称 + 其他调用特性 + /// 表示供方法调用的参数编号、顺序和类型的对象数组 + 调用的参数 + 区域性 + 调用的结果 + + + + 调用静态方法 + + 成员名称 + 其他调用特性 + /// 表示供方法调用的参数编号、顺序和类型的对象数组 + 调用的参数 + 区域性 + 与泛型参数的类型对应的类型数组。 + 调用的结果 + + + + 获取静态数组中的元素 + + 数组名称 + + 一个 32 位整数的一维数组,表示指定要获取的 + 元素位置的索引。例如,要访问 a[10][11],则索引为 {10,11} + + 指定位置处的元素 + + + + 设置静态数组的成员 + + 数组名称 + 要设置的值 + + 一个 32 位整数的一维数组,表示指定要设置的 + 元素位置的索引。例如,要访问 a[10][11],则数组为 {10,11} + + + + + 获取静态数组中的元素 + + 数组名称 + 其他 InvokeHelper 特性 + + 一个 32 位整数的一维数组,表示指定要获取的 + 元素位置的索引。例如,要访问 a[10][11],则数组为 {10,11} + + 指定位置处的元素 + + + + 设置静态数组的成员 + + 数组名称 + 其他 InvokeHelper 特性 + 要设置的值 + + 一个 32 位整数的一维数组,表示指定要设置的 + 元素位置的索引。例如,要访问 a[10][11],则数组为 {10,11} + + + + + 获取静态字段 + + 字段名称 + 静态字段。 + + + + 设置静态字段 + + 字段名称 + 调用的参数 + + + + 使用指定的 InvokeHelper 属性获取静态字段 + + 字段名称 + 其他调用特性 + 静态字段。 + + + + 使用绑定属性设置静态字段 + + 字段名称 + 其他 InvokeHelper 特性 + 调用的参数 + + + + 获取静态字段或属性 + + 字段或属性的名称 + 静态字段或属性。 + + + + 设置静态字段或属性 + + 字段或属性的名称 + 要设置到字段或属性的值 + + + + 使用指定的 InvokeHelper 属性获取静态字段或属性 + + 字段或属性的名称 + 其他调用特性 + 静态字段或属性。 + + + + 使用绑定属性设置静态字段或属性 + + 字段或属性的名称 + 其他调用特性 + 要设置到字段或属性的值 + + + + 获取静态属性 + + 字段或属性的名称 + 调用的参数 + 静态属性。 + + + + 设置静态属性 + + 属性名称 + 要设置到字段或属性的值 + 要传递到成员以调用的参数。 + + + + 设置静态属性 + + 属性名称 + 要设置到字段或属性的值 + 表示供方法调用的 表示索引属性的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + + + + 获取静态属性 + + 属性名称 + 其他调用特性。 + 要传递到成员以调用的参数。 + 静态属性。 + + + + 获取静态属性 + + 属性名称 + 其他调用特性。 + 表示供方法调用的 表示索引属性的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + 静态属性。 + + + + 设置静态属性 + + 属性名称 + 其他调用特性。 + 要设置到字段或属性的值 + 索引属性的可选索引值。索引属性的索引以零为基础。对于非索引属性此值应为 null。 + + + + 设置静态属性 + + 属性名称 + 其他调用特性。 + 要设置到字段或属性的值 + 表示供方法调用的 表示索引属性的参数编号、顺序和类型的对象。 + 要传递到成员以调用的参数。 + + + + 调用静态方法 + + 成员名称 + 其他调用特性 + 调用的参数 + 区域性 + 调用的结果 + + + + 为泛型方法提供方法签名发现。 + + + + + 比较这两种方法的方法签名。 + + Method1 + Method2 + 如果相似则为 true。 + + + + 从所提供类型的基类型获取层次结构深度。 + + 类型。 + 深度。 + + + + 通过提供的信息查找高度派生的类型。 + + 候选匹配。 + 匹配数。 + 派生程度最高的方法。 + + + + 如果给定了一组与基础条件匹配的方法,则基于 + 类型数组选择一个方法。如果没有方法与条件匹配,此方法应 + 返回 null。 + + 绑定规范。 + 候选匹配 + 类型 + 参数修饰符。 + 匹配方法。如无匹配则为 null。 + + + + 在提供的两种方法中找到最具有针对性的方法。 + + 方法 1 + 方法 1 的参数顺序 + 参数数组类型。 + 方法 2 + 方法 2 的参数顺序 + >Paramter 数组类型。 + 要在其中进行搜索的类型。 + 参数。 + 表示匹配的 int。 + + + + 在提供的两种方法中找到最具有针对性的方法。 + + 方法 1 + 方法 1 的参数顺序 + 参数数组类型。 + 方法 2 + 方法 2 的参数顺序 + >参数数组类型。 + 要在其中进行搜索的类型。 + 参数。 + 表示匹配的 int。 + + + + 在提供的两种类型中找到一种最具针对性的类型。 + + 类型 1 + 类型 2 + 定义类型 + 表示匹配的 int。 + + + + 用于存储提供给单元测试的信息。 + + + + + 获取测试的测试属性。 + + + + + 测试用于数据驱动测试时获取当前数据行。 + + + + + 测试用于数据驱动测试时获取当前数据连接行。 + + + + + 获取测试运行的基目录,该目录下存储有部署文件和结果文件。 + + + + + 获取为测试运行部署的文件的目录。通常是 的子目录。 + + + + + 获取测试运行结果的基目录。通常是 的子目录。 + + + + + 获取测试运行结果文件的目录。通常为 的子目录。 + + + + + 获取测试结果文件的目录。 + + + + + 获取测试运行的基目录,该目录下存储有部署的文件和结果文件。 + 与 相同。请改用该属性。 + + + + + 获取为测试运行部署的文件的目录。通常为 的子目录。 + 与 相同。请改用该属性。 + + + + + 获取测试运行结果文件的目录。通常为 的子目录。 + 与 相同。请改用测试运行结果文件的该属性,或使用特定测试结果文件的 + 。 + + + + + 获取包含当前正在执行的测试方法的类的完全限定名称 + + + + + 获取当前正在执行的测试方法的名称 + + + + + 获取当前测试结果。 + + + + + 用于在测试运行时写入跟踪消息 + + 格式化消息字符串 + + + + 用于在测试运行时写入跟踪消息 + + 格式字符串 + 参数 + + + + 将文件名添加到 TestResult.ResultFileNames 中的列表 + + + 文件名。 + + + + + 启动具有指定名称的计时器 + + 计时器名称。 + + + + 终止具有指定名称的计时器 + + 计时器名称。 + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..0ccce3f --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 用于执行的 TestMethod。 + + + + + 获取测试方法的名称。 + + + + + 获取测试类的名称。 + + + + + 获取测试方法的返回类型。 + + + + + 获取测试方法的参数。 + + + + + 获取测试方法的 methodInfo。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 调用测试方法。 + + + 传递到测试方法的参数(例如,对于数据驱动) + + + 测试方法调用的结果。 + + + This call handles asynchronous test methods as well. + + + + + 获取测试方法的所有属性。 + + + 父类中定义的任何属性都有效。 + + + 所有特性。 + + + + + 获取特定类型的属性。 + + System.Attribute type. + + 父类中定义的任何属性都有效。 + + + 指定类型的属性。 + + + + + 帮助程序。 + + + + + 非 null 的检查参数。 + + + 参数。 + + + 参数名称。 + + + 消息。 + + Throws argument null exception when parameter is null. + + + + 不为 null 或不为空的检查参数。 + + + 参数。 + + + 参数名称。 + + + 消息。 + + Throws ArgumentException when parameter is null. + + + + 枚举在数据驱动测试中访问数据行的方式。 + + + + + 按连续顺序返回行。 + + + + + 按随机顺序返回行。 + + + + + 用于定义测试方法内联数据的属性。 + + + + + 初始化 类的新实例。 + + 数据对象。 + + + + 初始化采用参数数组的 类的新实例。 + + 一个数据对象。 + 更多数据。 + + + + 获取数据以调用测试方法。 + + + + + 在测试结果中为自定义获取或设置显示名称。 + + + + + 断言无结论异常。 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 初始化 类的新实例。 + + + + + InternalTestFailureException 类。用来指示测试用例的内部错误 + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 初始化 类的新实例。 + + 异常消息。 + 异常。 + + + + 初始化 类的新实例。 + + 异常消息。 + + + + 初始化 类的新实例。 + + + + + 指定引发指定类型异常的属性 + + + + + 初始化含有预期类型的 类的新实例 + + 预期异常的类型 + + + + 初始化 类的新实例, + 测试未引发异常时,该类中会包含预期类型和消息。 + + 预期异常的类型 + + 测试由于未引发异常而失败时测试结果中要包含的消息 + + + + + 获取指示预期异常类型的值 + + + + + 获取或设置一个值,指示是否允许将派生自预期异常类型的类型 + 作为预期类型 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 验证由单元测试引发的异常类型是否为预期类型 + + 由单元测试引发的异常 + + + + 指定应从单元测试引发异常的属性基类 + + + + + 初始化含有默认无异常消息的 类的新实例 + + + + + 初始化含有一条无异常消息的 类的新实例 + + + 测试由于未引发异常而失败时测试结果中要包含的 + 消息 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 获取默认无异常消息 + + ExpectedException 特性类型名称 + 默认非异常消息 + + + + 确定该异常是否为预期异常。如果返回了方法,则表示 + 该异常为预期异常。如果方法引发异常,则表示 + 该异常不是预期异常,且引发的异常消息 + 包含在测试结果中。为了方便, + 可使用 类。如果使用了 且断言失败, + 则表示测试结果设置为了“无结论”。 + + 由单元测试引发的异常 + + + + 如果异常为 AssertFailedException 或 AssertInconclusiveException,则再次引发该异常 + + 如果是断言异常则要重新引发的异常 + + + + 此类旨在帮助用户使用泛型类型为类型执行单元测试。 + GenericParameterHelper 满足某些常见的泛型类型限制, + 如: + 1.公共默认构造函数 + 2.实现公共接口: IComparable,IEnumerable + + + + + 初始化 类的新实例, + 该类满足 C# 泛型中的“可续订”约束。 + + + This constructor initializes the Data property to a random value. + + + + + 初始化 类的新实例, + 该类将数据属性初始化为用户提供的值。 + + 任意整数值 + + + + 获取或设置数据 + + + + + 比较两个 GenericParameterHelper 对象的值 + + 要进行比较的对象 + 如果 obj 与“此”GenericParameterHelper 对象具有相同的值,则为 true。 + 反之则为 false。 + + + + 为此对象返回哈希代码。 + + 哈希代码。 + + + + 比较两个 对象的数据。 + + 要比较的对象。 + + 有符号的数字表示此实例和值的相对值。 + + + Thrown when the object passed in is not an instance of . + + + + + 返回一个 IEnumerator 对象,该对象的长度派生自 + 数据属性。 + + IEnumerator 对象 + + + + 返回与当前对象相同的 GenericParameterHelper + 对象。 + + 克隆对象。 + + + + 允许用户记录/编写单元测试的跟踪以进行诊断。 + + + + + 用于 LogMessage 的处理程序。 + + 要记录的消息。 + + + + 要侦听的事件。单元测试编写器编写某些消息时引发。 + 主要供适配器使用。 + + + + + 测试编写器要将其调用到日志消息的 API。 + + 带占位符的字符串格式。 + 占位符的参数。 + + + + TestCategory 属性;用于指定单元测试的分类。 + + + + + 初始化 类的新实例并将分类应用到该测试。 + + + 测试类别。 + + + + + 获取已应用到测试的测试类别。 + + + + + "Category" 属性的基类 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 初始化 类的新实例。 + 将分类应用到测试。TestCategories 返回的字符串 + 与 /category 命令一起使用,以筛选测试 + + + + + 获取已应用到测试的测试分类。 + + + + + AssertFailedException 类。用于指示测试用例失败 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 初始化 类的新实例。 + + + + + 帮助程序类的集合,用于测试单元测试中 + 的各种条件。如果不满足被测条件,则引发 + 一个异常。 + + + + + 获取 Assert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + Thrown if is false. + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 false。消息显示在测试结果中。 + + + Thrown if is false. + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 false。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is false. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + Thrown if is true. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 true。消息显示在测试结果中。 + + + Thrown if is true. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 true。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is true. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + Thrown if is not null. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 不为 null。消息显示在测试结果中。 + + + Thrown if is not null. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 不为 null。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + Thrown if is null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 为 null。消息显示在测试结果中。 + + + Thrown if is null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 为 null。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is null. + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不相同 。消息显示 + 在测试结果中。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不相同 。消息显示 + 在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + Thrown if refers to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 相同 。消息显示在 + 测试结果中。 + + + Thrown if refers to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 相同 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if refers to the same object + as . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + Thrown if is not equal to . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + Thrown if is equal to . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + Thrown if is equal to . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + Thrown if is not equal to + . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + Thrown if is equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + 要包含在异常中的消息,条件是当 + 不是一个实例。消息 + 显示在测试结果中。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + 要包含在异常中的消息,条件是当 + 不是一个实例。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + 要包含在异常中的消息,条件是当 + 是一个实例。消息显示 + 在测试结果中。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + 要包含在异常中的消息,条件是当 + 是一个实例。消息显示 + 在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 引发 AssertFailedException。 + + + Always thrown. + + + + + 引发 AssertFailedException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + Always thrown. + + + + + 引发 AssertFailedException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Always thrown. + + + + + 静态相等重载用于比较两种类型实例的引用 + 相等。此方法应用于比较两个实例的 + 相等。此对象始终会引发 Assert.Fail。请在单元测试中使用 + Assert.AreEqual 和关联的重载。 + + 对象 A + 对象 B + 始终为 False。 + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + 在格式化时使用的参数数组 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + 在格式化时使用的参数数组 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 如果代码不引发异常或引发非 类型的异常,则引发 AssertFailedException。 + + 委托到要进行测试且预期将引发异常的代码。 + + 要包含在异常中的消息,条件是当 + 不引发异常类型。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 如果代码不引发异常或引发非 类型的异常,则引发 AssertFailedException。 + + 委托到要进行测试且预期将引发异常的代码。 + + 要包含在异常中的消息,条件是当 + 不引发异常类型。 + + + 在格式化时使用的参数数组 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 将 null 字符("\0")替换为 "\\0"。 + + + 要搜索的字符串。 + + + 其中 null 字符替换为 "\\0" 的转换字符串。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + 用于创建和引发 AssertionFailedException 的帮助程序函数 + + + 引发异常的断言名称 + + + 描述断言失败条件的消息 + + + 参数。 + + + + + 检查有效条件的参数 + + + 参数。 + + + 断言名称。 + + + 参数名称 + + + 无效参数异常的消息 + + + 参数。 + + + + + 将对象安全地转换为字符串,处理 null 值和 null 字符。 + 将 null 值转换为 "(null)"。将 null 字符转换为 "\\0"。 + + + 要转换为字符串的对象。 + + + 转换的字符串。 + + + + + 字符串断言。 + + + + + 获取 CollectionAssert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + Thrown if is not found in + . + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + Thrown if is not found in + . + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not found in + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + Thrown if does not begin with + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 开头不为 。消息 + 显示在测试结果中。 + + + Thrown if does not begin with + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 开头不为 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not begin with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + Thrown if does not end with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 结尾不为 。消息 + 显示在测试结果中。 + + + Thrown if does not end with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 结尾不为 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not end with + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + Thrown if does not match + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + 要包含在异常中的消息,条件是当 + 不匹配 。消息显示在 + 测试结果中。 + + + Thrown if does not match + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + 要包含在异常中的消息,条件是当 + 不匹配 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not match + . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + Thrown if matches . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + 要包含在异常中的消息,条件是当 + 匹配 。消息显示在 + 测试结果中。 + + + Thrown if matches . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + 要包含在异常中的消息,条件是当 + 匹配 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if matches . + + + + + 帮助程序类的集合,用于测试与单元测试内的集合相关联的 + 多种条件。如果不满足被测条件, + 则引发一个异常。 + + + + + 获取 CollectionAssert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + Thrown if is not found in + . + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + Thrown if is not found in + . + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + Thrown if is found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 位于。消息显示在 + 测试结果中。 + + + Thrown if is found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 位于。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is found in + . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + Thrown if a null element is found in . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含一个 null 元素。消息显示在测试结果中。 + + + Thrown if a null element is found in . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含一个 null 元素。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if a null element is found in . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含至少一个重复元素。消息显示在 + 测试结果中。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含至少一个重复元素。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + 包括在异常中的消息,此时元素位于 + 未找到 . + 消息显示在测试结果中。 + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + 包括在异常中的消息,此时元素位于 + 未找到 . + 消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + Thrown if every element in is also found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + 要包含在异常中的消息,条件是当每个元素 + 还存在于. + 消息显示在测试结果中。 + + + Thrown if every element in is also found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + 要包含在异常中的消息,条件是当每个元素 + 还存在于. + 消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if every element in is also found in + . + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 当某个元素仅可在其中一个集合内找到时 + 要包含在异常中的消息。消息显示在 + 测试结果中。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 当某个元素仅可在其中一个集合内找到时 + 要包含在异常中的消息。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 要包含在异常中的消息,条件是当 + 包含相同的元素 。消息 + 显示在测试结果中。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 要包含在异常中的消息,条件是当 + 包含相同的元素 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + 包括在异常中的消息,此时元素位于 + 不是实例 + 。消息显示在测试结果中。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + 包括在异常中的消息,此时元素位于 + 不是实例 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是: + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是: + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组。 + + + Thrown if is equal to . + + + + + 确定第一个集合是否为第二个 + 集合的子集。如果任一集合包含重复元素,则子集中元素 + 出现的次数必须小于或 + 等于在超集中元素出现的次数。 + + + 测试预期包含在以下对象中的集合: 。 + + + 测试预期要包含的集合 。 + + + 为 True,如果 是一个子集 + ,反之则为 False。 + + + + + 构造包含指定集合中每个元素的出现次数 + 的字典。 + + + 要处理的集合。 + + + 集合中 null 元素的数量。 + + + 包含指定集合中每个元素的发生次数 + 的字典。 + + + + + 在两个集合之间查找不匹配的元素。不匹配的元素是指 + 在预期集合中显示的次数与 + 在实际集合中显示的次数不相同的元素。假定 + 集合是具有相同元素数目 + 的不同非 null 引用。 调用方负责此级别的验证。 + 如果存在不匹配的元素,函数将返回 + false,并且不会使用 out 参数。 + + + 要比较的第一个集合。 + + + 要比较的第二个集合。 + + + 预期出现次数 + 或者如果没有匹配的元素, + 则为 0。 + + + 实际出现次数 + 或者如果没有匹配的元素, + 则为 0。 + + + 不匹配元素(可能为 null),或者如果没有不匹配元素, + 则为 null。 + + + 如果找到不匹配的元素,则为 True;反之则为 False。 + + + + + 使用 Object.Equals 比较对象 + + + + + 框架异常的基类。 + + + + + 初始化 类的新实例。 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 一个强类型资源类,用于查找已本地化的字符串等。 + + + + + 返回此类使用的缓存的 ResourceManager 实例。 + + + + + 使用此强类型资源类为所有资源查找替代 + 当前线程的 CurrentUICulture 属性。 + + + + + 查找类似于“访问字符串具有无效语法。”的已本地化字符串。 + + + + + 查找类似于“预期集合包含 {1} 个 <{2}> 的匹配项。实际集合包含 {3} 个匹配项。{0}”的已本地化字符串。 + + + + + 查找类似于“找到了重复项: <{1}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1}>。实际值的大小写有所不同: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期值 <{1}> 和实际值 <{2}> 之间的预期差异应不大于 <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1} ({2})>。实际为: <{3} ({4})>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1}>。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期值 <{1}> 和实际值 <{2}> 之间的预期差异应大于 <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为除 <{1}>外的任何值。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“不要向 AreSame() 传递值类型。转换为对象的值永远不会相同。请考虑使用 AreEqual()。{0}”的已本地化字符串。 + + + + + 查找类似于“{0} 失败。{1}”的已本地化字符串。 + + + + + 查找类似于“不支持具有 UITestMethodAttribute 的异步 TestMethod。请删除异步或使用 TestMethodAttribute。” 的已本地化字符串。 + + + + + 查找类似于“这两个集合都为空。{0}”的已本地化字符串。 + + + + + 查找类似于“这两个集合包含相同元素。”的已本地化字符串。 + + + + + 查找类似于“这两个集合引用指向同一个集合对象。{0}”的已本地化字符串。 + + + + + 查找类似于“这两个集合包含相同的元素。{0}”的已本地化字符串。 + + + + + 查找类似于“{0}({1})”的已本地化字符串。 + + + + + 查找类似于 "(null)" 的已本地化字符串。 + + + + + 查找类似于“(对象)”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不包含字符串“{1}”。{2}。”的已本地化字符串。 + + + + + 查找类似于“{0} ({1})”的已本地化字符串。 + + + + + 查找类似于“Assert.Equals 不应用于断言。请改用 Assert.AreEqual 和重载。”的已本地化字符串。 + + + + + 查找类似于“集合中的元素数目不匹配。预期为: <{1}>。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“索引 {0} 处的元素不匹配。”的已本地化字符串。 + + + + + 查找类似于“索引 {1} 处的元素不是预期类型。预期类型为: <{2}>。实际类型为: <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“索引 {1} 处的元素为 (null)。预期类型: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不以字符串“{1}”结尾。{2}。”的已本地化字符串。 + + + + + 查找类似于“参数无效 - EqualsTester 不能使用 null。”的已本地化字符串。 + + + + + 查找类似于“无法将类型 {0} 的对象转换为 {1}。”的本地化字符串。 + + + + + 查找类似于“引用的内部对象不再有效。”的已本地化字符串。 + + + + + 查找类似于“参数 {0} 无效。{1}。”的已本地化字符串。 + + + + + 查找类似于“属性 {0} 具有类型 {1};预期类型为 {2}。”的已本地化字符串。 + + + + + 查找类似于“{0} 预期类型: <{1}>。实际类型: <{2}>。”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”与模式“{1}”不匹配。{2}。”的已本地化字符串。 + + + + + 查找类似于“错误类型: <{1}>。实际类型: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”与模式“{1}”匹配。{2}。”的已本地化字符串。 + + + + + 查找类似于“未指定 DataRowAttribute。DataTestMethodAttribute 至少需要一个 DataRowAttribute。”的已本地化字符串。 + + + + + 查找类似于“未引发异常。预期为 {1} 异常。{0}”的已本地化字符串。 + + + + + 查找类似于“参数 {0} 无效。值不能为 null。{1}。”的已本地化字符串。 + + + + + 查找类似于“不同元素数。”的已本地化字符串。 + + + + + 查找类似于 + “找不到具有指定签名的构造函数。可能需要重新生成专用访问器, + 或者成员可能为专用且在基类上进行了定义。如果后者为 true,则需将定义成员的类型传递到 + PrivateObject 的构造函数中。” + 的已本地化字符串。 + + + + + 查找类似于 + “找不到指定成员({0})。可能需要重新生成专用访问器, + 或者成员可能为专用且在基类上进行了定义。如果后者为 true,则需将定义成员的类型 + 传递到 PrivateObject 的构造函数中。” + 的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不以字符串“{1}”开头。{2}。”的已本地化字符串。 + + + + + 查找类似于“预期异常类型必须是 System.Exception 或派生自 System.Exception 的类型。”的已本地化字符串。 + + + + + 查找类似于“(由于出现异常,未能获取 {0} 类型异常的消息。)”的已本地化字符串。 + + + + + 查找类似于“测试方法未引发预期异常 {0}。{1}”的已本地化字符串。 + + + + + 查找类似于“测试方法未引发异常。预期测试方法上定义的属性 {0} 会引发异常。”的已本地化字符串。 + + + + + 查找类似于“测试方法引发异常 {0},但预期为异常 {1}。异常消息: {2}”的已本地化字符串。 + + + + + 查找类似于“测试方法引发异常 {0},但预期为异常 {1} 或从其派生的类型。异常消息: {2}”的已本地化字符串。 + + + + + 查找类似于“引发异常 {2},但预期为异常 {1}。{0} + 异常消息: {3} + 堆栈跟踪: {4}”的已本地化字符串。 + + + + + 单元测试结果 + + + + + 测试已执行,但出现问题。 + 问题可能涉及异常或失败的断言。 + + + + + 测试已完成,但无法确定它是已通过还是失败。 + 可用于已中止的测试。 + + + + + 测试已执行,未出现任何问题。 + + + + + 当前正在执行测试。 + + + + + 尝试执行测试时出现了系统错误。 + + + + + 测试已超时。 + + + + + 用户中止了测试。 + + + + + 测试处于未知状态 + + + + + 为单元测试框架提供帮助程序功能 + + + + + 以递归方式获取包括所有内部异常消息在内的 + 异常消息 + + 获取消息的异常 + 包含错误消息信息的字符串 + + + + 超时枚举,可与 类共同使用。 + 枚举类型必须相符 + + + + + 无限。 + + + + + 测试类属性。 + + + + + 获取可运行此测试的测试方法属性。 + + 在此方法上定义的测试方法属性实例。 + 将用于运行此测试。 + Extensions can override this method to customize how all methods in a class are run. + + + + 测试方法属性。 + + + + + 执行测试方法。 + + 要执行的测试方法。 + 表示测试结果的 TestResult 对象数组。 + Extensions can override this method to customize running a TestMethod. + + + + 测试初始化属性。 + + + + + 测试清理属性。 + + + + + 忽略属性。 + + + + + 测试属性特性。 + + + + + 初始化 类的新实例。 + + + 名称。 + + + 值。 + + + + + 获取名称。 + + + + + 获取值。 + + + + + 类初始化属性。 + + + + + 类清理属性。 + + + + + 程序集初始化属性。 + + + + + 程序集清理属性。 + + + + + 测试所有者 + + + + + 初始化 类的新实例。 + + + 所有者。 + + + + + 获取所有者。 + + + + + 优先级属性;用于指定单元测试的优先级。 + + + + + 初始化 类的新实例。 + + + 属性。 + + + + + 获取属性。 + + + + + 测试的描述 + + + + + 初始化 类的新实例,描述测试。 + + 说明。 + + + + 获取测试的说明。 + + + + + CSS 项目结构 URI + + + + + 为 CSS 项目结构 URI 初始化 类的新实例。 + + CSS 项目结构 URI。 + + + + 获取 CSS 项目结构 URI。 + + + + + CSS 迭代 URI + + + + + 为 CSS 迭代 URI 初始化 类的新实例。 + + CSS 迭代 URI。 + + + + 获取 CSS 迭代 URI。 + + + + + 工作项属性;用来指定与此测试关联的工作项。 + + + + + 为工作项属性初始化 类的新实例。 + + 工作项的 ID。 + + + + 获取关联工作项的 ID。 + + + + + 超时属性;用于指定单元测试的超时。 + + + + + 初始化 类的新实例。 + + + 超时。 + + + + + 初始化含有预设超时的 类的新实例 + + + 超时 + + + + + 获取超时。 + + + + + 要返回到适配器的 TestResult 对象。 + + + + + 初始化 类的新实例。 + + + + + 获取或设置结果的显示名称。这在返回多个结果时很有用。 + 如果为 null,则表示方法名用作了 DisplayName。 + + + + + 获取或设置测试执行的结果。 + + + + + 获取或设置测试失败时引发的异常。 + + + + + 获取或设置由测试代码记录的消息输出。 + + + + + 获取或设置由测试代码记录的消息输出。 + + + + + 通过测试代码获取或设置调试跟踪。 + + + + + Gets or sets the debug traces by test code. + + + + + 获取或设置测试执行的持续时间。 + + + + + 获取或设置数据源中的数据行索引。仅对数据驱动测试的数据行单次运行结果 + 进行设置。 + + + + + 获取或设置测试方法的返回值。(当前始终为 null)。 + + + + + 获取或设置测试附加的结果文件。 + + + + + 为数据驱动测试指定连接字符串、表名和行访问方法。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource 的默认提供程序名称。 + + + + + 默认数据访问方法。 + + + + + 初始化 类的新实例。将使用数据提供程序、连接字符串、数据表和访问数据源的数据访问方法初始化此实例。 + + 不变的数据提供程序名称,例如 System.Data.SqlClient + + 特定于数据提供程序的连接字符串。 + 警告: 连接字符串可能包含敏感数据(例如密码)。 + 连接字符串以纯文本形式存储在源代码和编译程序集中。 + 限制对源代码和程序集的访问以保护此敏感信息。 + + 数据表的名称。 + 指定访问数据的顺序。 + + + + 初始化 类的新实例。将使用连接字符串和表名初始化此实例。 + 指定连接字符串和数据表,访问 OLEDB 数据源。 + + + 特定于数据提供程序的连接字符串。 + 警告: 连接字符串可能包含敏感数据(例如密码)。 + 连接字符串以纯文本形式存储在源代码和编译程序集中。 + 限制对源代码和程序集的访问以保护此敏感信息。 + + 数据表的名称。 + + + + 初始化 类的新实例。将使用数据提供程序和与设置名称关联的连接字符串初始化此实例。 + + 在 app.config 文件中 <microsoft.visualstudio.qualitytools> 部分找到的数据源的名称。 + + + + 获取表示数据源的数据提供程序的值。 + + + 数据提供程序名称。如果数据提供程序未在对象初始化时进行指定,则将返回 System.Data.OleDb 的默认提供程序。 + + + + + 获取表示数据源的连接字符串的值。 + + + + + 获取指示提供数据的表名的值。 + + + + + 获取用于访问数据源的方法。 + + + + 其中一个 值。如果 未初始化,这将返回默认值。 + + + + + 获取 app.config 文件的 <microsoft.visualstudio.qualitytools> 部分中找到的数据源的名称。 + + + + + 可在其中将数据指定为内联的数据驱动测试的属性。 + + + + + 查找所有数据行并执行。 + + + 测试方法。 + + + 一系列。 + + + + + 运行数据驱动测试方法。 + + 要执行的测试方法。 + 数据行。 + 执行的结果。 + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..2d6cc37 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,1097 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 用來指定每個測試部署的部署項目 (檔案或目錄)。 + 可以指定於測試類別或測試方法。 + 可以有屬性的多個執行個體來指定多個項目。 + 項目路徑可以是相對或絕對路徑,如果是相對路徑,則是 RunConfig.RelativePathRoot 的相對路徑。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + 初始化 類別的新執行個體。 + + 要部署的檔案或目錄。路徑是建置輸出目錄的相對路徑。項目將會複製到與已部署的測試組件相同的目錄。 + + + + 初始化 類別的新執行個體 + + 要部署之檔案或目錄的相對或絕對路徑。路徑是建置輸出目錄的相對路徑。項目將會複製到與已部署的測試組件相同的目錄。 + 要將項目複製到其中之目錄的路徑。它可以是部署目錄的絕對或相對路徑。下者所識別的所有檔案和目錄: 將會複製到這個目錄中。 + + + + 取得要複製之來源檔案或資料夾的路徑。 + + + + + 取得要將項目複製到其中之目錄的路徑。 + + + + + 包含區段、屬性 (property)、屬性 (attribute) 名稱的常值。 + + + + + 組態區段名稱。 + + + + + Beta2 的組態區段名稱。為相容性而保留。 + + + + + 資料來源的區段名稱。 + + + + + 'Name' 的屬性名稱 + + + + + 'ConnectionString' 的屬性名稱 + + + + + 'DataAccessMethod' 的屬性名稱 + + + + + 'DataTable' 的屬性名稱 + + + + + 資料來源元素。 + + + + + 取得或設定此組態的名稱。 + + + + + 取得或設定 .config 檔 <connectionStrings> 區段的 ConnectionStringSettings 元素。 + + + + + 取得或設定運算列表的名稱。 + + + + + 取得或設定資料存取的類型。 + + + + + 取得金鑰名稱。 + + + + + 取得組態屬性。 + + + + + 資料來源元素集合。 + + + + + 初始化 類別的新執行個體。 + + + + + 傳回具有指定索引鍵的組態元素。 + + 要傳回之元素的索引鍵。 + 具有指定索引鍵的 System.Configuration.ConfigurationElement; 否則為 null。 + + + + 取得位在指定索引位置的組態元素。 + + 要傳回之 System.Configuration.ConfigurationElement 的索引位置。 + + + + 將組態元素新增至組態元素集合。 + + 要新增的 System.Configuration.ConfigurationElement。 + + + + 從集合移除 System.Configuration.ConfigurationElement。 + + 。 + + + + 從集合移除 System.Configuration.ConfigurationElement。 + + 要移除之 System.Configuration.ConfigurationElement 的索引鍵。 + + + + 從集合移除所有組態元素物件。 + + + + + 建立新的 。 + + 新的 + + + + 取得指定組態元素的元素索引鍵。 + + 要為其傳回索引鍵的 System.Configuration.ConfigurationElement。 + 用作指定 System.Configuration.ConfigurationElement 之索引鍵的 System.Object。 + + + + 將組態元素新增至組態元素集合。 + + 要新增的 System.Configuration.ConfigurationElement。 + + + + 將組態元素新增至組態元素集合。 + + 要新增指定 System.Configuration.ConfigurationElement 的索引位置。 + 要新增的 System.Configuration.ConfigurationElement。 + + + + 支援測試的組態設定。 + + + + + 取得測試的組態區段。 + + + + + 測試的組態區段。 + + + + + 取得此組態區段的資料來源。 + + + + + 取得屬性集合。 + + + (屬於元素的屬性)。 + + + + + 這個類別代表系統中的即時非公用 INTERNAL 物件 + + + + + 初始化 類別 (內含 + 私用類別的現有物件) 的新執行個體 + + 作為連絡 Private 成員之起點的物件 + 使用 . 的取值字串,指向要以 m_X.m_Y.m_Z 形式擷取的物件 + + + + 初始化 類別 (其包裝 + 指定的類型) 的新執行個體。 + + 組件的名稱 + 完整名稱 + 要傳遞給建構函式的引數 + + + + 初始化 類別 (其包裝 + 指定的類型) 的新執行個體。 + + 組件的名稱 + 完整名稱 + 物件陣列, 物件陣列,代表要取得之建構函式的參數數目、順序和類型 + 要傳遞給建構函式的引數 + + + + 初始化 類別 (其包裝 + 指定的類型) 的新執行個體。 + + 要建立的物件類型 + 要傳遞給建構函式的引數 + + + + 初始化 類別 (其包裝 + 指定的類型) 的新執行個體。 + + 要建立的物件類型 + 物件陣列, 物件陣列,代表要取得之建構函式的參數數目、順序和類型 + 要傳遞給建構函式的引數 + + + + 初始化 類別 (其包裝 + 給定的物件) 的新執行個體。 + + 要包裝的物件 + + + + 初始化 類別 (其包裝 + 給定的物件) 的新執行個體。 + + 要包裝的物件 + PrivateType 物件 + + + + 取得或設定目標 + + + + + 取得基礎物件的類型 + + + + + 傳回目標物件的雜湊碼 + + int,代表目標物件的雜湊碼 + + + + 等於 + + 要與之比較的物件 + 若物件相等則傳回 true。 + + + + 叫用指定的方法 + + 方法的名稱 + 要傳遞給要叫用之成員的引數。 + 方法呼叫結果 + + + + 叫用指定的方法 + + 方法的名稱 + 物件陣列, 物件陣列,代表要取得之方法的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + 方法呼叫結果 + + + + 叫用指定的方法 + + 方法的名稱 + 物件陣列, 物件陣列,代表要取得之方法的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + 對應至泛型引數類型的類型陣列。 + 方法呼叫結果 + + + + 叫用指定的方法 + + 方法的名稱 + 要傳遞給要叫用之成員的引數。 + 文化特性 (Culture) 資訊 + 方法呼叫結果 + + + + 叫用指定的方法 + + 方法的名稱 + 物件陣列, 物件陣列,代表要取得之方法的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + 文化特性 (Culture) 資訊 + 方法呼叫結果 + + + + 叫用指定的方法 + + 方法的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 要傳遞給要叫用之成員的引數。 + 方法呼叫結果 + + + + 叫用指定的方法 + + 方法的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 物件陣列, 物件陣列,代表要取得之方法的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + 方法呼叫結果 + + + + 叫用指定的方法 + + 方法的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 要傳遞給要叫用之成員的引數。 + 文化特性 (Culture) 資訊 + 方法呼叫結果 + + + + 叫用指定的方法 + + 方法的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 物件陣列, 物件陣列,代表要取得之方法的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + 文化特性 (Culture) 資訊 + 方法呼叫結果 + + + + 叫用指定的方法 + + 方法名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 物件陣列, 物件陣列,代表要取得之方法的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + 文化特性 (Culture) 資訊 + 對應至泛型引數類型的類型陣列。 + 方法呼叫結果 + + + + 取得使用每個維度的下標陣列的陣列元素 + + 成員的名稱 + 陣列索引 + 元素陣列。 + + + + 設定使用每個維度的下標陣列的陣列元素 + + 成員的名稱 + 要設定的值 + 陣列索引 + + + + 取得使用每個維度的下標陣列的陣列元素 + + 成員的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 陣列索引 + 元素陣列。 + + + + 設定使用每個維度的下標陣列的陣列元素 + + 成員的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 要設定的值 + 陣列索引 + + + + 取得欄位 + + 欄位的名稱 + 欄位。 + + + + 設定欄位 + + 欄位的名稱 + 要設定的值 + + + + 取得欄位 + + 欄位的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 欄位。 + + + + 設定欄位 + + 欄位的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 要設定的值 + + + + 取得欄位或屬性 + + 欄位或屬性名稱 + 欄位或屬性。 + + + + 設定欄位或屬性 + + 欄位或屬性名稱 + 要設定的值 + + + + 取得欄位或屬性 + + 欄位或屬性名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 欄位或屬性。 + + + + 設定欄位或屬性 + + 欄位或屬性名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 要設定的值 + + + + 取得屬性 + + 屬性名稱 + 要傳遞給要叫用之成員的引數。 + 屬性。 + + + + 取得屬性 + + 屬性名稱 + 物件陣列, 物件陣列,代表索引屬性的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + 屬性。 + + + + 設定屬性 + + 屬性名稱 + 要設定的值 + 要傳遞給要叫用之成員的引數。 + + + + 設定屬性 + + 屬性名稱 + 物件陣列, 物件陣列,代表索引屬性的參數數目、順序和類型。 + 要設定的值 + 要傳遞給要叫用之成員的引數。 + + + + 取得屬性 + + 屬性的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 要傳遞給要叫用之成員的引數。 + 屬性。 + + + + 取得屬性 + + 屬性的名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 物件陣列, 物件陣列,代表索引屬性的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + 屬性。 + + + + 設定屬性 + + 屬性名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 要設定的值 + 要傳遞給要叫用之成員的引數。 + + + + 設定屬性 + + 屬性名稱 + 位元遮罩包含一或多個物件 ,這些物件指定如何進行搜尋。 + 要設定的值 + 物件陣列, 物件陣列,代表索引屬性的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + + + + 驗證存取字串 + + 存取字串 + + + + 叫用成員 + + 成員的名稱 + 其他屬性 + 引動過程的引數 + 文化特性 (Culture) + 引動過程結果 + + + + 從目前私用類型中擷取最適當的泛型方法簽章。 + + 要在其中搜尋簽章快取的方法名稱。 + 對應至要在其中進行搜尋之參數類型的類型陣列。 + 對應至泛型引數類型的類型陣列。 + 進一步篩選方法簽章。 + 參數的修飾詞。 + methodinfo 執行個體。 + + + + 此類別代表私用存取子功能的私用類別。 + + + + + 繫結至所有項目 + + + + + 包裝的類型。 + + + + + 初始化 類別 (其內含私人類型) 的新執行個體。 + + 組件名稱 + 下列項目的完整名稱: + + + + 初始化 類別 (內含 + 類型物件的私用類型) 的新執行個體 + + 要建立的已包裝「類型」。 + + + + 取得參考的類型 + + + + + 叫用靜態成員 + + InvokeHelper 的成員名稱 + 引動過程的引數 + 引動過程結果 + + + + 叫用靜態成員 + + InvokeHelper 的成員名稱 + 物件陣列, 代表要叫用之方法的參數數目、順序和類型 + 引動過程的引數 + 引動過程結果 + + + + 叫用靜態成員 + + InvokeHelper 的成員名稱 + 物件陣列, 代表要叫用之方法的參數數目、順序和類型 + 引動過程的引數 + 對應至泛型引數類型的類型陣列。 + 引動過程結果 + + + + 叫用靜態方法 + + 成員的名稱 + 引動過程的引數 + 文化特性 (Culture) + 引動過程結果 + + + + 叫用靜態方法 + + 成員的名稱 + 物件陣列, 代表要叫用之方法的參數數目、順序和類型 + 引動過程的引數 + 文化特性 (Culture) 資訊 + 引動過程結果 + + + + 叫用靜態方法 + + 成員的名稱 + 其他引動過程屬性 + 引動過程的引數 + 引動過程結果 + + + + 叫用靜態方法 + + 成員的名稱 + 其他引動過程屬性 + 物件陣列, 代表要叫用之方法的參數數目、順序和類型 + 引動過程的引數 + 引動過程結果 + + + + 叫用靜態方法 + + 成員名稱 + 其他引動過程屬性 + 引動過程的引數 + 文化特性 (Culture) + 引動過程結果 + + + + 叫用靜態方法 + + 成員名稱 + 其他引動過程屬性 + /// 物件陣列, 代表要叫用之方法的參數數目、順序和類型 + 引動過程的引數 + 文化特性 (Culture) + 引動過程結果 + + + + 叫用靜態方法 + + 成員名稱 + 其他引動過程屬性 + /// 物件陣列, 代表要叫用之方法的參數數目、順序和類型 + 引動過程的引數 + 文化特性 (Culture) + 對應至泛型引數類型的類型陣列。 + 引動過程結果 + + + + 取得靜態陣列中的元素 + + 陣列的名稱 + + 32 位元整數的一維陣列,代表指定要取得之元素的位置索引。 + 例如,若要存取 a[10][11],索引即為 {10,11} + + 元素 (位於指定的位置) + + + + 設定靜態陣列的成員 + + 陣列的名稱 + 要設定的值 + + 32 位元整數的一維陣列,代表指定要設定之元素的位置索引。 + 例如,若要存取 a[10][11],陣列即為 {10,11} + + + + + 取得靜態陣列中的元素 + + 陣列的名稱 + 其他 InvokeHelper 屬性 + + 32 位元整數的一維陣列,代表指定要取得之元素的位置索引。 + 例如,若要存取 a[10][11],陣列即為 {10,11} + + 元素 (位於指定的位置) + + + + 設定靜態陣列的成員 + + 陣列的名稱 + 其他 InvokeHelper 屬性 + 要設定的值 + + 32 位元整數的一維陣列,代表指定要設定之元素的位置索引。 + 例如,若要存取 a[10][11],陣列即為 {10,11} + + + + + 取得靜態欄位 + + 欄位名稱 + 靜態欄位。 + + + + 設定靜態欄位 + + 欄位名稱 + 引動過程的引數 + + + + 取得使用所指定 InvokeHelper 屬性的靜態欄位 + + 欄位名稱 + 其他引動過程屬性 + 靜態欄位。 + + + + 設定使用繫結屬性的靜態欄位 + + 欄位名稱 + 其他 InvokeHelper 屬性 + 引動過程的引數 + + + + 取得靜態欄位或屬性 + + 欄位或屬性名稱 + 靜態欄位或屬性。 + + + + 設定靜態欄位或屬性 + + 欄位或屬性名稱 + 要設定為欄位或屬性的值 + + + + 取得使用所指定 InvokeHelper 屬性 (attribute) 的靜態欄位或屬性 (property) + + 欄位或屬性名稱 + 其他引動過程屬性 + 靜態欄位或屬性。 + + + + 設定使用繫結屬性 (attribute) 的靜態欄位或屬性 (property) + + 欄位或屬性名稱 + 其他引動過程屬性 + 要設定為欄位或屬性的值 + + + + 取得靜態屬性 + + 欄位或屬性名稱 + 引動過程的引數 + 靜態屬性。 + + + + 設定靜態屬性 + + 屬性名稱 + 要設定為欄位或屬性的值 + 要傳遞給要叫用之成員的引數。 + + + + 設定靜態屬性 + + 屬性名稱 + 要設定為欄位或屬性的值 + 物件陣列, 物件陣列,代表索引屬性的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + + + + 取得靜態屬性 + + 屬性名稱 + 其他引動過程屬性。 + 要傳遞給要叫用之成員的引數。 + 靜態屬性。 + + + + 取得靜態屬性 + + 屬性名稱 + 其他引動過程屬性。 + 物件陣列, 物件陣列,代表索引屬性的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + 靜態屬性。 + + + + 設定靜態屬性 + + 屬性名稱 + 其他引動過程屬性。 + 要設定為欄位或屬性的值 + 索引屬性的選擇性索引值。索引屬性的索引是以零為起始。非索引屬性的這個值應該是 null。 + + + + 設定靜態屬性 + + 屬性名稱 + 其他引動過程屬性。 + 要設定為欄位或屬性的值 + 物件陣列, 物件陣列,代表索引屬性的參數數目、順序和類型。 + 要傳遞給要叫用之成員的引數。 + + + + 叫用靜態方法 + + 成員名稱 + 其他引動過程屬性 + 引動過程的引數 + 文化特性 (Culture) + 引動過程結果 + + + + 提供泛型方法的方法簽章探索。 + + + + + 比對這兩種方法的方法簽章。 + + Method1 + Method2 + 若類似即為 true。 + + + + 取得所提供之類型的基底類型階層深度。 + + 類型。 + 深度。 + + + + 使用提供的資訊找出最具衍生性的類型。 + + 候選相符項目。 + 相符項目數目。 + 最具衍生性的方法。 + + + + 如果有一組方法符合基底準則,請根據類型陣列 + 來選取方法。如果沒有方法符合準則,則這個方法 + 應該傳回 null。 + + 繫結規格。 + 候選相符項目 + 類型 + 參數修飾詞。 + 相符方法。若無符合項則為 Null。 + + + + 從提供的兩個方法中,找出最明確的方法。 + + 方法 1 + 方法 1 的參數順序 + 參數陣列類型。 + 方法 2 + 方法 2 的參數順序 + >參數陣列類型。 + 要搜尋的類型。 + 引數 + 代表相符項目的 int。 + + + + 從提供的兩個方法中,找出最明確的方法。 + + 方法 1 + 方法 1 的參數順序 + 參數陣列類型。 + 方法 2 + 方法 2 的參數順序 + >參數陣列類型。 + 要搜尋的類型。 + 引數 + 代表相符項目的 int。 + + + + 在提供的兩項中找出最明確的類型。 + + 類型 1 + 類型 2 + 定義類型 + 代表相符項目的 int。 + + + + 用來儲存提供給單元測試的資訊。 + + + + + 取得測試的測試屬性。 + + + + + 在測試用於資料驅動測試時,取得目前資料連線資料列。 + + + + + 在測試用於資料驅動測試時,取得目前資料連線資料列。 + + + + + 取得測試回合的基底目錄,部署的檔案及結果檔案或儲存在其下。 + + + + + 為部署用於測試回合的檔案取得目錄。通常為 的子目錄。 + + + + + 取得測試回合結果的基底目錄。通常為 的子目錄。 + + + + + 為測試回合結果檔案取得目錄。通常為 的子目錄。 + + + + + 取得測試結果檔案的目錄。 + + + + + 取得測試回合的基底目錄,部署的檔案及結果檔案或儲存在其下。 + 如同 。請改用該屬性。 + + + + + 為部署用於測試回合的檔案取得目錄。通常為 的子目錄。 + 如同 。請改用該屬性。 + + + + + 為測試回合結果檔案取得目錄。通常為 的子目錄。 + 如同 。請改成將該屬性用於測試回合結果檔案,或將 + 用於測試特定結果檔案。 + + + + + 取得包含目前正在執行之測試方法的類別完整名稱 + + + + + 取得目前正在執行的測試方法名稱 + + + + + 取得目前測試結果。 + + + + + 用來在測試執行時寫入追蹤訊息 + + 格式化訊息字串 + + + + 用來在測試執行時寫入追蹤訊息 + + 格式字串 + 引數 + + + + 將檔案名稱新增至 TestResult.ResultFileNames 的清單中 + + + 檔案名稱。 + + + + + 開始具有所指定名稱的計時器 + + 計時器名稱。 + + + + 結束具有所指定名稱的計時器 + + 計時器名稱。 + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..611e17b --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net45/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 用於執行的 TestMethod。 + + + + + 取得測試方法的名稱。 + + + + + 取得測試類別的名稱。 + + + + + 取得測試方法的傳回型別。 + + + + + 取得測試方法的參數。 + + + + + 取得測試方法的 methodInfo。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 叫用測試方法。 + + + 要傳遞至測試方法的引數。(例如,針對資料驅動) + + + 測試方法引動過程結果。 + + + This call handles asynchronous test methods as well. + + + + + 取得測試方法的所有屬性。 + + + 父類別中定義的屬性是否有效。 + + + 所有屬性。 + + + + + 取得特定類型的屬性。 + + System.Attribute type. + + 父類別中定義的屬性是否有效。 + + + 指定類型的屬性。 + + + + + 協助程式。 + + + + + 檢查參數不為 null。 + + + 參數。 + + + 參數名稱。 + + + 訊息。 + + Throws argument null exception when parameter is null. + + + + 檢查參數不為 null 或為空白。 + + + 參數。 + + + 參數名稱。 + + + 訊息。 + + Throws ArgumentException when parameter is null. + + + + 如何在資料驅動測試中存取資料列的列舉。 + + + + + 會以循序順序傳回資料列。 + + + + + 會以隨機順序傳回資料列。 + + + + + 用以定義測試方法之內嵌資料的屬性。 + + + + + 初始化 類別的新執行個體。 + + 資料物件。 + + + + 初始化 類別 (其採用引數的陣列) 的新執行個體。 + + 資料物件。 + 其他資料。 + + + + 取得用於呼叫測試方法的資料。 + + + + + 取得或設定測試結果中的顯示名稱來進行自訂。 + + + + + 判斷提示結果不明例外狀況。 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 初始化 類別的新執行個體。 + + + + + InternalTestFailureException 類別。用來表示測試案例的內部失敗 + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 初始化 類別的新執行個體。 + + 例外狀況訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 例外狀況訊息。 + + + + 初始化 類別的新執行個體。 + + + + + 屬性,其指定預期所指定類型的例外狀況 + + + + + 初始化具預期類型之 類別的新執行個體 + + 預期的例外狀況類型 + + + + 初始化 類別 + (其具預期類型及訊息,用以在測試未擲回任何例外狀況時予以納入) 的新執行個體。 + + 預期的例外狀況類型 + + 測試因未擲回例外狀況而失敗時,要包含在測試結果中的訊息 + + + + + 取得值,指出預期例外狀況的類型 + + + + + 取得或設定值,指出是否允許類型衍生自預期例外狀況類型, + 以符合預期 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 驗證預期有單元測試所擲回的例外狀況類型 + + 單元測試所擲回的例外狀況 + + + + 指定以預期單元測試發生例外狀況之屬性的基底類別 + + + + + 使用預設無例外狀況訊息初始化 類別的新執行個體 + + + + + 初始化具無例外狀況訊息之 類別的新執行個體 + + + 測試因未擲回例外狀況而失敗時,要包含在測試結果中的 + 訊息 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 取得預設無例外狀況訊息 + + ExpectedException 屬性類型名稱 + 預設無例外狀況訊息 + + + + 判斷是否預期會發生例外狀況。如果傳回方法,則了解 + 預期會發生例外狀況。如果方法擲回例外狀況,則了解 + 預期不會發生例外狀況,而且測試結果中 + 會包含所擲回例外狀況的訊息。 類別可以基於便利 + 使用。如果使用 並且判斷提示失敗, + 則測試結果設定為 [結果不明]。 + + 單元測試所擲回的例外狀況 + + + + 如果它是 AssertFailedException 或 AssertInconclusiveException,會重新擲回例外狀況 + + 如果是判斷提示例外狀況,則重新擲回例外狀況 + + + + 這個類別的設計目的是要協助使用者執行使用泛型型別之類型的單元測試。 + GenericParameterHelper 滿足一些常用泛型型別條件約束 + 例如: + 1. 公用預設建構函式 + 2. 實作公用介面: IComparable、IEnumerable + + + + + 初始化 類別 (其符合 C# 泛型中的 'newable' 限制式) + 的新執行個體。 + + + This constructor initializes the Data property to a random value. + + + + + 初始化 類別 (其將 Data 屬性初始化為使用者提供的值) + 的新執行個體。 + + 任何整數值 + + + + 取得或設定資料 + + + + + 執行兩個 GenericParameterHelper 物件的值比較 + + 要與之執行比較的物件 + 如果 obj 的值與 'this' GenericParameterHelper 物件相同,則為 true。 + 否則為 false。 + + + + 傳回這個物件的雜湊碼。 + + 雜湊碼。 + + + + 比較這兩個 物件的資料。 + + 要比較的物件。 + + 已簽署的編號,表示此執行個體及值的相對值。 + + + Thrown when the object passed in is not an instance of . + + + + + 傳回長度衍生自 Data 屬性的 + IEnumerator 物件。 + + IEnumerator 物件 + + + + 傳回等於目前物件的 + GenericParameterHelper 物件。 + + 複製的物件。 + + + + 讓使用者從單位測試記錄/寫入追蹤以進行診斷。 + + + + + LogMessage 的處理常式。 + + 要記錄的訊息。 + + + + 要接聽的事件。在單元測試寫入器寫入一些訊息時引發。 + 主要由配接器取用。 + + + + + API,供測試寫入者呼叫以記錄訊息。 + + 含預留位置的字串格式。 + 預留位置的參數。 + + + + TestCategory 屬性; 用來指定單元測試的分類。 + + + + + 初始化 類別的新執行個體,並將分類套用至測試。 + + + 測試「分類」。 + + + + + 取得已套用至測試的測試分類。 + + + + + "Category" 屬性的基底類別 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 初始化 類別的新執行個體。 + 將分類套用至測試。TestCategories 所傳回的字串 + 會與 /category 命令搭配使用,以篩選測試 + + + + + 取得已套用至測試的測試分類。 + + + + + AssertFailedException 類別。用來表示測試案例失敗 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 初始化 類別的新執行個體。 + + + + + 要測試單元測試內各種條件的協助程式類別集合。 + 如果不符合正在測試的條件,則會擲回 + 例外狀況。 + + + + + 取得 Assert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 false。訊息會顯示在測試結果中。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 false。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + Thrown if is true. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 true。訊息會顯示在測試結果中。 + + + Thrown if is true. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 true。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is true. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不為 null。訊息會顯示在測試結果中。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不為 null。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + Thrown if is null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 null。訊息會顯示在測試結果中。 + + + Thrown if is null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 null。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is null. + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者不同: 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者不同: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者相同: 。訊息會顯示在 + 測試結果中。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者相同: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + Thrown if is not equal to . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + Thrown if is equal to . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + Thrown if is not equal to + . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 擲回 AssertFailedException。 + + + Always thrown. + + + + + 擲回 AssertFailedException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Always thrown. + + + + + 擲回 AssertFailedException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Always thrown. + + + + + 「靜態等於多載」用於比較兩種類型的執行個體的參考 + 相等。這種方法不應該用於比較兩個執行個體是否 + 相等。這個物件一律會擲出 Assert.Fail。請在單元測試中使用 + Assert.AreEqual 和相關聯多載。 + + 物件 A + 物件 B + 一律為 False。 + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 測試委派 所指定的程式碼是否會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並於程式碼未擲回例外狀況或擲回非 類型的例外狀況時,擲回 AssertFailedException。 + + 委派給要進行測試且預期會擲回例外狀況的程式碼。 + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 測試委派 所指定的程式碼是否會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並於程式碼未擲回例外狀況或擲回非 類型的例外狀況時,擲回 AssertFailedException。 + + 委派給要進行測試且預期會擲回例外狀況的程式碼。 + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 以 "\\0" 取代 null 字元 ('\0')。 + + + 要搜尋的字串。 + + + null 字元以 "\\0" 取代的已轉換字串。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + 建立並擲回 AssertionFailedException 的 Helper 函數 + + + 擲回例外狀況的判斷提示名稱 + + + 描述判斷提示失敗條件的訊息 + + + 參數。 + + + + + 檢查參數的有效條件 + + + 參數。 + + + 判斷提示「名稱」。 + + + 參數名稱 + + + 無效參數例外狀況的訊息 + + + 參數。 + + + + + 將物件安全地轉換成字串,並處理 null 值和 null 字元。 + Null 值會轉換成 "(null)"。Null 字元會轉換成 "\\0"。 + + + 要轉換為字串的物件。 + + + 已轉換的字串。 + + + + + 字串判斷提示。 + + + + + 取得 CollectionAssert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + Thrown if is not found in + . + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not found in + . + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not found in + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的開頭不是 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的開頭不是 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + Thrown if does not end with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的結尾不是 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not end with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的結尾不是 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not end with + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不符合 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不符合 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + Thrown if matches . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 符合 。訊息會顯示在 + 測試結果中。 + + + Thrown if matches . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 符合 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if matches . + + + + + 要測試與單元測試內集合相關聯之各種條件的 + 協助程式類別集合。如果不符合正在測試的條件, + 則會擲回例外狀況。 + + + + + 取得 CollectionAssert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + Thrown if is found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is found in + . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含 null 元素。訊息會顯示在測試結果中。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含 null 元素。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含至少一個重複元素。訊息會顯示在 + 測試結果中。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含至少一個重複元素。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 在下者中找不到: 。 + 訊息會顯示在測試結果中。 + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 在下者中找不到: 。 + 訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + Thrown if every element in is also found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的每個元素: + 也會在下者中找到: 。 + 訊息會顯示在測試結果中。 + + + Thrown if every element in is also found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的每個元素: + 也會在下者中找到: 。 + 訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if every element in is also found in + . + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在其中一個集合中找到元素但在另一個集合中找不到元素時 + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在其中一個集合中找到元素但在另一個集合中找不到元素時 + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含與下者相同的元素: 。訊息 + 會顯示在測試結果中。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含與下者相同的元素: 。訊息 + 會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 不是下者的執行個體: + 。訊息會顯示在測試結果中。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 不是下者的執行個體: + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 參數陣列,使用時機為格式 。 + + + Thrown if is equal to . + + + + + 判斷第一個集合是否為第二個集合的子集。 + 如果任一個集合包含重複的元素,則元素 + 在子集中的出現次數必須小於或 + 等於在超集中的出現次數。 + + + 測試預期包含在下者中的集合: 。 + + + 測試預期包含下者的集合: 。 + + + True 的情況為 是下者的子集: + ,否則為 false。 + + + + + 建構字典,內含每個元素在所指定集合中 + 的出現次數。 + + + 要處理的集合。 + + + 集合中的 null 元素數目。 + + + 包含每個元素在所指定集合內之出現次數 + 的字典。 + + + + + 尋找兩個集合之間不相符的元素。不相符的元素 + 為出現在預期集合中的次數 + 不同於它在實際集合中出現的次數。 + 集合假設為具有數目相同之元素的不同非 null 參考。 + 呼叫者負責這個層級的驗證。 + 如果沒有不相符的元素,則函數會傳回 false, + 而且不應該使用 out 參數。 + + + 要比較的第一個集合。 + + + 要比較的第二個集合。 + + + 下者的預期出現次數: + 或 0 (如果沒有不相符的 + 元素)。 + + + 下者的實際出現次數: + 或 0 (如果沒有不相符的 + 元素)。 + + + 不相符的元素 (可能為 null) 或 null (如果沒有 + 不相符的元素)。 + + + 如果找到不相符的元素,則為 true,否則為 false。 + + + + + 使用 object.Equals 來比較物件 + + + + + 架構例外狀況的基底類別。 + + + + + 初始化 類別的新執行個體。 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 強型別資源類別,用於查詢當地語系化字串等。 + + + + + 傳回這個類別所使用的快取的 ResourceManager 執行個體。 + + + + + 針對使用這個強型別資源類別的所有資源查閱, + 覆寫目前執行緒的 CurrentUICulture 屬性。 + + + + + 查閱與「存取字串有無效的語法。」類似的當地語系化字串。 + + + + + 查閱與「預期在集合中包含 {1} 項 <{2}>,但實際的集合卻有 {3} 項。{0}」類似的當地語系化字串。 + + + + + 查閱與「找到重複的項目:<{1}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1}>。大小寫與下列實際值不同:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期值 <{1}> 和實際值 <{2}> 之間的預期差異不大於 <{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1} ({2})>。實際:<{3} ({4})>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1}>。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期值 <{1}> 和實際值 <{2}> 之間的預期差異大於 <{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期任何值 (<{1}> 除外)。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「不要將實值型別傳遞給 AreSame()。轉換成 Object 的值從此不再一樣。請考慮使用 AreEqual()。{0}」類似的當地語系化字串。 + + + + + 查閱與「{0} 失敗。{1}」類似的當地語系化字串。 + + + + + 不支援查詢類似非同步處理 TestMethod 與 UITestMethodAttribute 的當地語系化字串。移除非同步處理或使用 TestMethodAttribute。 + + + + + 查閱與「兩個集合都是空的。{0}」類似的當地語系化字串。 + + + + + 查閱與「兩個集合含有相同的元素。」類似的當地語系化字串。 + + + + + 查閱與「兩個集合參考都指向同一個集合物件。{0}」類似的當地語系化字串。 + + + + + 查閱與「兩個集合含有相同的元素。{0}」類似的當地語系化字串。 + + + + + 查閱與「{0}({1})」類似的當地語系化字串。 + + + + + 查閱與「(null)」類似的當地語系化字串。 + + + + + 查閱與「(物件)」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 未包含字串 '{1}'。{2}。」類似的當地語系化字串。 + + + + + 查閱與「{0}({1})」類似的當地語系化字串。 + + + + + 查閱與「Assert.Equals 不應使用於判斷提示。請改用 Assert.AreEqual 及多載。」類似的當地語系化字串。 + + + + + 查閱與「集合中的元素數目不符。預期:<{1}>。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {0} 的元素不符。」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {1} 的項目不是預期的類型。預期的類型:<{2}>。實際的類型:<{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {1} 的元素是 (null)。預期的類型:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 不是以字串 '{1}' 結尾。{2}。」類似的當地語系化字串。 + + + + + 查閱與「無效的引數 - EqualsTester 無法使用 null。」類似的當地語系化字串。 + + + + + 查閱與「無法將 {0} 類型的物件轉換為 {1}。」類似的當地語系化字串。 + + + + + 查閱與「所參考的內部物件已不再有效。」類似的當地語系化字串。 + + + + + 查閱與「參數 '{0}' 無效。{1}。」類似的當地語系化字串。 + + + + + 查閱與「屬性 {0} 具有類型 {1}; 預期為類型 {2}。」類似的當地語系化字串。 + + + + + 查閱與「{0} 預期的類型:<{1}>。實際的類型:<{2}>。」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 與模式 '{1}' 不符。{2}。」類似的當地語系化字串。 + + + + + 查閱與「錯誤的類型:<{1}>。實際的類型:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 與模式 '{1}' 相符。{2}。」類似的當地語系化字串。 + + + + + 查閱與「未指定 DataRowAttribute。至少一個 DataRowAttribute 必須配合 DataTestMethodAttribute 使用。」類似的當地語系化字串。 + + + + + 查閱與「未擲回任何例外狀況。預期為 {1} 例外狀況。{0}」類似的當地語系化字串。 + + + + + 查閱與「參數 '{0}' 無效。值不能為 null。{1}。」類似的當地語系化字串。 + + + + + 查閱與「元素數目不同。」類似的當地語系化字串。 + + + + + 查閱與「找不到具有所指定簽章的建構函式。 + 您可能必須重新產生私用存取子,或者該成員可能為私用, + 並且定義在基底類別上。如果是後者,您必須將定義 + 該成員的類型傳送至 PrivateObject 的建構函式。」 + 類似的當地語系化字串。 + + + + + 查閱與「找不到所指定的成員 ({0})。 + 您可能必須重新產生私用存取子, + 或者該成員可能為私用,並且定義在基底類別上。如果是後者,您必須將定義該成員的類型 + 傳送至 PrivateObject 的建構函式。」 + 類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 不是以字串 '{1}' 開頭。{2}。」類似的當地語系化字串。 + + + + + 查閱與「預期的例外狀況類型必須是 System.Exception 或衍生自 System.Exception 的類型。」類似的當地語系化字串。 + + + + + 查閱與「(由於發生例外狀況,所以無法取得 {0} 類型之例外狀況的訊息。)」類似的當地語系化字串。 + + + + + 查閱與「測試方法未擲回預期的例外狀況 {0}。{1}」類似的當地語系化字串。 + + + + + 查閱與「測試方法未擲回例外狀況。測試方法上定義的屬性 {0} 需要例外狀況。」類似的當地語系化字串。 + + + + + 查閱與「測試方法擲回例外狀況 {0},但是需要的是例外狀況 {1}。例外狀況訊息: {2}」類似的當地語系化字串。 + + + + + 查閱與「測試方法擲回例外狀況 {0},但是需要的是例外狀況 {1} 或由它衍生的類型。例外狀況訊息: {2}」類似的當地語系化字串。 + + + + + 查閱與「擲回例外狀況 {2},但需要的是例外狀況 {1}。{0} + 例外狀況訊息: {3} + 堆疊追蹤: {4}」類似的當地語系化字串。 + + + + + 單元測試結果 + + + + + 已執行測試,但發生問題。 + 問題可能包含例外狀況或失敗的判斷提示。 + + + + + 測試已完成,但是無法指出成功還是失敗。 + 可能用於已中止測試。 + + + + + 已執行測試且沒有任何問題。 + + + + + 目前正在執行測試。 + + + + + 嘗試執行測試時發生系統錯誤。 + + + + + 測試逾時。 + + + + + 使用者已中止測試。 + + + + + 測試處於未知狀態 + + + + + 提供單元測試架構的協助程式功能 + + + + + 遞迴地取得例外狀況訊息 (包含所有內部例外狀況 + 的訊息) + + 要為其取得訊息的例外狀況 + 含有錯誤訊息資訊的字串 + + + + 逾時的列舉,可以與 類別搭配使用。 + 列舉的類型必須相符 + + + + + 無限。 + + + + + 測試類別屬性。 + + + + + 取得可讓您執行此測試的測試方法屬性。 + + 此方法上所定義的測試方法屬性執行個體。 + 要用來執行此測試。 + Extensions can override this method to customize how all methods in a class are run. + + + + 測試方法屬性。 + + + + + 執行測試方法。 + + 要執行的測試方法。 + 代表測試結果的 TestResult 物件陣列。 + Extensions can override this method to customize running a TestMethod. + + + + 測試初始化屬性。 + + + + + 測試清除屬性。 + + + + + Ignore 屬性。 + + + + + 測試屬性 (property) 屬性 (attribute)。 + + + + + 初始化 類別的新執行個體。 + + + 名稱。 + + + 值。 + + + + + 取得名稱。 + + + + + 取得值。 + + + + + 類別會將屬性初始化。 + + + + + 類別清除屬性。 + + + + + 組件會將屬性初始化。 + + + + + 組件清除屬性。 + + + + + 測試擁有者 + + + + + 初始化 類別的新執行個體。 + + + 擁有者。 + + + + + 取得擁有者。 + + + + + Priority 屬性; 用來指定單元測試的優先順序。 + + + + + 初始化 類別的新執行個體。 + + + 優先順序。 + + + + + 取得優先順序。 + + + + + 測試描述 + + + + + 初始化 類別的新執行個體來描述測試。 + + 描述。 + + + + 取得測試的描述。 + + + + + CSS 專案結構 URI + + + + + 初始化用於 CSS 專案結構 URI 之 類別的新執行個體。 + + CSS 專案結構 URI。 + + + + 取得 CSS 專案結構 URI。 + + + + + CSS 反覆項目 URI + + + + + 初始化用於 CSS 反覆項目 URI 之 類別的新執行個體。 + + CSS 反覆項目 URI。 + + + + 取得 CSS 反覆項目 URI。 + + + + + 工作項目屬性; 用來指定與這個測試相關聯的工作項目。 + + + + + 初始化用於工作項目屬性之 類別的新執行個體。 + + 工作項目的識別碼。 + + + + 取得建立關聯之工作項目的識別碼。 + + + + + Timeout 屬性; 用來指定單元測試的逾時。 + + + + + 初始化 類別的新執行個體。 + + + 逾時。 + + + + + 初始化具有預設逾時之 類別的新執行個體 + + + 逾時 + + + + + 取得逾時。 + + + + + 要傳回給配接器的 TestResult 物件。 + + + + + 初始化 類別的新執行個體。 + + + + + 取得或設定結果的顯示名稱。適用於傳回多個結果時。 + 如果為 null,則使用「方法名稱」當成 DisplayName。 + + + + + 取得或設定測試執行的結果。 + + + + + 取得或設定測試失敗時所擲回的例外狀況。 + + + + + 取得或設定測試程式碼所記錄之訊息的輸出。 + + + + + 取得或設定測試程式碼所記錄之訊息的輸出。 + + + + + 透過測試程式碼取得或設定偵錯追蹤。 + + + + + Gets or sets the debug traces by test code. + + + + + 取得或設定測試執行的持續時間。 + + + + + 取得或設定資料來源中的資料列索引。僅針對個別執行資料驅動測試之資料列 + 的結果所設定。 + + + + + 取得或設定測試方法的傳回值 (目前一律為 null)。 + + + + + 取得或設定測試所附加的結果檔案。 + + + + + 指定連接字串、表格名稱和資料列存取方法來進行資料驅動測試。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + 資料來源的預設提供者名稱。 + + + + + 預設資料存取方法。 + + + + + 初始化 類別的新執行個體。將使用資料提供者、連接字串、運算列表和資料存取方法將這個執行個體初始化,以存取資料來源。 + + 非變異資料提供者名稱 (例如 System.Data.SqlClient) + + 資料提供者特定連接字串。 + 警告: 連接字串可能會包含敏感性資料 (例如,密碼)。 + 連接字串是以純文字形式儲存在原始程式碼中和編譯的組件中。 + 限制對原始程式碼和組件的存取,以保護這項機密資訊。 + + 運算列表的名稱。 + 指定資料的存取順序。 + + + + 初始化 類別的新執行個體。此執行個體將使用連接字串和表格名稱進行初始化。 + 指定連接字串和運算列表以存取 OLEDB 資料來源。 + + + 資料提供者特定連接字串。 + 警告: 連接字串可能會包含敏感性資料 (例如,密碼)。 + 連接字串是以純文字形式儲存在原始程式碼中和編譯的組件中。 + 限制對原始程式碼和組件的存取,以保護這項機密資訊。 + + 運算列表的名稱。 + + + + 初始化 類別的新執行個體。將使用與設定名稱相關聯的資料提供者和連接字串將這個執行個體初始化。 + + 在 app.config 檔案的 <microsoft.visualstudio.qualitytools> 區段中找到資料來源名稱。 + + + + 取得值,代表資料來源的資料提供者。 + + + 資料提供者名稱。如果未在物件初始化時指定資料提供者,將會傳回 System.Data.OleDb 的預設提供者。 + + + + + 取得值,代表資料來源的連接字串。 + + + + + 取得值,指出提供資料的表格名稱。 + + + + + 取得用來存取資料來源的方法。 + + + + 下列其中之一: 值。如果 未進行初始化,則這會傳回預設值 。 + + + + + 取得在 app.config 檔案 <microsoft.visualstudio.qualitytools> 區段中找到的資料來源名稱。 + + + + + 可在其中內嵌指定資料之資料驅動測試的屬性。 + + + + + 尋找所有資料列,並執行。 + + + 測試「方法」。 + + + 下列項目的陣列: 。 + + + + + 執行資料驅動測試方法。 + + 要執行的測試方法。 + 資料列。 + 執行結果。 + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML new file mode 100644 index 0000000..910f6f6 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/Microsoft.VisualStudio.TestPlatform.TestFramework.XML @@ -0,0 +1,5318 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + The assembly cleanup attribute. + + + + + The assembly initialize attribute. + + + + + The class cleanup attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Specifies the ClassCleanup Inheritance Behavior + + + + + Initializes a new instance of the class. + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Initializes a new instance of the class. + + + Specifies the ClassCleanup Inheritance Behavior + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Initializes a new instance of the class. + + + Specifies the ClassCleanup Inheritance Behavior + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Gets the Inheritance Behavior + + + + + Gets when to run class cleanup methods. + + + + + When to run ClassCleanup during test execution + + + + + Run at end of assembly + + + + + Run at end of class + + + + + Specification for when to run class cleanup methods. + + + + + Default class cleanup execution + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Gets when to run class cleanup methods. + + + + + The class initialize attribute. + + + + + Initializes a new instance of the class. + ClassInitializeAttribute + + + + + Initializes a new instance of the class. + ClassInitializeAttribute + + + Specifies the ClassInitialize Inheritance Behavior + + + + + Gets the Inheritance Behavior + + + + + CSS Iteration URI + + + + + Initializes a new instance of the class for CSS Iteration URI. + + The CSS Iteration URI. + + + + Gets the CSS Iteration URI. + + + + + 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. + + + + + Attribute for data driven test where data can be specified in-line. + + + + + Description of the test + + + + + Initializes a new instance of the class to describe a test. + + The description. + + + + Gets the description of a test. + + + + + The presence of this attribute in a test assembly causes MSTest to discover test classes (i.e. classes having + the "TestClass" attribute) and test methods (i.e. methods having the "TestMethod" attribute) which are declared + internal in addition to test classes and test methods which are declared public. When this attribute is not + present in a test assembly the tests in such classes will not be discovered. + + + + + 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. + + + + + + + + + + + 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. + + + + + Enumeration for inheritance behavior, that can be used with both the class + and class. + Defines the behavior of the ClassInitialize and ClassCleanup methods of base classes. + The type of the enumeration must match + + + + + None. + + + + + Before each derived class. + + + + + Test Owner + + + + + Initializes a new instance of the class. + + + The owner. + + + + + Gets the owner. + + + + + 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. + + + + + Priority attribute; used to specify the priority of a unit test. + + + + + Initializes a new instance of the class. + + + The priority. + + + + + Gets the priority. + + + + + 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 cleanup attribute marks methods that are executed after every test marked with a . + + + + + Specifies how to discover ITestDataSource tests. + + + + + Initializes a new instance of the class. + + + Sets which to use when discovering ITestDataSource tests. + + + + + Gets specified discovery option. + + + + + Supported TestDataSource discovery modes + + + + + Discover tests during execution. + This was the default option on version 2.2.3 and before. + + + + + Discover and expand ITestDataSource based tests. + This is the default behavior after version 2.2.3. + + + + + The test initialize attribute. + + + + + The test method attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Display name for the test. + + + + + Gets display name for the test. + + + + + 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 property attribute. + + + + + Initializes a new instance of the class. + + + The name. + + + The value. + + + + + Gets the name. + + + + + Gets the value. + + + + + TestResult object to be returned to adapter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the display name of the result. Useful when returning multiple results. + If null then Method name is used as DisplayName. + + + + + Gets or sets the outcome of the test execution. + + + + + Gets or sets the exception thrown when test is failed. + + + + + Gets or sets the output of the message logged by test code. + + + + + Gets or sets the output of the message logged by test code. + + + + + Gets or sets the debug traces by test code. + + + + + Gets or sets the debug traces by test code. + + + + + Gets or sets the execution id of the result. + + + + + Gets or sets the parent execution id of the result. + + + + + Gets or sets the inner results count of the result. + + + + + Gets or sets the duration of test execution. + + + + + Gets or sets the data row index in data source. Set only for results of individual + run of data row of a data driven test. + + + + + Gets or sets the return value of the test method. (Currently null always). + + + + + Gets or sets the result files attached by the test. + + + + + Enumeration for timeouts, that can be used with the class. + The type of the enumeration must match + + + + + The infinite. + + + + + Timeout attribute; used to specify the timeout of a unit test. + + + + + Initializes a new instance of the class. + + + The timeout in milliseconds. + + + + + Initializes a new instance of the class with a preset timeout + + + The timeout + + + + + Gets the timeout in milliseconds. + + + + + 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 work item associated. + + + + + Test data source for data driven tests. + + + + + Gets the test data from custom test data source. + + + The method info of test method. + + + Test data for calling test method. + + + + + Gets the display name corresponding to test data row for displaying in TestResults. + + + The method info of test method. + + + The test data which is passed to test method. + + + The . + + + + + TestMethod for execution. + + + + + Gets the name of test method. + + + + + Gets the name of test class. + + + + + Gets the return type of test method. + + + + + Gets the arguments with which test method is invoked. + + + + + Gets the parameters of test method. + + + + + Gets the methodInfo for test method. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invokes the test method. + + + Arguments to pass to test method. (E.g. For data driven) + + + Result of test method invocation. + + + This call handles asynchronous test methods as well. + + + + + Get all attributes of the test method. + + + Whether attribute defined in parent class is valid. + + + All attributes. + + + + + Get attribute of specific type. + + System.Attribute type. + + Whether attribute defined in parent class is valid. + + + The attributes of the specified type. + + + + + The helper. + + + + + The check parameter not null. + + + The parameter. + + + The parameter name. + + + The message. + + Throws argument null exception when parameter is null. + + + + The check parameter not null or empty. + + + The parameter. + + + The parameter name. + + + The message. + + Throws ArgumentException when parameter is null. + + + + Enumeration for how we access data rows in data driven testing. + + + + + Rows are returned in sequential order. + + + + + Rows are returned in random order. + + + + + Attribute to define in-line data for a test method. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The data object. + + + + Initializes a new instance of the class which takes in an array of arguments. + + A data object. + More data. + + + + Gets data for calling test method. + + + + + Gets or sets display name in test results for customization. + + + + + + + + + + + The assert inconclusive exception. + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + InternalTestFailureException class. Used to indicate internal failure for a test case + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initializes a new instance of the class. + + The exception message. + The exception. + + + + Initializes a new instance of the class. + + The exception message. + + + + Initializes a new instance of the class. + + + + + Attribute that specifies to expect an exception of the specified type + + + + + Initializes a new instance of the class with the expected type + + Type of the expected exception + + + + Initializes a new instance of the class with + the expected type and the message to include when no exception is thrown by the test. + + Type of the expected exception + + Message to include in the test result if the test fails due to not throwing an exception + + + + + Gets a value indicating the Type of the expected exception + + + + + Gets or sets a value indicating whether to allow types derived from the type of the expected exception to + qualify as expected + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Verifies that the type of the exception thrown by the unit test is expected + + The exception thrown by the unit test + + + + Base class for attributes that specify to expect an exception from a unit test + + + + + Initializes a new instance of the class with a default no-exception message + + + + + Initializes a new instance of the class with a no-exception message + + + Message to include in the test result if the test fails due to not throwing an + exception + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Gets the default no-exception message + + The ExpectedException attribute type name + The default no-exception message + + + + Determines whether the exception is expected. If the method returns, then it is + understood that the exception was expected. If the method throws an exception, then it + is understood that the exception was not expected, and the thrown exception's message + is included in the test result. The class can be used for + convenience. If is used and the assertion fails, + then the test outcome is set to Inconclusive. + + The exception thrown by the unit test + + + + Rethrow the exception if it is an AssertFailedException or an AssertInconclusiveException + + The exception to rethrow if it is an assertion exception + + + + This class is designed to help user doing unit testing for types which uses generic types. + GenericParameterHelper satisfies some common generic type constraints + such as: + 1. public default constructor + 2. implements common interface: IComparable, IEnumerable + + + + + Initializes a new instance of the class that + satisfies the 'newable' constraint in C# generics. + + + This constructor initializes the Data property to a random value. + + + + + Initializes a new instance of the class that + initializes the Data property to a user-supplied value. + + Any integer value + + + + Gets or sets the Data + + + + + Do the value comparison for two GenericParameterHelper object + + object to do comparison with + true if obj has the same value as 'this' GenericParameterHelper object. + false otherwise. + + + + Returns a hashcode for this object. + + The hash code. + + + + Compares the data of the two objects. + + The object to compare with. + + A signed number indicating the relative values of this instance and value. + + + Thrown when the object passed in is not an instance of . + + + + + Returns an IEnumerator object whose length is derived from + the Data property. + + The IEnumerator object + + + + Returns a GenericParameterHelper object that is equal to + the current object. + + The cloned object. + + + + Enables users to log/write traces from unit tests for diagnostics. + + + + + Handler for LogMessage. + + Message to log. + + + + Event to listen. Raised when unit test writer writes some message. + Mainly to consume by adapter. + + + + + API for test writer to call to Log messages. + + String format with placeholders. + Parameters for placeholders. + + + + TestCategory attribute; used to specify the category of a unit test. + + + + + Initializes a new instance of the class and applies the category to the test. + + + The test Category. + + + + + Gets the test categories that has been applied to the test. + + + + + Base class for the "Category" attribute + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initializes a new instance of the class. + Applies the category to the test. The strings returned by TestCategories + are used with the /category command to filter tests + + + + + Gets the test category that has been applied to the test. + + + + + AssertFailedException class. Used to indicate failure for a test case + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + A collection of helper classes to test various conditions within + unit tests. If the condition being tested is not met, an exception + is thrown. + + + + + Gets the singleton instance of the Assert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + Thrown if is false. + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + 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. + + + 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 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. + + + 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. + + + 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 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 decimals are equal and throws an exception + if they are not equal. + + + The first decimal to compare. This is the decimal the tests expects. + + + The second decimal to compare. This is the decimal 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 decimals are equal and throws an exception + if they are not equal. + + + The first decimal to compare. This is the decimal the tests expects. + + + The second decimal to compare. This is the decimal 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 decimals are equal and throws an exception + if they are not equal. + + + The first decimal to compare. This is the decimal the tests expects. + + + The second decimal to compare. This is the decimal 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 decimals are unequal and throws an exception + if they are equal. + + + The first decimal to compare. This is the decimal the test expects not to + match . + + + The second decimal to compare. This is the decimal 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 decimals are unequal and throws an exception + if they are equal. + + + The first decimal to compare. This is the decimal the test expects not to + match . + + + The second decimal to compare. This is the decimal 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 decimals are unequal and throws an exception + if they are equal. + + + The first decimal to compare. This is the decimal the test expects not to + match . + + + The second decimal to compare. This is the decimal 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 longs are equal and throws an exception + if they are not equal. + + + The first long to compare. This is the long the tests expects. + + + The second long to compare. This is the long 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 longs are equal and throws an exception + if they are not equal. + + + The first long to compare. This is the long the tests expects. + + + The second long to compare. This is the long 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 longs are equal and throws an exception + if they are not equal. + + + The first long to compare. This is the long the tests expects. + + + The second long to compare. This is the long 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 longs are unequal and throws an exception + if they are equal. + + + The first long to compare. This is the long the test expects not to + match . + + + The second long to compare. This is the long 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 longs are unequal and throws an exception + if they are equal. + + + The first long to compare. This is the long the test expects not to + match . + + + The second long to compare. This is the long 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 longs are unequal and throws an exception + if they are equal. + + + The first long to compare. This is the long the test expects not to + match . + + + The second long to compare. This is the long produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + Thrown if is not equal to + . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Throws an AssertFailedException. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Static equals overloads are used for comparing instances of two types for reference + equality. This method should not be used for comparison of two instances for + equality. This object will always throw with Assert.Fail. Please use + Assert.AreEqual and associated overloads in your unit tests. + + Object A + Object B + False, always. + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + Delegate to code to be tested and which is expected to throw exception. + + The message to include in the exception when + does not throws exception of type . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + Delegate to code to be tested and which is expected to throw exception. + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Replaces null characters ('\0') with "\\0". + + + The string to search. + + + The converted string with null characters replaced by "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Helper function that creates and throws an AssertionFailedException + + + name of the assertion throwing an exception + + + message describing conditions for assertion failure + + + The parameters. + + + + + Checks the parameter for valid conditions + + + The parameter. + + + The assertion Name. + + + parameter name + + + message for the invalid parameter exception + + + The parameters. + + + + + Safely converts an object to a string, handling null values and null characters. + Null values are converted to "(null)". Null characters are converted to "\\0". + + + The object to convert to a string. + + + The converted string. + + + + + The string assert. + + + + + Gets the singleton instance of the CollectionAssert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert customAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + Thrown if is not found in + . + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + The comparison method to compare strings . + + + 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. + + + The comparison method to compare strings . + + + 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 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. + + + The comparison method to compare strings . + + + 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 comparison method to compare strings . + + + 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 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. + + + The comparison method to compare strings . + + + 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. + + + The comparison method to compare strings . + + + 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 comparison method to compare strings . + + + 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 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. + + + The comparison method to compare strings . + + + 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. + + + The comparison method to compare strings . + + + An array of parameters to use when formatting . + + + Thrown if does not end with + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if does not match + . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if matches . + + + + + A collection of helper classes to test various conditions associated + with collections within unit tests. If the condition being tested is not + met, an exception is thrown. + + + + + Gets the singleton instance of the CollectionAssert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert customAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if is found in + . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if every element in is also found in + . + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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} must derive from {1}!. + + + + + 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 UITestMethodAttribute.DispatcherQueue should not be null. To use UITestMethodAttribute within a WinUI Desktop App, remember to set the static UITestMethodAttribute.DispatcherQueue during the test initialization.. + + + + + Looks up a localized string similar to Both collections are empty. {0}. + + + + + Looks up a localized string similar to Both collection contain same elements.. + + + + + Looks up a localized string similar to Both collection references point to the same collection object. {0}. + + + + + Looks up a localized string similar to Both collections contain the same elements. {0}. + + + + + Looks up a localized string similar to {0}({1}). + + + + + Looks up a localized string similar to (null). + + + + + Looks up a localized string similar to (object). + + + + + Looks up a localized string similar to String '{0}' does not contain string '{1}'. {2}.. + + + + + Looks up a localized string similar to {0} ({1}). + + + + + Looks up a localized string similar to Assert.Equals should not be used for Assertions. Please use Assert.AreEqual & overloads instead.. + + + + + Looks up a localized string similar to Method {0} must match the expected signature: public static {1} {0}({2}).. + + + + + Looks up a localized string similar to Property or method {0} on {1} returns empty IEnumerable<object[]>.. + + + + + Looks up a localized string similar to Property or method {0} on {1} does not return IEnumerable<object[]>.. + + + + + Looks up a localized string similar to Value returned by property or method {0} shouldn't be null.. + + + + + Looks up a localized string similar to The number of elements in the collections do not match. Expected:<{1}>. Actual:<{2}>.{0}. + + + + + Looks up a localized string similar to Element at index {0} do not match.. + + + + + Looks up a localized string similar to Element at index {1} is not of expected type. Expected type:<{2}>. Actual type:<{3}>.{0}. + + + + + Looks up a localized string similar to Element at index {1} is (null). Expected type:<{2}>.{0}. + + + + + Looks up a localized string similar to String '{0}' does not end with string '{1}'. {2}.. + + + + + Looks up a localized string similar to Invalid argument- EqualsTester can't use nulls.. + + + + + Looks up a localized string similar to Cannot convert object of type {0} to {1}.. + + + + + Looks up a localized string similar to The internal object referenced is no longer valid.. + + + + + Looks up a localized string similar to The parameter '{0}' is invalid. {1}.. + + + + + Looks up a localized string similar to The property {0} has type {1}; expected type {2}.. + + + + + Looks up a localized string similar to {0} Expected type:<{1}>. Actual type:<{2}>.. + + + + + Looks up a localized string similar to String '{0}' does not match pattern '{1}'. {2}.. + + + + + Looks up a localized string similar to Wrong Type:<{1}>. Actual type:<{2}>. {0}. + + + + + Looks up a localized string similar to String '{0}' matches pattern '{1}'. {2}.. + + + + + Looks up a localized string similar to No test data source specified. Atleast one TestDataSource is required with DataTestMethodAttribute.. + + + + + Looks up a localized string similar to No exception thrown. {1} exception was expected. {0}. + + + + + Looks up a localized string similar to The parameter '{0}' is invalid. The value cannot be null. {1}.. + + + + + Looks up a localized string similar to Different number of elements.. + + + + + Looks up a localized string similar to + The constructor with the specified signature could not be found. You might need to regenerate your private accessor, + or the member may be private and defined on a base class. If the latter is true, you need to pass the type + that defines the member into PrivateObject's constructor. + . + + + + + Looks up a localized string similar to + The member specified ({0}) could not be found. You might need to regenerate your private accessor, + or the member may be private and defined on a base class. If the latter is true, you need to pass the type + that defines the member into PrivateObject's constructor. + . + + + + + Looks up a localized string similar to String '{0}' does not start with string '{1}'. {2}.. + + + + + Looks up a localized string similar to The expected exception type must be System.Exception or a type derived from System.Exception.. + + + + + Looks up a localized string similar to (Failed to get the message for an exception of type {0} due to an exception.). + + + + + Looks up a localized string similar to Test method did not throw expected exception {0}. {1}. + + + + + Looks up a localized string similar to Test method did not throw an exception. An exception was expected by attribute {0} defined on the test method.. + + + + + Looks up a localized string similar to Test method threw exception {0}, but exception {1} was expected. Exception message: {2}. + + + + + Looks up a localized string similar to Test method threw exception {0}, but exception {1} or a type derived from it was expected. Exception message: {2}. + + + + + Looks up a localized string similar to Threw exception {2}, but exception {1} was expected. {0} + Exception Message: {3} + Stack Trace: {4}. + + + + + unit test outcomes + + + + + Test was executed, but there were issues. + Issues may involve exceptions or failed assertions. + + + + + Test has completed, but we can't say if it passed or failed. + May be used for aborted tests. + + + + + Test was executed without any issues. + + + + + Test is currently executing. + + + + + There was a system error while we were trying to execute a test. + + + + + The test timed out. + + + + + Test was aborted by the user. + + + + + Test is in an unknown state + + + + + Test cannot be executed. + + + + + Provides helper functionality for the unit test framework + + + + + Gets the exception messages, including the messages for all inner exceptions + recursively + + Exception to get messages for + string with error message information + + + + 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. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll new file mode 100644 index 0000000000000000000000000000000000000000..e0ab0d015150f2852335346562d66a9f4f0120bb GIT binary patch literal 74128 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..3f446b4 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4197 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Atribut TestMethod pro provádění + + + + + Získá název testovací metody. + + + + + Získá název třídy testu. + + + + + Získá návratový typ testovací metody. + + + + + Získá parametry testovací metody. + + + + + Získá methodInfo pro testovací metodu. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Vyvolá testovací metodu. + + + Argumenty pro testovací metodu (např. pro testování řízené daty) + + + Výsledek vyvolání testovací metody + + + This call handles asynchronous test methods as well. + + + + + Získá všechny atributy testovací metody. + + + Jestli je platný atribut definovaný v nadřazené třídě + + + Všechny atributy + + + + + Získá atribut konkrétního typu. + + System.Attribute type. + + Jestli je platný atribut definovaný v nadřazené třídě + + + Atributy zadaného typu + + + + + Pomocná služba + + + + + Kontrolní parametr není null. + + + Parametr + + + Název parametru + + + Zpráva + + Throws argument null exception when parameter is null. + + + + Ověřovací parametr není null nebo prázdný. + + + Parametr + + + Název parametru + + + Zpráva + + Throws ArgumentException when parameter is null. + + + + Výčet způsobů přístupu k datovým řádkům při testování řízeném daty + + + + + Řádky se vrací v sekvenčním pořadí. + + + + + Řádky se vrátí v náhodném pořadí. + + + + + Atribut pro definování vložených dat pro testovací metodu + + + + + Inicializuje novou instanci třídy . + + Datový objekt + + + + Inicializuje novou instanci třídy , která přijímá pole argumentů. + + Datový objekt + Další data + + + + Získá data pro volání testovací metody. + + + + + Získá nebo nastaví zobrazovaný název ve výsledcích testu pro přizpůsobení. + + + + + Výjimka s neprůkazným kontrolním výrazem + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Inicializuje novou instanci třídy . + + + + + Třída InternalTestFailureException. Používá se pro označení interní chyby testovacího případu. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializuje novou instanci třídy . + + Zpráva o výjimce + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva o výjimce + + + + Inicializuje novou instanci třídy . + + + + + Atribut, podle kterého se má očekávat výjimka zadaného typu + + + + + Inicializuje novou instanci třídy s očekávaným typem. + + Typ očekávané výjimky + + + + Inicializuje novou instanci třídy + s očekávaným typem a zprávou, která se zahrne v případě, že test nevyvolá žádnou výjimku. + + Typ očekávané výjimky + + Zpráva, která má být zahrnuta do výsledku testu, pokud se test nezdaří z důvodu nevyvolání výjimky + + + + + Načte hodnotu, která označuje typ očekávané výjimky. + + + + + Získá nebo načte hodnotu, která označuje, jestli je možné typy odvozené od typu očekávané výjimky + považovat za očekávané. + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Ověří, jestli se očekává typ výjimky vyvolané testem jednotek. + + Výjimka vyvolaná testem jednotek + + + + Základní třída pro atributy, které určují, že se má očekávat výjimka testu jednotek + + + + + Inicializuje novou instanci třídy s výchozí zprávou no-exception. + + + + + Inicializuje novou instanci třídy se zprávou no-exception. + + + Zprávy, které mají být zahrnuty ve výsledku testu, pokud se test nezdaří z důvodu nevyvolání + výjimky + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Získá výchozí zprávu no-exception. + + Název typu atributu ExpectedException + Výchozí zpráva neobsahující výjimku + + + + Určuje, jestli se daná výjimka očekává. Pokud metoda skončí, rozumí se tomu tak, + že se výjimka očekávala. Pokud metoda vyvolá výjimku, rozumí se tím, + že se výjimka neočekávala a součástí výsledku testu + je zpráva vyvolané výjimky. Pomocí třídy je možné si usnadnit + práci. Pokud se použije a kontrolní výraz selže, + výsledek testu se nastaví na Neprůkazný. + + Výjimka vyvolaná testem jednotek + + + + Znovu vyvolá výjimku, pokud se jedná o atribut AssertFailedException nebo AssertInconclusiveException. + + Výjimka, která se má znovu vyvolat, pokud se jedná výjimku kontrolního výrazu + + + + Tato třída je koncipovaná tak, aby uživatelům pomáhala při testování jednotek typů, které využívá obecné typy. + Atribut GenericParameterHelper řeší některá běžná omezení obecných typů, + jako jsou: + 1. veřejný výchozí konstruktor + 2. implementace společného rozhraní: IComparable, IEnumerable + + + + + Inicializuje novou instanci třídy , která + splňuje omezení newable v obecných typech jazyka C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializuje novou instanci třídy , která + inicializuje vlastnost Data na hodnotu zadanou uživatelem. + + Libovolné celé číslo + + + + Získá nebo nastaví data. + + + + + Provede porovnání hodnot pro dva objekty GenericParameterHelper. + + objekt, se kterým chcete porovnávat + pravda, pokud má objekt stejnou hodnotu jako „tento“ objekt GenericParameterHelper. + V opačném případě nepravda. + + + + Vrátí pro tento objekt hodnotu hash. + + Kód hash + + + + Porovná data daných dvou objektů . + + Objekt pro porovnání + + Číslo se znaménkem označující relativní hodnoty této instance a hodnoty + + + Thrown when the object passed in is not an instance of . + + + + + Vrátí objekt IEnumerator, jehož délka je odvozená od + vlastnosti dat. + + Objekt IEnumerator + + + + Vrátí objekt GenericParameterHelper, který se rovná + aktuálnímu objektu. + + Klonovaný objekt + + + + Umožňuje uživatelům protokolovat/zapisovat trasování z testů jednotek pro účely diagnostiky. + + + + + Obslužná rutina pro LogMessage + + Zpráva, kterou chcete zaprotokolovat + + + + Událost pro naslouchání. Dojde k ní, když autor testů jednotek napíše zprávu. + Určeno především pro použití adaptérem. + + + + + Rozhraní API pro volání zpráv protokolu zapisovačem testu + + Formátovací řetězec se zástupnými symboly + Parametry pro zástupné symboly + + + + Atribut TestCategory, používá se pro zadání kategorie testu jednotek. + + + + + Inicializuje novou instanci třídy a zavede pro daný test kategorii. + + + Kategorie testu + + + + + Získá kategorie testu, které se nastavily pro test. + + + + + Základní třída atributu Category + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializuje novou instanci třídy . + Tuto kategorii zavede pro daný test. Řetězce vrácené z TestCategories + se použijí spolu s příkazem /category k filtrování testů. + + + + + Získá kategorii testu, která se nastavila pro test. + + + + + Třída AssertFailedException. Používá se pro značení chyby testovacího případu. + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Inicializuje novou instanci třídy . + + + + + Kolekce pomocných tříd pro testování nejrůznějších podmínek v rámci + testů jednotek. Pokud se testovaná podmínka nesplní, vyvolá se + výjimka. + + + + + Získá instanci typu singleton funkce Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Thrown if is false. + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je nepravda. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is false. + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je nepravda. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is false. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Thrown if is true. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je pravda. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is true. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je pravda. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is true. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Thrown if is null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is null. + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není instancí . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není instancí . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je instancí . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je instancí . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Vyvolá výjimku AssertFailedException. + + + Always thrown. + + + + + Vyvolá výjimku AssertFailedException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Always thrown. + + + + + Vyvolá výjimku AssertFailedException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Always thrown. + + + + + Statická přetížení operátoru rovnosti se používají k porovnání rovnosti odkazů na instance + dvou typů. Tato metoda by se neměla používat k porovnání rovnosti dvou + instancí. Tento objekt vždy vyvolá Assert.Fail. Ve svých testech + jednotek prosím použijte Assert.AreEqual a přidružená přetížení. + + Objekt A + Objekt B + Vždy nepravda. + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá AssertFailedException, pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá AssertFailedException, pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Nahradí znaky null ('\0') řetězcem "\\0". + + + Řetězec, který se má hledat + + + Převedený řetězec se znaky Null nahrazený řetězcem "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Pomocná funkce, která vytváří a vyvolává výjimku AssertionFailedException + + + název kontrolního výrazu, který vyvolává výjimku + + + zpráva popisující podmínky neplatnosti kontrolního výrazu + + + Parametry + + + + + Ověří parametr pro platné podmínky. + + + Parametr + + + Název kontrolního výrazu + + + název parametru + + + zpráva pro neplatnou výjimku parametru + + + Parametry + + + + + Bezpečně převede objekt na řetězec, včetně zpracování hodnot null a znaků null. + Hodnoty null se převádějí na formát (null). Znaky null se převádějí na \\0. + + + Objekt, který chcete převést na řetězec + + + Převedený řetězec + + + + + Kontrolní výraz řetězce + + + + + Získá instanci typu singleton funkce CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nezačíná na . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nezačíná na . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Thrown if does not end with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nekončí na . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if does not end with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nekončí na . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not end with + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + neodpovídá . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + neodpovídá . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Thrown if matches . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + odpovídá . Zpráva je zobrazena ve výsledcích + testu. + + + Thrown if matches . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + odpovídá . Zpráva je zobrazena ve výsledcích + testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if matches . + + + + + Kolekce tříd pomocných služeb pro ověřování nejrůznějších podmínek vztahujících se + na kolekce v rámci testů jednotek. Pokud se testovaná podmínka + nesplní, vyvolá se výjimka. + + + + + Získá instanci typu singleton funkce CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Thrown if is found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je v kolekci . Zpráva je zobrazena ve výsledcích + testu. + + + Thrown if is found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je v kolekci . Zpráva je zobrazena ve výsledcích + testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is found in + . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Thrown if a null element is found in . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje prvek Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if a null element is found in . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje prvek Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if a null element is found in . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje alespoň jeden duplicitní prvek. Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje alespoň jeden duplicitní prvek. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + se nenachází v podmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + se nenachází v podmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Zpráva, kterou chcete zahrnout do výjimky, pokud každý prvek v podmnožině + se nachází také v nadmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Zpráva, kterou chcete zahrnout do výjimky, pokud každý prvek v podmnožině + se nachází také v nadmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud byl nalezen prvek + v jedné z kolekcí, ale ne ve druhé. Zpráva je zobrazena + ve výsledcích testu. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud byl nalezen prvek + v jedné z kolekcí, ale ne ve druhé. Zpráva je zobrazena + ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje stejný prvek jako . Zpráva + je zobrazena ve výsledcích testu. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje stejný prvek jako . Zpráva + je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + není instancí typu + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + není instancí typu + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, když + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, když + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Určuje, jestli první kolekce je podmnožinou druhé + kolekce. Pokud některá z množin obsahuje duplicitní prvky, musí počet + výskytů prvku v podmnožině být menší, nebo + se musí rovnat počtu výskytů v nadmnožině. + + + Kolekce, která podle testu má být obsažena v nadmnožině . + + + Kolekce, která podle testu má obsahovat . + + + Pravda, pokud je podmnožinou + , jinak nepravda. + + + + + Vytvoří slovník obsahující počet výskytů jednotlivých + prvků v zadané kolekci. + + + Kolekce, kterou chcete zpracovat + + + Počet prvků Null v kolekci + + + Slovník obsahující počet výskytů jednotlivých prvků + v zadané kolekci. + + + + + Najde mezi dvěma kolekcemi neshodný prvek. Neshodný + prvek je takový, který má v očekávané kolekci + odlišný počet výskytů ve srovnání se skutečnou kolekcí. Kolekce + se považují za rozdílné reference bez hodnoty null se + stejným počtem prvků. Za tuto úroveň ověření odpovídá + volající. Pokud neexistuje žádný neshodný prvek, funkce vrátí + false a neměli byste použít parametry Out. + + + První kolekce, která se má porovnat + + + Druhá kolekce k porovnání + + + Očekávaný počet výskytů prvku + nebo 0, pokud není žádný nevyhovující + prvek. + + + Skutečný počet výskytů prvku + nebo 0, pokud není žádný nevyhovující + prvek. + + + Neshodný prvek (může být Null) nebo Null, pokud neexistuje žádný + neshodný prvek. + + + pravda, pokud je nalezen nevyhovující prvek; v opačném případě nepravda. + + + + + Porovná objekt pomocí atributu object.Equals. + + + + + Základní třída pro výjimky architektury + + + + + Inicializuje novou instanci třídy . + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Třída prostředků se silnými typy pro vyhledávání lokalizovaných řetězců atd. + + + + + Vrátí v mezipaměti uloženou instanci ResourceManager použitou touto třídou. + + + + + Přepíše vlastnost CurrentUICulture aktuálního vlákna pro všechna + vyhledávání prostředků pomocí této třídy prostředků silného typu. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Přístupový řetězec má neplatnou syntaxi. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Očekávaná kolekce obsahuje počet výskytů {1} <{2}>. Skutečná kolekce obsahuje tento počet výskytů: {3}. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Našla se duplicitní položka:<{1}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Očekáváno:<{1}>. Případ je rozdílný pro skutečnou hodnotu:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Mezi očekávanou hodnotou <{1}> a skutečnou hodnotou <{2}> se očekává rozdíl maximálně <{3}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekáváno:<{1} ({2})>. Skutečnost:<{3} ({4})>. {0}. + + + + + Vyhledá řetězec podobný řetězci Očekáváno:<{1}>. Skutečnost:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Mezi očekávanou hodnotou <{1}> a skutečnou hodnotou <{2}> se očekával rozdíl větší než <{3}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekávala se libovolná hodnota s výjimkou:<{1}>. Skutečnost:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nevkládejte hodnotu typů do AreSame(). Hodnoty převedené na typ Object nebudou nikdy stejné. Zvažte možnost použít AreEqual(). {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Chyba {0}. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: async TestMethod s atributem UITestMethodAttribute se nepodporují. Buď odeberte async, nebo použijte TestMethodAttribute. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce jsou prázdné. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce obsahují stejný prvek. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě reference kolekce odkazují na stejný objekt kolekce. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce obsahují stejné prvky. {0}. + + + + + Vyhledá řetězec podobný řetězci {0}({1}). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (null). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (objekt). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} neobsahuje řetězec {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci {0} ({1}). + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Atribut Assert.Equals by se neměl používat pro kontrolní výrazy. Použijte spíše Assert.AreEqual a přetížení. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Počet prvků v kolekci se neshoduje. Očekáváno:<{1}>. Skutečnost:<{2}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Prvek indexu {0} se neshoduje. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Prvek indexu {1} je neočekávaného typu. Očekávaný typ:<{2}>. Skutečný typ:<{3}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Prvek indexu {1} je (null). Očekávaný typ:<{2}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} nekončí řetězcem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Neplatný argument: EqualsTester nemůže použít hodnoty null. + + + + + Vyhledá řetězec podobný řetězci Nejde převést objekt typu {0} na {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Interní odkazovaný objekt už není platný. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Parametr {0} je neplatný. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Vlastnost {0} má typ {1}; očekávaný typ {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci {0} Očekávaný typ:<{1}>. Skutečný typ:<{2}>. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} se neshoduje se vzorkem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Nesprávný typ:<{1}>. Skutečný typ:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} se shoduje se vzorkem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nezadal se žádný atribut DataRowAttribute. K atributu DataTestMethodAttribute se vyžaduje aspoň jeden atribut DataRowAttribute. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nevyvolala se žádná výjimka. Očekávala se výjimka {1}. {0}. + + + + + Vyhledá lokalizované řetězce podobné tomuto: Parametr {0} je neplatný. Hodnota nemůže být null. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Rozdílný počet prvků. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci + Konstruktor se zadaným podpisem se nenašel. Pravděpodobně budete muset obnovit privátní přístupový objekt, + nebo je člen pravděpodobně privátní a založený na základní třídě. Pokud je pravdivý druhý zmíněný případ, musíte vložit typ + definující člen do konstruktoru objektu PrivateObject. + + + + + + Vyhledá lokalizovaný řetězec podobný řetězci + Zadaný člen ({0}) se nenašel. Pravděpodobně budete muset obnovit privátní přístupový objekt, + nebo je člen pravděpodobně privátní a založený na základní třídě. Pokud je pravdivý druhý zmíněný případ, musíte vložit typ + definující člen do konstruktoru atributu PrivateObject. + + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} nezačíná řetězcem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekávaný typ výjimky musí být System.Exception nebo typ odvozený od System.Exception. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (Z důvodu výjimky se nepodařilo získat zprávu pro výjimku typu {0}.). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Testovací metoda nevyvolala očekávanou výjimku {0}. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda nevyvolala výjimku. Atribut {0} definovaný testovací metodou očekával výjimku. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda vyvolala výjimku {0}, ale očekávala se výjimka {1}. Zpráva o výjimce: {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda vyvolala výjimku {0}, očekávala se ale odvozená výjimka {1} nebo typ. Zpráva o výjimce: {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Vyvolala se výjimka {2}, ale očekávala se výjimka {1}. {0} + Zpráva o výjimce: {3} + Trasování zásobníku: {4} + + + + + Výsledky testu jednotek + + + + + Test se provedl, ale došlo k problémům. + Problémy se můžou týkat výjimek nebo neúspěšných kontrolních výrazů. + + + + + Test se dokončil, ale není možné zjistit, jestli byl úspěšný, nebo ne. + Dá se použít pro zrušené testy. + + + + + Test se provedl zcela bez problémů. + + + + + V tuto chvíli probíhá test. + + + + + Při provádění testu došlo k chybě systému. + + + + + Časový limit testu vypršel. + + + + + Test byl zrušen uživatelem. + + + + + Test je v neznámém stavu. + + + + + Poskytuje pomocnou funkci pro systém pro testy jednotek. + + + + + Rekurzivně získá zprávy o výjimce, včetně zpráv pro všechny vnitřní + výjimky. + + Výjimka pro načítání zpráv pro + řetězec s informacemi v chybové zprávě + + + + Výčet pro časové limity, který se dá použít spolu s třídou . + Typ výčtu musí odpovídat + + + + + Nekonečno + + + + + Atribut třídy testu + + + + + Získá atribut testovací metody, který umožní spustit tento test. + + Instance atributu testovací metody definované v této metodě. + Typ Použije se ke spuštění tohoto testu. + Extensions can override this method to customize how all methods in a class are run. + + + + Atribut testovací metody + + + + + Spustí testovací metodu. + + Testovací metoda, která se má spustit. + Pole objektů TestResult, které představuje výsledek (nebo výsledky) daného testu. + Extensions can override this method to customize running a TestMethod. + + + + Atribut inicializace testu + + + + + Atribut vyčištění testu + + + + + Atribut ignore + + + + + Atribut vlastnosti testu + + + + + Inicializuje novou instanci třídy . + + + Název + + + Hodnota + + + + + Získá název. + + + + + Získá hodnotu. + + + + + Atribut inicializace třídy + + + + + Atribut vyčištění třídy + + + + + Atribut inicializace sestavení + + + + + Atribut vyčištění sestavení + + + + + Vlastník testu + + + + + Inicializuje novou instanci třídy . + + + Vlastník + + + + + Získá vlastníka. + + + + + Atribut priority, používá se pro určení priority testu jednotek. + + + + + Inicializuje novou instanci třídy . + + + Priorita + + + + + Získá prioritu. + + + + + Popis testu + + + + + Inicializuje novou instanci třídy , která popíše test. + + Popis + + + + Získá popis testu. + + + + + Identifikátor URI struktury projektů CSS + + + + + Inicializuje novou instanci třídy pro identifikátor URI struktury projektů CSS. + + Identifikátor URI struktury projektů CSS + + + + Získá identifikátor URI struktury projektů CSS. + + + + + Identifikátor URI iterace CSS + + + + + Inicializuje novou instanci třídy pro identifikátor URI iterace CSS. + + Identifikátor URI iterace CSS + + + + Získá identifikátor URI iterace CSS. + + + + + Atribut WorkItem, používá se pro zadání pracovní položky přidružené k tomuto testu. + + + + + Inicializuje novou instanci třídy pro atribut WorkItem. + + ID pro pracovní položku + + + + Získá ID k přidružené pracovní položce. + + + + + Atribut časového limitu, používá se pro zadání časového limitu testu jednotek. + + + + + Inicializuje novou instanci třídy . + + + Časový limit + + + + + Inicializuje novou instanci třídy s předem nastaveným časovým limitem. + + + Časový limit + + + + + Získá časový limit. + + + + + Objekt TestResult, který se má vrátit adaptéru + + + + + Inicializuje novou instanci třídy . + + + + + Získá nebo nastaví zobrazovaný název výsledku. Vhodné pro vrácení většího počtu výsledků. + Pokud je null, jako DisplayName se použije název metody. + + + + + Získá nebo nastaví výsledek provedení testu. + + + + + Získá nebo nastaví výjimku vyvolanou při chybě testu. + + + + + Získá nebo nastaví výstup zprávy zaprotokolované testovacím kódem. + + + + + Získá nebo nastaví výstup zprávy zaprotokolované testovacím kódem. + + + + + Získá nebo načte trasování ladění testovacího kódu. + + + + + Gets or sets the debug traces by test code. + + + + + Získá nebo nastaví délku trvání testu. + + + + + Získá nebo nastaví index řádku dat ve zdroji dat. Nastavte pouze pro výsledky jednoho + spuštění řádku dat v testu řízeném daty. + + + + + Získá nebo nastaví návratovou hodnotu testovací metody. (Aktuálně vždy null) + + + + + Získá nebo nastaví soubory s výsledky, které připojil test. + + + + + Určuje připojovací řetězec, název tabulky a metodu přístupu řádku pro testování řízené daty. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Název výchozího poskytovatele pro DataSource + + + + + Výchozí metoda pro přístup k datům + + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s poskytovatelem dat, připojovacím řetězcem, tabulkou dat a přístupovou metodou k datům, pomocí kterých se získá přístup ke zdroji dat. + + Název poskytovatele neutrálních dat, jako je System.Data.SqlClient + + Připojovací řetězec specifický pro poskytovatele dat. + UPOZORNĚNÍ: Připojovací řetězec může obsahovat citlivé údaje (třeba heslo). + Připojovací řetězec se ukládá v podobě prostého textu ve zdrojovém kódu a v kompilovaném sestavení. + Tyto citlivé údaje zabezpečíte omezením přístupu ke zdrojovému kódu a sestavení. + + Název tabulky dat + Určuje pořadí přístupu k datům. + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s připojovacím řetězcem a názvem tabulky. + Zadejte připojovací řetězec a tabulku dat, pomocí kterých se získá přístup ke zdroji dat OLEDB. + + + Připojovací řetězec specifický pro poskytovatele dat. + UPOZORNĚNÍ: Připojovací řetězec může obsahovat citlivé údaje (třeba heslo). + Připojovací řetězec se ukládá v podobě prostého textu ve zdrojovém kódu a v kompilovaném sestavení. + Tyto citlivé údaje zabezpečíte omezením přístupu ke zdrojovému kódu a sestavení. + + Název tabulky dat + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s poskytovatelem dat a připojovacím řetězcem přidruženým k názvu nastavení. + + Název zdroje dat nalezený v oddílu <microsoft.visualstudio.qualitytools> souboru app.config. + + + + Získá hodnotu představující poskytovatele dat zdroje dat. + + + Název poskytovatele dat. Pokud poskytovatel dat nebyl při inicializaci objektu zadán, bude vrácen výchozí poskytovatel System.Data.OleDb. + + + + + Získá hodnotu představující připojovací řetězec zdroje dat. + + + + + Získá hodnotu označující název tabulky poskytující data. + + + + + Získá metodu používanou pro přístup ke zdroji dat. + + + + Jedna z těchto položek: . Pokud není inicializován, vrátí výchozí hodnotu . + + + + + Získá název zdroje dat nalezeného v části <microsoft.visualstudio.qualitytools> v souboru app.config. + + + + + Atribut testu řízeného daty, kde se data dají zadat jako vložená. + + + + + Vyhledá všechny datové řádky a spustí je. + + + Testovací metoda + + + Pole . + + + + + Spustí testovací metodu řízenou daty. + + Testovací metoda, kterou chcete provést. + Datový řádek + Výsledek provedení + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..ae68026 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod für die Ausführung. + + + + + Ruft den Namen der Testmethode ab. + + + + + Ruft den Namen der Testklasse ab. + + + + + Ruft den Rückgabetyp der Testmethode ab. + + + + + Ruft die Parameter der Testmethode ab. + + + + + Ruft die methodInfo der Testmethode ab. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Ruft die Testmethode auf. + + + An die Testmethode zu übergebende Argumente (z. B. für datengesteuerte Tests). + + + Das Ergebnis des Testmethodenaufrufs. + + + This call handles asynchronous test methods as well. + + + + + Ruft alle Attribute der Testmethode ab. + + + Gibt an, ob das in der übergeordneten Klasse definierte Attribut gültig ist. + + + Alle Attribute. + + + + + Ruft ein Attribut eines bestimmten Typs ab. + + System.Attribute type. + + Gibt an, ob das in der übergeordneten Klasse definierte Attribut gültig ist. + + + Die Attribute des angegebenen Typs. + + + + + Das Hilfsprogramm. + + + + + Der check-Parameter ungleich null. + + + Der Parameter. + + + Der Parametername. + + + Die Meldung. + + Throws argument null exception when parameter is null. + + + + Der check-Parameter ungleich null oder leer. + + + Der Parameter. + + + Der Parametername. + + + Die Meldung. + + Throws ArgumentException when parameter is null. + + + + Enumeration für die Art des Zugriffs auf Datenzeilen in datengesteuerten Tests. + + + + + Zeilen werden in sequenzieller Reihenfolge zurückgegeben. + + + + + Zeilen werden in zufälliger Reihenfolge zurückgegeben. + + + + + Attribut zum Definieren von Inlinedaten für eine Testmethode. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Das Datenobjekt. + + + + Initialisiert eine neue Instanz der -Klasse, die ein Array aus Argumenten akzeptiert. + + Ein Datenobjekt. + Weitere Daten. + + + + Ruft Daten für den Aufruf der Testmethode ab. + + + + + Ruft den Anzeigenamen in den Testergebnissen für die Anpassung ab. + + + + + Die nicht eindeutige Assert-Ausnahme. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Die InternalTestFailureException-Klasse. Wird zum Angeben eines internen Fehlers für einen Testfall verwendet. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Ausnahmemeldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Ausnahmemeldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Ein Attribut, das angibt, dass eine Ausnahme des angegebenen Typs erwartet wird + + + + + Initialisiert eine neue Instanz der -Klasse mit dem erwarteten Typ + + Der Typ der erwarteten Ausnahme. + + + + Initialisiert eine neue Instanz der-Klasse mit + dem erwarteten Typ und der einzuschließenden Meldung, wenn vom Test keine Ausnahme ausgelöst wurde. + + Der Typ der erwarteten Ausnahme. + + Die Meldung, die in das Testergebnis eingeschlossen werden soll, wenn beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft einen Wert ab, der den Typ der erwarteten Ausnahme angibt. + + + + + Ruft einen Wert ab, der angibt, ob es zulässig ist, dass vom Typ der erwarteten Ausnahme abgeleitete Typen + als erwartet qualifiziert werden. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Überprüft, ob der Typ der vom Komponententest ausgelösten Ausnahme erwartet wird. + + Die vom Komponententest ausgelöste Ausnahme. + + + + Basisklasse für Attribute, die angeben, dass eine Ausnahme aus einem Komponententest erwartet wird. + + + + + Initialisiert eine neue Instanz der -Klasse mit einer standardmäßigen "no-exception"-Meldung. + + + + + Initialisiert eine neue Instanz der -Klasse mit einer 2no-exception"-Meldung + + + Die Meldung, die in das Testergebnis eingeschlossen werden soll, wenn beim Test ein Fehler auftritt, + weil keine Ausnahme ausgelöst wird. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft die standardmäßige Nichtausnahmemeldung ab. + + Der Typname des ExpectedException-Attributs. + Die standardmäßige Nichtausnahmemeldung. + + + + Ermittelt, ob die Annahme erwartet ist. Wenn die Methode zurückkehrt, wird davon ausgegangen, + dass die Annahme erwartet war. Wenn die Methode eine Ausnahme auslöst, + wird davon ausgegangen, dass die Ausnahme nicht erwartet war, und die Meldung + der ausgelösten Ausnahme wird in das Testergebnis eingeschlossen. Die -Klasse wird aus Gründen der + Zweckmäßigkeit bereitgestellt. Wenn verwendet wird und ein Fehler der Assertion auftritt, + wird das Testergebnis auf Inconclusive festgelegt. + + Die vom Komponententest ausgelöste Ausnahme. + + + + Löst die Ausnahme erneut aus, wenn es sich um eine AssertFailedException oder eine AssertInconclusiveException handelt. + + Die Ausnahme, die erneut ausgelöst werden soll, wenn es sich um eine Assertionausnahme handelt. + + + + Diese Klasse unterstützt Benutzer beim Ausführen von Komponententests für Typen, die generische Typen verwenden. + GenericParameterHelper erfüllt einige allgemeine generische Typeinschränkungen, + beispielsweise: + 1. öffentlicher Standardkonstruktor + 2. implementiert allgemeine Schnittstellen: IComparable, IEnumerable + + + + + Initialisiert eine neue Instanz der -Klasse, die + die Einschränkung "newable" in C#-Generika erfüllt. + + + This constructor initializes the Data property to a random value. + + + + + Initialisiert eine neue Instanz der-Klasse, die + die Data-Eigenschaft mit einem vom Benutzer bereitgestellten Wert initialisiert. + + Ein Integerwert + + + + Ruft die Daten ab oder legt sie fest. + + + + + Führt den Wertvergleich für zwei GenericParameterHelper-Objekte aus. + + Das Objekt, mit dem der Vergleich ausgeführt werden soll. + TRUE, wenn das Objekt den gleichen Wert wie "dieses" GenericParameterHelper-Objekt aufweist. + Andernfalls FALSE. + + + + Gibt einen Hashcode für diese Objekt zurück. + + Der Hash. + + + + Vergleicht die Daten der beiden -Objekte. + + Das Objekt, mit dem verglichen werden soll. + + Eine signierte Zahl, die die relativen Werte dieser Instanz und dieses Werts angibt. + + + Thrown when the object passed in is not an instance of . + + + + + Gibt ein IEnumerator-Objekt zurück, dessen Länge aus + der Data-Eigenschaft abgeleitet ist. + + Das IEnumerator-Objekt + + + + Gibt ein GenericParameterHelper-Objekt zurück, das gleich + dem aktuellen Objekt ist. + + Das geklonte Objekt. + + + + Ermöglicht Benutzern das Protokollieren/Schreiben von Ablaufverfolgungen aus Komponententests für die Diagnose. + + + + + Handler für LogMessage. + + Die zu protokollierende Meldung. + + + + Zu überwachendes Ereignis. Wird ausgelöst, wenn der Komponententestwriter eine Meldung schreibt. + Wird hauptsächlich von Adaptern verwendet. + + + + + Vom Testwriter aufzurufende API zum Protokollieren von Meldungen. + + Das Zeichenfolgenformat mit Platzhaltern. + Parameter für Platzhalter. + + + + Das TestCategory-Attribut. Wird zum Angeben der Kategorie eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse und wendet die Kategorie auf den Test an. + + + Die test-Kategorie. + + + + + Ruft die Testkategorien ab, die auf den Test angewendet wurden. + + + + + Die Basisklasse für das Category-Attribut. + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initialisiert eine neue Instanz der -Klasse. + Wendet die Kategorie auf den Test an. Die von TestCategories + zurückgegebenen Zeichenfolgen werden mit dem Befehl "/category" zum Filtern von Tests verwendet. + + + + + Ruft die Testkategorie ab, die auf den Test angewendet wurde. + + + + + Die AssertFailedException-Klasse. Wird zum Angeben eines Fehlers für einen Testfall verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Eine Sammlung von Hilfsklassen zum Testen verschiedener Bedingungen in + Komponententests. Wenn die getestete Bedingung nicht erfüllt wird, wird eine Ausnahme + ausgelöst. + + + + + Ruft die Singleton-Instanz der Assert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + FALSE ist. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + FALSE ist. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Thrown if is true. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist TRUE. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is true. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist TRUE. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is true. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Thrown if is null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is null. + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Löst eine AssertFailedException aus. + + + Always thrown. + + + + + Löst eine AssertFailedException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Always thrown. + + + + + Löst eine AssertFailedException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Always thrown. + + + + + Statische equals-Überladungen werden zum Vergleichen von Instanzen zweier Typen für + Verweisgleichheit verwendet. Diese Methode sollte nicht zum Vergleichen von zwei Instanzen auf + Gleichheit verwendet werden. Dieses Objekt löst immer einen Assert.Fail aus. Verwenden Sie + Assert.AreEqual und zugehörige Überladungen in Ihren Komponententests. + + Objekt A + Objekt B + Immer FALSE. + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Testet, ob der von Delegat angegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und AssertFailedException auslöst, wenn der Code keine Ausnahme auslöst oder einen anderen Typ als auslöst. + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Testet, ob der von Delegat angegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und AssertFailedException auslöst, wenn der Code keine Ausnahme auslöst oder einen anderen Typ als auslöst. + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Ersetzt Nullzeichen ("\0") durch "\\0". + + + Die Zeichenfolge, nach der gesucht werden soll. + + + Die konvertierte Zeichenfolge, in der Nullzeichen durch "\\0" ersetzt wurden. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Eine Hilfsfunktion, die eine AssertionFailedException erstellt und auslöst. + + + Der Name der Assertion, die eine Ausnahme auslöst. + + + Eine Meldung, die Bedingungen für den Assertionfehler beschreibt. + + + Die Parameter. + + + + + Überprüft den Parameter auf gültige Bedingungen. + + + Der Parameter. + + + Der Name der Assertion. + + + Parametername + + + Meldung für die ungültige Parameterausnahme. + + + Die Parameter. + + + + + Konvertiert ein Objekt sicher in eine Zeichenfolge und verarbeitet dabei NULL-Werte und Nullzeichen. + NULL-Werte werden in "(null)" konvertiert. Nullzeichen werden in "\\0" konvertiert". + + + Das Objekt, das in eine Zeichenfolge konvertiert werden soll. + + + Die konvertierte Zeichenfolge. + + + + + Die Zeichenfolgenassertion. + + + + + Ruft die Singleton-Instanz der CollectionAssert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + beginnt nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + beginnt nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + endet nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + endet nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + keine Übereinstimmung vorliegt. . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + keine Übereinstimmung vorliegt. . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Thrown if matches . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + Übereinstimmungen . Die Meldung wird in den Testergebnissen + angezeigt. + + + Thrown if matches . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + Übereinstimmungen . Die Meldung wird in den Testergebnissen + angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if matches . + + + + + Eine Sammlung von Hilfsklassen zum Testen verschiedener Bedingungen, die + Sammlungen in Komponententests zugeordnet sind. Wenn die getestete Bedingung nicht + erfüllt wird, wird eine Ausnahme ausgelöst. + + + + + Ruft die Singleton-Instanz der CollectionAssert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Thrown if is found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist in . Die Meldung wird in den Testergebnissen + angezeigt. + + + Thrown if is found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist in . Die Meldung wird in den Testergebnissen + angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält ein Nullelement. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält ein Nullelement. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält mindestens ein Elementduplikat. Die Meldung wird in + den Testergebnissen angezeigt. + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält mindestens ein Elementduplikat. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + wurde nicht gefunden in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + wurde nicht gefunden in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Thrown if every element in is also found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn jedes Element in + auch gefunden wird in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if every element in is also found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn jedes Element in + auch gefunden wird in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if every element in is also found in + . + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in einer + der Sammlungen gefunden wurde, aber nicht in der anderen. Die Meldung wird in + den Testergebnissen angezeigt. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in einer + der Sammlungen gefunden wurde, aber nicht in der anderen. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält die gleichen Elemente wie . Die Meldung + wird in den Testergebnissen angezeigt. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält die gleichen Elemente wie . Die Meldung + wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + ist keine Instanz von + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + ist keine Instanz von + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Ermittelt, ob die erste Sammlung eine Teilmenge der zweiten + Sammlung ist. Wenn eine der Mengen Elementduplikate enthält, muss die Anzahl + der Vorkommen des Elements in der Teilmenge kleiner oder + gleich der Anzahl der Vorkommen in der Obermenge sein. + + + Die Sammlung, von der der Test erwartet, dass sie enthalten ist in . + + + Die Sammlung, von der der Test erwartet, dass sie Folgendes enthält: . + + + TRUE, wenn: eine Teilmenge ist von + , andernfalls FALSE. + + + + + Generiert ein Wörterbuch, das Anzahl der Vorkommen jedes + Elements in der angegebenen Sammlung enthält. + + + Die zu verarbeitende Sammlung. + + + Die Anzahl der Nullelemente in der Sammlung. + + + Ein Wörterbuch, das Anzahl der Vorkommen jedes + Elements in der angegebenen Sammlung enthält. + + + + + Findet ein nicht übereinstimmendes Element in den beiden Sammlungen. Ein nicht übereinstimmendes + Element ist ein Element, für das sich die Anzahl der Vorkommen in der + erwarteten Sammlung von der Anzahl der Vorkommen in der tatsächlichen Sammlung unterscheidet. Von den + Sammlungen wird angenommen, dass unterschiedliche Verweise ungleich null mit der + gleichen Anzahl von Elementen vorhanden sind. Der Aufrufer ist für diese Ebene + der Überprüfung verantwortlich. Wenn kein nicht übereinstimmendes Element vorhanden ist, gibt die Funktion FALSE + zurück, und die out-Parameter sollten nicht verwendet werden. + + + Die erste zu vergleichende Sammlung. + + + Die zweite zu vergleichende Sammlung. + + + Die erwartete Anzahl von Vorkommen von + oder 0, wenn kein nicht übereinstimmendes + Element vorhanden ist. + + + Die tatsächliche Anzahl von Vorkommen von + oder 0, wenn kein nicht übereinstimmendes + Element vorhanden ist. + + + Das nicht übereinstimmende Element (kann NULL sein) oder NULL, wenn kein nicht + übereinstimmendes Element vorhanden ist. + + + TRUE, wenn ein nicht übereinstimmendes Element gefunden wurde, andernfalls FALSE. + + + + + vergleicht die Objekte mithilfe von object.Equals + + + + + Basisklasse für Frameworkausnahmen. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Eine stark typisierte Ressourcenklasse zum Suchen nach lokalisierten Zeichenfolgen usw. + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcensuchen mithilfe dieser stark typisierten Ressourcenklasse. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zugriffszeichenfolge weist ungültige Syntax auf." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartete Sammlung enthält {1} Vorkommen von <{2}>. Die tatsächliche Sammlung enthält {3} Vorkommen. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Elementduplikat gefunden: <{1}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1}>. Groß-/Kleinschreibung unterscheidet sich für den tatsächlichen Wert: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Differenz nicht größer als <{3}> zwischen erwartetem Wert <{1}> und tatsächlichem Wert <{2}> erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1} ({2})>. Tatsächlich: <{3} ({4})>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Differenz größer als <{3}> zwischen erwartetem Wert <{1}> und tatsächlichem Wert <{2}> erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beliebiger Wert erwartet, ausgenommen: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Übergeben Sie keine Werttypen an AreSame(). In Object konvertierte Werte sind nie gleich. Verwenden Sie ggf. AreEqual(). {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Fehler von {0}. {1}" nach. + + + + + Sucht nach einer lokalisierten Zeichenfolge ähnlich der folgenden: "async TestMethod" wird mit UITestMethodAttribute nicht unterstützt. Entfernen Sie "async", oder verwenden Sie TestMethodAttribute. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen sind leer. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen enthalten die gleichen Elemente." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungsverweise zeigen auf das gleiche Sammlungsobjekt. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen enthalten die gleichen Elemente. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0}({1})." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(null)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(object)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' enthält nicht Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0} ({1})." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Assert.Equals sollte für Assertionen nicht verwendet werden. Verwenden Sie stattdessen Assert.AreEqual & Überladungen." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Anzahl der Elemente in den Sammlungen stimmt nicht überein. Erwartet: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {0} stimmt nicht überein." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {1} weist nicht den erwarteten Typ auf. Erwarteter Typ: <{2}>. Tatsächlicher Typ: <{3}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {1} ist (null). Erwarteter Typ: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' endet nicht mit Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Ungültiges Argument: EqualsTester darf keine NULL-Werte verwenden." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Objekt vom Typ {0} kann nicht in {1} konvertiert werden." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Das referenzierte interne Objekt ist nicht mehr gültig." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der Parameter '{0}' ist ungültig. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Eigenschaft {0} weist den Typ {1} auf. Erwartet wurde der Typ {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0} Erwarteter Typ: <{1}>. Tatsächlicher Typ: <{2}>." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' stimmt nicht mit dem Muster '{1}' überein. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Falscher Typ: <{1}>. Tatsächlicher Typ: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' stimmt mit dem Muster '{1}' überein. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Kein DataRowAttribute angegeben. Mindestens ein DataRowAttribute ist mit DataTestMethodAttribute erforderlich." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Keine Ausnahme ausgelöst. {1}-Ausnahme wurde erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der Parameter '{0}' ist ungültig. Der Wert darf nicht NULL sein. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Unterschiedliche Anzahl von Elementen." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich + "Der Konstruktor mit der angegebenen Signatur wurde nicht gefunden. Möglicherweise müssen Sie Ihren privaten Accessor erneut generieren, + oder der Member ist ggf. privat und für eine Basisklasse definiert. Wenn Letzteres zutrifft, müssen Sie den Typ an den + Konstruktor von PrivateObject übergeben, der den Member definiert." nach. + . + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich + "Der angegebene Member ({0}) wurde nicht gefunden. Möglicherweise müssen Sie Ihren privaten Accessor erneut generieren, + oder der Member ist ggf. privat und für eine Basisklasse definiert. Wenn Letzteres zutrifft, müssen Sie den Typ an den + Konstruktor von PrivateObject übergeben, der den Member definiert." nach. + . + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Zeichenfolge '{0}' beginnt nicht mit der Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der erwartete Ausnahmetyp muss System.Exception oder ein von System.Exception abgeleiteter Typ sein." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(Fehler beim Abrufen der Meldung vom Typ {0} aufgrund einer Ausnahme.)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat erwartete Ausnahme {0} nicht ausgelöst. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Testmethode hat keine Ausnahme ausgelöst. Vom Attribut {0}, das für die Testmethode definiert ist, wurde eine Ausnahme erwartet." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat Ausnahme {0} ausgelöst, aber Ausnahme {1} wurde erwartet. Ausnahmemeldung: {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat Ausnahme {0} ausgelöst, aber Ausnahme {1} oder ein davon abgeleiteter Typ wurde erwartet. Ausnahmemeldung: {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Ausnahme {2} wurde ausgelöst, aber Ausnahme {1} wurde erwartet. {0} + Ausnahmemeldung: {3} + Stapelüberwachung: {4}" nach. + + + + + Ergebnisse des Komponententests + + + + + Der Test wurde ausgeführt, aber es gab Probleme. + Möglicherweise liegen Ausnahmen oder Assertionsfehler vor. + + + + + Der Test wurde abgeschlossen, es lässt sich aber nicht sagen, ob er bestanden wurde oder fehlerhaft war. + Kann für abgebrochene Tests verwendet werden. + + + + + Der Test wurde ohne Probleme ausgeführt. + + + + + Der Test wird zurzeit ausgeführt. + + + + + Systemfehler beim Versuch, einen Test auszuführen. + + + + + Timeout des Tests. + + + + + Der Test wurde vom Benutzer abgebrochen. + + + + + Der Test weist einen unbekannten Zustand auf. + + + + + Stellt Hilfsfunktionen für das Komponententestframework bereit. + + + + + Ruft die Ausnahmemeldungen (einschließlich der Meldungen für alle inneren Ausnahmen) + rekursiv ab. + + Ausnahme, für die Meldungen abgerufen werden sollen + Zeichenfolge mit Fehlermeldungsinformationen + + + + Enumeration für Timeouts, die mit der -Klasse verwendet werden kann. + Der Typ der Enumeration muss entsprechen: + + + + + Unendlich. + + + + + Das Testklassenattribut. + + + + + Erhält ein Testmethodenattribut, das die Ausführung des Tests ermöglicht. + + Die für diese Methode definierte Attributinstanz der Testmethode. + Diezum Ausführen dieses Tests + Extensions can override this method to customize how all methods in a class are run. + + + + Das Testmethodenattribut. + + + + + Führt eine Testmethode aus. + + Die auszuführende Textmethode. + Ein Array aus TestResult-Objekten, die für die Ergebnisses des Tests stehen. + Extensions can override this method to customize running a TestMethod. + + + + Das Testinitialisierungsattribut. + + + + + Das Testbereinigungsattribut. + + + + + Das Ignorierattribut. + + + + + Das Testeigenschaftattribut. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Der Name. + + + Der Wert. + + + + + Ruft den Namen ab. + + + + + Ruft den Wert ab. + + + + + Das Klasseninitialisierungsattribut. + + + + + Das Klassenbereinigungsattribut. + + + + + Das Assemblyinitialisierungsattribut. + + + + + Das Assemblybereinigungsattribut. + + + + + Der Testbesitzer. + + + + + Initialisiert eine neue Instanz der-Klasse. + + + Der Besitzer. + + + + + Ruft den Besitzer ab. + + + + + Prioritätsattribut. Wird zum Angeben der Priorität eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Die Priorität. + + + + + Ruft die Priorität ab. + + + + + Die Beschreibung des Tests. + + + + + Initialisiert eine neue Instanz der -Klasse zum Beschreiben eines Tests. + + Die Beschreibung. + + + + Ruft die Beschreibung eines Tests ab. + + + + + Der URI der CSS-Projektstruktur. + + + + + Initialisiert eine neue Instanz der -Klasse der CSS Projektstruktur-URI. + + Der CSS-Projektstruktur-URI. + + + + Ruft den CSS-Projektstruktur-URI ab. + + + + + Der URI der CSS-Iteration. + + + + + Initialisiert eine neue Instanz der-Klasse für den CSS Iterations-URI. + + Der CSS-Iterations-URI. + + + + Ruft den CSS-Iterations-URI ab. + + + + + WorkItem-Attribut. Wird zum Angeben eines Arbeitselements verwendet, das diesem Test zugeordnet ist. + + + + + Initialisiert eine neue Instanz der-Klasse für das WorkItem-Attribut. + + Die ID eines Arbeitselements. + + + + Ruft die ID für ein zugeordnetes Arbeitselement ab. + + + + + Timeoutattribut. Wird zum Angeben des Timeouts eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Das Timeout. + + + + + Initialisiert eine neue Instanz der -Klasse mit einem voreingestellten Timeout. + + + Das Timeout. + + + + + Ruft das Timeout ab. + + + + + Das TestResult-Objekt, das an den Adapter zurückgegeben werden soll. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Ruft den Anzeigenamen des Ergebnisses ab oder legt ihn fest. Hilfreich, wenn mehrere Ergebnisse zurückgegeben werden. + Wenn NULL, wird der Methodenname als DisplayName verwendet. + + + + + Ruft das Ergebnis der Testausführung ab oder legt es fest. + + + + + Ruft die Ausnahme ab, die bei einem Testfehler ausgelöst wird, oder legt sie fest. + + + + + Ruft die Ausgabe der Meldung ab, die vom Testcode protokolliert wird, oder legt sie fest. + + + + + Ruft die Ausgabe der Meldung ab, die vom Testcode protokolliert wird, oder legt sie fest. + + + + + Ruft die Debugablaufverfolgungen nach Testcode fest oder legt sie fest. + + + + + Gets or sets the debug traces by test code. + + + + + Ruft die Dauer der Testausführung ab oder legt sie fest. + + + + + Ruft den Datenzeilenindex in der Datenquelle ab, oder legt ihn fest. Nur festgelegt für Ergebnisse einer individuellen + Ausführung einer Datenzeile eines datengesteuerten Tests. + + + + + Ruft den Rückgabewert der Testmethode ab (zurzeit immer NULL). + + + + + Ruft die vom Test angehängten Ergebnisdateien ab, oder legt sie fest. + + + + + Gibt die Verbindungszeichenfolge, den Tabellennamen und die Zeilenzugriffsmethode für datengesteuerte Tests an. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Der Standardanbietername für DataSource. + + + + + Die standardmäßige Datenzugriffsmethode. + + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einem Datenanbieter, einer Verbindungszeichenfolge, einer Datentabelle und einer Datenzugriffsmethode für den Zugriff auf die Daten initialisiert. + + Invarianter Datenanbietername, z. B. "System.Data.SqlClient" + + Die für den Datenanbieter spezifische Verbindungszeichenfolge. + WARNUNG: Die Verbindungszeichenfolge kann sensible Daten (z. B. ein Kennwort) enthalten. + Die Verbindungszeichenfolge wird als Nur-Text im Quellcode und in der kompilierten Assembly gespeichert. + Schränken Sie den Zugriff auf den Quellcode und die Assembly ein, um diese vertraulichen Informationen zu schützen. + + Der Name der Datentabelle. + Gibt die Reihenfolge für den Datenzugriff an. + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einer Verbindungszeichenfolge und einem Tabellennamen initialisiert. + Geben Sie eine Verbindungszeichenfolge und Datentabelle an, um auf die OLEDB-Datenquelle zuzugreifen. + + + Die für den Datenanbieter spezifische Verbindungszeichenfolge. + WARNUNG: Die Verbindungszeichenfolge kann sensible Daten (z. B. ein Kennwort) enthalten. + Die Verbindungszeichenfolge wird als Nur-Text im Quellcode und in der kompilierten Assembly gespeichert. + Schränken Sie den Zugriff auf den Quellcode und die Assembly ein, um diese vertraulichen Informationen zu schützen. + + Der Name der Datentabelle. + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einem Datenanbieter und einer Verbindungszeichenfolge mit dem Namen der Einstellung initialisiert. + + Der Name einer Datenquelle, die im Abschnitt <microsoft.visualstudio.qualitytools> in der Datei "app.config" gefunden wurde. + + + + Ruft einen Wert ab, der den Datenanbieter der Datenquelle darstellt. + + + Der Name des Datenanbieters. Wenn kein Datenanbieter während der Objektinitialisierung festgelegt wurde, wird der Standardanbieter "System.Data.OleDb" zurückgegeben. + + + + + Ruft einen Wert ab, der die Verbindungszeichenfolge für die Datenquelle darstellt. + + + + + Ruft einen Wert ab, der den Tabellennamen angibt, der Daten bereitstellt. + + + + + Ruft die Methode ab, die für den Zugriff auf die Datenquelle verwendet wird. + + + + Einer der-Werte. Wenn das nicht initialisiert wurde, wird der Standardwert zurückgegeben. . + + + + + Ruft den Namen einer Datenquelle ab, die im Abschnitt <microsoft.visualstudio.qualitytools> in der Datei "app.config" gefunden wurde. + + + + + Ein Attribut für datengesteuerte Tests, in denen Daten inline angegeben werden können. + + + + + Ermittelt alle Datenzeilen und beginnt mit der Ausführung. + + + Die test-Methode. + + + Ein Array aus . + + + + + Führt die datengesteuerte Testmethode aus. + + Die auszuführende Testmethode. + Die Datenzeile. + Ergebnisse der Ausführung. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..5b05af9 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4199 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Atributo TestMethod para la ejecución. + + + + + Obtiene el nombre del método de prueba. + + + + + Obtiene el nombre de la clase de prueba. + + + + + Obtiene el tipo de valor devuelto del método de prueba. + + + + + Obtiene los parámetros del método de prueba. + + + + + Obtiene el valor de methodInfo para el método de prueba. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invoca el método de prueba. + + + Argumentos que se pasan al método de prueba (por ejemplo, controlada por datos) + + + Resultado de la invocación del método de prueba. + + + This call handles asynchronous test methods as well. + + + + + Obtiene todos los atributos del método de prueba. + + + Indica si el atributo definido en la clase primaria es válido. + + + Todos los atributos. + + + + + Obtiene un atributo de un tipo específico. + + System.Attribute type. + + Indica si el atributo definido en la clase primaria es válido. + + + Atributos del tipo especificado. + + + + + Elemento auxiliar. + + + + + Parámetro de comprobación no NULL. + + + El parámetro. + + + El nombre del parámetro. + + + El mensaje. + + Throws argument null exception when parameter is null. + + + + Parámetro de comprobación no NULL o vacío. + + + El parámetro. + + + El nombre del parámetro. + + + El mensaje. + + Throws ArgumentException when parameter is null. + + + + Enumeración de cómo se accede a las filas de datos en las pruebas controladas por datos. + + + + + Las filas se devuelven en orden secuencial. + + + + + Las filas se devuelven en orden aleatorio. + + + + + Atributo para definir los datos insertados de un método de prueba. + + + + + Inicializa una nueva instancia de la clase . + + Objeto de datos. + + + + Inicializa una nueva instancia de la clase , que toma una matriz de argumentos. + + Objeto de datos. + Más datos. + + + + Obtiene datos para llamar al método de prueba. + + + + + Obtiene o establece el nombre para mostrar en los resultados de pruebas para personalizarlo. + + + + + Excepción de aserción no concluyente. + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Inicializa una nueva instancia de la clase . + + + + + Clase InternalTestFailureException. Se usa para indicar un error interno de un caso de prueba. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializa una nueva instancia de la clase . + + Mensaje de la excepción. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + Mensaje de la excepción. + + + + Inicializa una nueva instancia de la clase . + + + + + Atributo que indica que debe esperarse una excepción del tipo especificado. + + + + + Inicializa una nueva instancia de la clase con el tipo esperado. + + Tipo de la excepción esperada + + + + Inicializa una nueva instancia de la clase + con el tipo esperado y el mensaje para incluir cuando la prueba no produce una excepción. + + Tipo de la excepción esperada + + Mensaje que se incluye en el resultado de la prueba si esta no se supera debido a que no se inicia una excepción + + + + + Obtiene un valor que indica el tipo de la excepción esperada. + + + + + Obtiene o establece un valor que indica si se permite que los tipos derivados del tipo de la excepción esperada + se consideren también como esperados. + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Comprueba que el tipo de la excepción producida por la prueba unitaria es el esperado. + + Excepción que inicia la prueba unitaria + + + + Clase base para atributos que especifican que se espere una excepción de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase con un mensaje de ausencia de excepción predeterminado. + + + + + Inicializa una nueva instancia de la clase con un mensaje de ausencia de excepción. + + + Mensaje para incluir en el resultado de la prueba si esta no se supera debido a que no se inicia una + excepción + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Obtiene el mensaje de ausencia de excepción predeterminado. + + Nombre del tipo de atributo ExpectedException + Mensaje de ausencia de excepción predeterminado + + + + Determina si se espera la excepción. Si el método devuelve un valor, se entiende + que se esperaba la excepción. Si el método produce una excepción, + se entiende que no se esperaba la excepción y se incluye el mensaje + de la misma en el resultado de la prueba. Se puede usar para mayor + comodidad. Si se utiliza y la aserción no funciona, + el resultado de la prueba se establece como No concluyente. + + Excepción que inicia la prueba unitaria + + + + Produce de nuevo la excepción si es de tipo AssertFailedException o AssertInconclusiveException. + + La excepción que se va a reiniciar si es una excepción de aserción + + + + Esta clase está diseñada para ayudar al usuario a realizar pruebas unitarias para tipos con tipos genéricos. + GenericParameterHelper satisface algunas de las restricciones de tipo genérico comunes, + como: + 1. Constructor predeterminado público. + 2. Implementa una interfaz común: IComparable, IEnumerable. + + + + + Inicializa una nueva instancia de la clase que + satisface la restricción "renovable" en genéricos de C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializa una nueva instancia de la clase que + inicializa la propiedad Data con un valor proporcionado por el usuario. + + Cualquier valor entero + + + + Obtiene o establece los datos. + + + + + Compara el valor de dos objetos GenericParameterHelper. + + objeto con el que hacer la comparación + Es true si el objeto tiene el mismo valor que el objeto GenericParameterHelper "this". + De lo contrario, false. + + + + Devuelve un código hash para este objeto. + + El código hash. + + + + Compara los datos de los dos objetos . + + Objeto con el que se va a comparar. + + Número con signo que indica los valores relativos de esta instancia y valor. + + + Thrown when the object passed in is not an instance of . + + + + + Devuelve un objeto IEnumerator cuya longitud se deriva de + la propiedad Data. + + El objeto IEnumerator + + + + Devuelve un objeto GenericParameterHelper que es igual al + objeto actual. + + El objeto clonado. + + + + Permite a los usuarios registrar o escribir el seguimiento de las pruebas unitarias con fines de diagnóstico. + + + + + Controlador para LogMessage. + + Mensaje para registrar. + + + + Evento que se debe escuchar. Se genera cuando el autor de las pruebas unitarias escribe algún mensaje. + Lo consume principalmente el adaptador. + + + + + API del escritor de la prueba para llamar a los mensajes de registro. + + Formato de cadena con marcadores de posición. + Parámetros para los marcadores de posición. + + + + Atributo TestCategory. Se usa para especificar la categoría de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase y le aplica la categoría a la prueba. + + + Categoría de prueba. + + + + + Obtiene las categorías que se le han aplicado a la prueba. + + + + + Clase base del atributo "Category". + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializa una nueva instancia de la clase . + Aplica la categoría a la prueba. Las cadenas que devuelve TestCategories + se usan con el comando /category para filtrar las pruebas. + + + + + Obtiene la categoría que se le ha aplicado a la prueba. + + + + + Clase AssertFailedException. Se usa para indicar el error de un caso de prueba. + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Inicializa una nueva instancia de la clase . + + + + + Colección de clases auxiliares para probar varias condiciones en las + pruebas unitarias. Si la condición que se está probando no se cumple, se produce + una excepción. + + + + + Obtiene la instancia de singleton de la funcionalidad de Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Thrown if is false. + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Mensaje que se va a incluir en la excepción cuando + es false. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is false. + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Mensaje que se va a incluir en la excepción cuando + es false. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is false. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Thrown if is true. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Mensaje que se va a incluir en la excepción cuando + es true. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is true. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Mensaje que se va a incluir en la excepción cuando + es true. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is true. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + no es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + no es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Thrown if is null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is null. + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual que . El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual que . El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual que . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual que . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if is not equal to . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Mensaje que se va a incluir en la excepción cuando + no es una instancia de . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Mensaje que se va a incluir en la excepción cuando + no es una instancia de . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Mensaje que se va a incluir en la excepción cuando + es una instancia de . El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Mensaje que se va a incluir en la excepción cuando + es una instancia de . El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Produce una excepción AssertFailedException. + + + Always thrown. + + + + + Produce una excepción AssertFailedException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Always thrown. + + + + + Produce una excepción AssertFailedException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Always thrown. + + + + + Las sobrecargas de igualdad estáticas se usan para comparar la igualdad de referencia de + instancias de dos tipos. Este método no debe usarse para comparar la igualdad de dos instancias. + Este objeto se devolverá siempre con Assert.Fail. Utilice + Assert.AreEqual y las sobrecargas asociadas en pruebas unitarias. + + Objeto A + Objeto B + False, siempre. + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción AssertFailedException si el código no produce la excepción dada o produce otra de un tipo que no sea . + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción AssertFailedException si el código no produce la excepción dada o produce otra de un tipo que no sea . + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Reemplaza los caracteres NULL "\0" por "\\0". + + + Cadena para buscar. + + + La cadena convertida con los caracteres NULL reemplazados por "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Función auxiliar que produce una excepción AssertionFailedException. + + + nombre de la aserción que inicia una excepción + + + mensaje que describe las condiciones del error de aserción + + + Los parámetros. + + + + + Comprueba el parámetro para las condiciones válidas. + + + El parámetro. + + + Nombre de la aserción. + + + nombre de parámetro + + + mensaje de la excepción de parámetro no válido + + + Los parámetros. + + + + + Convierte un objeto en cadena de forma segura, con control de los valores y caracteres NULL. + Los valores NULL se convierten en "NULL". Los caracteres NULL se convierten en "\\0". + + + Objeto que se va a convertir en cadena. + + + La cadena convertida. + + + + + Aserción de cadena. + + + + + Obtiene la instancia de singleton de la funcionalidad CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Mensaje que se va a incluir en la excepción cuando + no empieza por . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Mensaje que se va a incluir en la excepción cuando + no empieza por . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Mensaje que se va a incluir en la excepción cuando + no termina con . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Mensaje que se va a incluir en la excepción cuando + no termina con . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Mensaje que se va a incluir en la excepción cuando + no coincide con . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Mensaje que se va a incluir en la excepción cuando + no coincide con . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Thrown if matches . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Mensaje que se va a incluir en la excepción cuando + coincide con . El mensaje se muestra en los resultados de las + pruebas. + + + Thrown if matches . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Mensaje que se va a incluir en la excepción cuando + coincide con . El mensaje se muestra en los resultados de las + pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if matches . + + + + + Colección de clases auxiliares para probar varias condiciones asociadas + a las colecciones en las pruebas unitarias. Si la condición que se está probando no se + cumple, se produce una excepción. + + + + + Obtiene la instancia de singleton de la funcionalidad CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Thrown if is found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + se encuentra en . El mensaje se muestra en los resultados de las + pruebas. + + + Thrown if is found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + se encuentra en . El mensaje se muestra en los resultados de las + pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is found in + . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Thrown if a null element is found in . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Mensaje que se va a incluir en la excepción cuando + contiene un elemento NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if a null element is found in . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Mensaje que se va a incluir en la excepción cuando + contiene un elemento NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if a null element is found in . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Mensaje que se va a incluir en la excepción cuando + contiene al menos un elemento duplicado. El mensaje se muestra en los + resultados de las pruebas. + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Mensaje que se va a incluir en la excepción cuando + contiene al menos un elemento duplicado. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Thrown if every element in is also found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando cada elemento de + también se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Thrown if every element in is also found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando cada elemento de + también se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if every element in is also found in + . + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando un elemento se encontró + en una de las colecciones pero no en la otra. El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando un elemento se encontró + en una de las colecciones pero no en la otra. El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + contiene los mismos elementos que . El mensaje + se muestra en los resultados de las pruebas. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + contiene los mismos elementos que . El mensaje + se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no es una instancia de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no es una instancia de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Determina si la primera colección es un subconjunto de la + segunda. Si cualquiera de los conjuntos contiene elementos duplicados, el número + de repeticiones del elemento en el subconjunto debe ser inferior o + igual al número de repeticiones en el superconjunto. + + + Colección que la prueba espera que esté incluida en . + + + Colección que la prueba espera que contenga . + + + True si es un subconjunto de + , de lo contrario false. + + + + + Construye un diccionario que contiene el número de repeticiones de cada + elemento en la colección especificada. + + + Colección que se va a procesar. + + + Número de elementos NULL de la colección. + + + Diccionario que contiene el número de repeticiones de cada elemento + en la colección especificada. + + + + + Encuentra un elemento no coincidente entre ambas colecciones. Un elemento + no coincidente es aquel que aparece un número distinto de veces en la + colección esperada de lo que aparece en la colección real. Se + supone que las colecciones son referencias no NULL diferentes con el + mismo número de elementos. El autor de la llamada es el responsable de + este nivel de comprobación. Si no hay ningún elemento no coincidente, + la función devuelve false y no deben usarse parámetros out. + + + La primera colección para comparar. + + + La segunda colección para comparar. + + + Número esperado de repeticiones de + o 0 si no hay ningún elemento no + coincidente. + + + El número real de repeticiones de + o 0 si no hay ningún elemento no + coincidente. + + + El elemento no coincidente (puede ser nulo) o NULL si no hay ningún + elemento no coincidente. + + + Es true si se encontró un elemento no coincidente. De lo contrario, false. + + + + + compara los objetos con object.Equals. + + + + + Clase base para las excepciones de marco. + + + + + Inicializa una nueva instancia de la clase . + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Clase de recurso fuertemente tipado para buscar cadenas traducidas, etc. + + + + + Devuelve la instancia de ResourceManager almacenada en caché que usa esta clase. + + + + + Invalida la propiedad CurrentUICulture del subproceso actual para todas + las búsquedas de recursos que usan esta clase de recursos fuertemente tipados. + + + + + Busca una cadena traducida similar a "La cadena de acceso tiene una sintaxis no válida". + + + + + Busca una cadena traducida similar a "La colección esperada contiene {1} repeticiones de <{2}>. La colección actual contiene {3} repeticiones. {0}". + + + + + Busca una cadena traducida similar a "Se encontró un elemento duplicado: <{1}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1}>. El caso es distinto para el valor real: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba una diferencia no superior a <{3}> entre el valor esperado <{1}> y el valor real <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1} ({2})>, pero es: <{3} ({4})>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba una diferencia mayor que <{3}> entre el valor esperado <{1}> y el valor real <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba cualquier valor excepto: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "No pase tipos de valor a AreSame(). Los valores convertidos a Object no serán nunca iguales. Considere el uso de AreEqual(). {0}". + + + + + Busca una cadena traducida similar a "Error de {0}. {1}". + + + + + Busca una cadena traducida similar a "No se admite un método de prueba asincrónico con UITestMethodAttribute. Quite el método asincrónico o use TestMethodAttribute. + + + + + Busca una cadena traducida similar a "Ambas colecciones están vacías". {0}. + + + + + Busca una cadena traducida similar a "Ambas colecciones tienen los mismos elementos". + + + + + Busca una cadena traducida similar a "Las referencias de ambas colecciones apuntan al mismo objeto de colección. {0}". + + + + + Busca una cadena traducida similar a "Ambas colecciones tienen los mismos elementos. {0}". + + + + + Busca una cadena traducida similar a "{0}({1})". + + + + + Busca una cadena traducida similar a "(NULL)". + + + + + Busca una cadena traducida similar a "(objeto)". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no contiene la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "{0} ({1})". + + + + + Busca una cadena traducida similar a "No se debe usar Assert.Equals para aserciones. Use Assert.AreEqual y Overloads en su lugar". + + + + + Busca una cadena traducida similar a "El número de elementos de las colecciones no coincide. Se esperaba: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "El elemento del índice {0} no coincide". + + + + + Busca una cadena traducida similar a "El elemento del índice {1} no es del tipo esperado. Tipo esperado: <{2}>, tipo real: <{3}>. {0}". + + + + + Busca una cadena traducida similar a "El elemento del índice {1} es (NULL). Se esperaba el tipo: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no termina con la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "Argumento no válido: EqualsTester no puede utilizar valores NULL". + + + + + Busca una cadena traducida similar a "El objeto de tipo {0} no se puede convertir en {1}". + + + + + Busca una cadena traducida similar a "El objeto interno al que se hace referencia ya no es válido". + + + + + Busca una cadena traducida similar a "El parámetro "{0}" no es válido. {1}". + + + + + Busca una cadena traducida similar a "La propiedad {0} tiene el tipo {1}; se esperaba el tipo {2}". + + + + + Busca una cadena traducida similar a "{0} Tipo esperado: <{1}>. Tipo real: <{2}>". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no coincide con el patrón "{1}". {2}". + + + + + Busca una cadena traducida similar a "Tipo incorrecto: <{1}>. Tipo real: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "La cadena "{0}" coincide con el patrón "{1}". {2}". + + + + + Busca una cadena traducida similar a "No se especificó ningún atributo DataRowAttribute. Se requiere al menos un elemento DataRowAttribute con DataTestMethodAttribute". + + + + + Busca una cadena traducida similar a "No se produjo ninguna excepción. Se esperaba la excepción {1}. {0}". + + + + + Busca una cadena traducida similar a "El parámetro "{0}" no es válido. El valor no puede ser NULL. {1}". + + + + + Busca una cadena traducida similar a "Número diferente de elementos". + + + + + Busca una cadena traducida similar a + "No se encontró el constructor con la signatura especificada. Es posible que tenga que regenerar el descriptor de acceso privado, + o que el miembro sea privado y esté definido en una clase base. Si se trata de esto último, debe pasar el tipo + que define el miembro al constructor de PrivateObject". + + + + + Busca una cadena traducida similar a + "No se encontró el miembro especificado ({0}). Es posible que tenga que regenerar el descriptor de acceso privado, + o que el miembro sea privado y esté definido en una clase base. Si se trata de esto último, debe pasar el tipo + que define el miembro al constructor de PrivateObject". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no empieza con la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "El tipo de excepción esperado debe ser System.Exception o un tipo derivado de System.Exception". + + + + + Busca una cadena traducida similar a "No se pudo obtener el mensaje para una excepción del tipo {0} debido a una excepción". + + + + + Busca una cadena traducida similar a "El método de prueba no inició la excepción esperada {0}. {1}". + + + + + Busca una cadena traducida similar a "El método de prueba no inició una excepción. El atributo {0} definido en el método de prueba esperaba una excepción". + + + + + Busca una cadena traducida similar a "El método de prueba inició la excepción {0}, pero se esperaba la excepción {1}. Mensaje de la excepción: {2}". + + + + + Busca una cadena traducida similar a "El método de prueba inició la excepción {0}, pero se esperaba la excepción {1} o un tipo derivado de ella. Mensaje de la excepción: {2}". + + + + + Busca una cadena traducida similar a "Se produjo la excepción {2}, pero se esperaba la excepción {1}. {0} + Mensaje de excepción: {3} + Seguimiento de la pila: {4}". + + + + + Resultados de la prueba unitaria. + + + + + La prueba se ejecutó, pero hubo problemas. + Entre estos, puede haber excepciones o aserciones con errores. + + + + + La prueba se completó, pero no podemos determinar si el resultado fue correcto o no. + Se puede usar para pruebas anuladas. + + + + + La prueba se ejecutó sin problemas. + + + + + La prueba se está ejecutando. + + + + + Error del sistema al intentar ejecutar una prueba. + + + + + Se agotó el tiempo de espera de la prueba. + + + + + El usuario anuló la prueba. + + + + + La prueba tiene un estado desconocido + + + + + Proporciona funcionalidad auxiliar para el marco de pruebas unitarias. + + + + + Obtiene los mensajes de excepción, incluidos los mensajes de todas las excepciones internas, + de forma recursiva. + + Excepción para la que se obtienen los mensajes + la cadena con información del mensaje de error + + + + Enumeración para cuando se agota el tiempo de espera que se puede usar con el atributo . + El tipo de la enumeración debe coincidir. + + + + + Infinito. + + + + + Atributo de la clase de prueba. + + + + + Obtiene un atributo de método de prueba que habilita la ejecución de esta prueba. + + La instancia de atributo de método de prueba definida en este método. + Tipo que se utilizará para ejecutar esta prueba. + Extensions can override this method to customize how all methods in a class are run. + + + + Atributo del método de prueba. + + + + + Ejecuta un método de prueba. + + El método de prueba para ejecutar. + Una matriz de objetos de TestResult que representan los resultados de la prueba. + Extensions can override this method to customize running a TestMethod. + + + + Atributo para inicializar la prueba. + + + + + Atributo de limpieza de la prueba. + + + + + Atributo de omisión. + + + + + Atributo de propiedad de la prueba. + + + + + Inicializa una nueva instancia de la clase . + + + El nombre. + + + El valor. + + + + + Obtiene el nombre. + + + + + Obtiene el valor. + + + + + Atributo de inicialización de la clase. + + + + + Atributo de limpieza de la clase. + + + + + Atributo de inicialización del ensamblado. + + + + + Atributo de limpieza del ensamblado. + + + + + Propietario de la prueba. + + + + + Inicializa una nueva instancia de la clase . + + + El propietario. + + + + + Obtiene el propietario. + + + + + Atributo de prioridad. Se usa para especificar la prioridad de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase . + + + La prioridad. + + + + + Obtiene la prioridad. + + + + + Descripción de la prueba. + + + + + Inicializa una nueva instancia de la clase para describir una prueba. + + La descripción. + + + + Obtiene la descripción de una prueba. + + + + + URI de estructura de proyectos de CSS. + + + + + Inicializa una nueva instancia de la clase para el URI de estructura de proyecto de CSS. + + URI de estructura de proyectos de CSS. + + + + Obtiene el URI de estructura de proyectos de CSS. + + + + + URI de iteración de CSS. + + + + + Inicializa una nueva instancia de la clase para el URI de iteración de CSS. + + URI de iteración de CSS. + + + + Obtiene el URI de iteración de CSS. + + + + + Atributo WorkItem. Se usa para especificar un elemento de trabajo asociado a esta prueba. + + + + + Inicializa una nueva instancia de la clase para el atributo WorkItem. + + Identificador de un elemento de trabajo. + + + + Obtiene el identificador de un elemento de trabajo asociado. + + + + + Atributo de tiempo de espera. Se usa para especificar el tiempo de espera de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase . + + + Tiempo de espera. + + + + + Inicializa una nueva instancia de la clase con un tiempo de espera preestablecido. + + + Tiempo de espera + + + + + Obtiene el tiempo de espera. + + + + + Objeto TestResult que debe devolverse al adaptador. + + + + + Inicializa una nueva instancia de la clase . + + + + + Obtiene o establece el nombre para mostrar del resultado. Es útil cuando se devuelven varios resultados. + Si es NULL, se utiliza el nombre del método como nombre para mostrar. + + + + + Obtiene o establece el resultado de la ejecución de pruebas. + + + + + Obtiene o establece la excepción que se inicia cuando la prueba da error. + + + + + Obtiene o establece la salida del mensaje registrado por el código de la prueba. + + + + + Obtiene o establece la salida del mensaje registrado por el código de la prueba. + + + + + Obtiene o establece el seguimiento de depuración que realiza el código de la prueba. + + + + + Gets or sets the debug traces by test code. + + + + + Obtiene o establece la duración de la ejecución de la prueba. + + + + + Obtiene o establece el índice de la fila de datos en el origen de datos. Se establece solo para resultados + de ejecuciones individuales de filas de datos de una prueba controlada por datos. + + + + + Obtiene o establece el valor devuelto del método de prueba. Actualmente es siempre NULL. + + + + + Obtiene o establece los archivos de resultados que adjunta la prueba. + + + + + Especifica la cadena de conexión, el nombre de tabla y el método de acceso a fila para las pruebas controladas por datos. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nombre de proveedor predeterminado del origen de datos. + + + + + Método de acceso a datos predeterminado. + + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con un proveedor de datos, una cadena de conexión, una tabla de datos y un método de acceso a datos para acceder al origen de datos. + + Nombre invariable del proveedor de datos, como System.Data.SqlClient + + Cadena de conexión específica del proveedor de datos. + ADVERTENCIA: La cadena de conexión puede contener información confidencial (por ejemplo, una contraseña). + La cadena de conexión se almacena en texto sin formato en el código fuente y en el ensamblado compilado. + Restrinja el acceso al código fuente y al ensamblado para proteger esta información confidencial. + + Nombre de la tabla de datos. + Especifica el orden de acceso a los datos. + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con una cadena de conexión y un nombre de tabla. + Especifique la cadena de conexión y la tabla de datos para acceder al origen de datos OLEDB. + + + Cadena de conexión específica del proveedor de datos. + ADVERTENCIA: La cadena de conexión puede contener información confidencial (por ejemplo, una contraseña). + La cadena de conexión se almacena en texto sin formato en el código fuente y en el ensamblado compilado. + Restrinja el acceso al código fuente y al ensamblado para proteger esta información confidencial. + + Nombre de la tabla de datos. + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con un proveedor de datos y una cadena de conexión asociada al nombre del valor de configuración. + + El nombre de un origen de datos que se encuentra en la sección <microsoft.visualstudio.qualitytools> del archivo app.config. + + + + Obtiene un valor que representa el proveedor de datos del origen de datos. + + + Nombre del proveedor de datos. Si no se designó un proveedor de datos al inicializar el objeto, se devolverá el proveedor predeterminado de System.Data.OleDb. + + + + + Obtiene un valor que representa la cadena de conexión para el origen de datos. + + + + + Obtiene un valor que indica el nombre de la tabla que proporciona los datos. + + + + + Obtiene el método usado para tener acceso al origen de datos. + + + + Uno de los . Si no se ha inicializado, devolverá el valor predeterminado . + + + + + Obtiene el nombre del origen de datos que se encuentra en la sección <microsoft.visualstudio.qualitytools> del archivo app.config. + + + + + Atributo para una prueba controlada por datos donde los datos pueden especificarse insertados. + + + + + Busca todas las filas de datos y las ejecuta. + + + El método de prueba. + + + Una matriz de . + + + + + Ejecuta el método de prueba controlada por datos. + + Método de prueba para ejecutar. + Fila de datos. + Resultados de la ejecución. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..2d63dc0 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod pour exécution. + + + + + Obtient le nom de la méthode de test. + + + + + Obtient le nom de la classe de test. + + + + + Obtient le type de retour de la méthode de test. + + + + + Obtient les paramètres de la méthode de test. + + + + + Obtient le methodInfo de la méthode de test. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Appelle la méthode de test. + + + Arguments à passer à la méthode de test. (Exemple : pour un test piloté par les données) + + + Résultat de l'appel de la méthode de test. + + + This call handles asynchronous test methods as well. + + + + + Obtient tous les attributs de la méthode de test. + + + Indique si l'attribut défini dans la classe parente est valide. + + + Tous les attributs. + + + + + Obtient l'attribut du type spécifique. + + System.Attribute type. + + Indique si l'attribut défini dans la classe parente est valide. + + + Attributs du type spécifié. + + + + + Assistance. + + + + + Paramètre de vérification non null. + + + Paramètre. + + + Nom du paramètre. + + + Message. + + Throws argument null exception when parameter is null. + + + + Paramètre de vérification non null ou vide. + + + Paramètre. + + + Nom du paramètre. + + + Message. + + Throws ArgumentException when parameter is null. + + + + Énumération liée à la façon dont nous accédons aux lignes de données dans les tests pilotés par les données. + + + + + Les lignes sont retournées dans un ordre séquentiel. + + + + + Les lignes sont retournées dans un ordre aléatoire. + + + + + Attribut permettant de définir les données inline d'une méthode de test. + + + + + Initialise une nouvelle instance de la classe . + + Objet de données. + + + + Initialise une nouvelle instance de la classe qui accepte un tableau d'arguments. + + Objet de données. + Plus de données. + + + + Obtient les données permettant d'appeler la méthode de test. + + + + + Obtient ou définit le nom d'affichage dans les résultats des tests à des fins de personnalisation. + + + + + Exception d'assertion non concluante. + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Initialise une nouvelle instance de la classe . + + + + + Classe InternalTestFailureException. Sert à indiquer l'échec interne d'un cas de test + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initialise une nouvelle instance de la classe . + + Message d'exception. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message d'exception. + + + + Initialise une nouvelle instance de la classe . + + + + + Attribut indiquant d'attendre une exception du type spécifié + + + + + Initialise une nouvelle instance de la classe avec le type attendu + + Type de l'exception attendue + + + + Initialise une nouvelle instance de la classe avec + le type attendu et le message à inclure quand aucune exception n'est levée par le test. + + Type de l'exception attendue + + Message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient une valeur indiquant le type de l'exception attendue + + + + + Obtient ou définit une valeur indiquant si les types dérivés du type de l'exception attendue peuvent + être éligibles comme prévu + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Vérifie que le type de l'exception levée par le test unitaire est bien attendu + + Exception levée par le test unitaire + + + + Classe de base des attributs qui spécifient d'attendre une exception d'un test unitaire + + + + + Initialise une nouvelle instance de la classe avec un message d'absence d'exception par défaut + + + + + Initialise une nouvelle instance de la classe avec un message d'absence d'exception + + + Message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une + exception + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient le message d'absence d'exception par défaut + + Nom du type de l'attribut ExpectedException + Message d'absence d'exception par défaut + + + + Détermine si l'exception est attendue. Si la méthode est retournée, cela + signifie que l'exception est attendue. Si la méthode lève une exception, cela + signifie que l'exception n'est pas attendue, et que le message de l'exception levée + est inclus dans le résultat de test. La classe peut être utilisée par + commodité. Si est utilisé et si l'assertion est un échec, + le résultat de test a la valeur Non concluant. + + Exception levée par le test unitaire + + + + Lève à nouveau l'exception, s'il s'agit de AssertFailedException ou de AssertInconclusiveException + + Exception à lever de nouveau, s'il s'agit d'une exception d'assertion + + + + Cette classe permet à l'utilisateur d'effectuer des tests unitaires pour les types basés sur des types génériques. + GenericParameterHelper répond à certaines contraintes usuelles des types génériques, + exemple : + 1. constructeur par défaut public + 2. implémentation d'une interface commune : IComparable, IEnumerable + + + + + Initialise une nouvelle instance de la classe qui + répond à la contrainte 'newable' dans les génériques C#. + + + This constructor initializes the Data property to a random value. + + + + + Initialise une nouvelle instance de la classe qui + initialise la propriété Data en lui assignant une valeur fournie par l'utilisateur. + + Valeur entière + + + + Obtient ou définit les données + + + + + Compare la valeur de deux objets GenericParameterHelper + + objet à comparer + true si obj a la même valeur que l'objet GenericParameterHelper de 'this'. + sinon false. + + + + Retourne un code de hachage pour cet objet. + + Code de hachage. + + + + Compare les données des deux objets . + + Objet à comparer. + + Nombre signé indiquant les valeurs relatives de cette instance et de cette valeur. + + + Thrown when the object passed in is not an instance of . + + + + + Retourne un objet IEnumerator dont la longueur est dérivée de + la propriété Data. + + Objet IEnumerator + + + + Retourne un objet GenericParameterHelper égal à + l'objet actuel. + + Objet cloné. + + + + Permet aux utilisateurs de journaliser/d'écrire des traces de tests unitaires à des fins de diagnostic. + + + + + Gestionnaire de LogMessage. + + Message à journaliser. + + + + Événement à écouter. Déclenché quand le writer de test unitaire écrit un message. + Sert principalement à être consommé par un adaptateur. + + + + + API à appeler par le writer de test pour journaliser les messages. + + Format de chaîne avec des espaces réservés. + Paramètres des espaces réservés. + + + + Attribut TestCategory utilisé pour spécifier la catégorie d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe et applique la catégorie au test. + + + Catégorie de test. + + + + + Obtient les catégories de test appliquées au test. + + + + + Classe de base de l'attribut "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initialise une nouvelle instance de la classe . + Applique la catégorie au test. Les chaînes retournées par TestCategories + sont utilisées avec la commande /category pour filtrer les tests + + + + + Obtient la catégorie de test appliquée au test. + + + + + Classe AssertFailedException. Sert à indiquer l'échec d'un cas de test + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Initialise une nouvelle instance de la classe . + + + + + Collection de classes d'assistance permettant de tester diverses conditions dans + des tests unitaires. Si la condition testée n'est pas remplie, une exception + est levée. + + + + + Obtient l'instance singleton de la fonctionnalité Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Message à inclure dans l'exception quand + est false. Le message s'affiche dans les résultats des tests. + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Message à inclure dans l'exception quand + est false. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Thrown if is true. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Message à inclure dans l'exception quand + est true. Le message s'affiche dans les résultats des tests. + + + Thrown if is true. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Message à inclure dans l'exception quand + est true. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is true. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + n'a pas une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + n'a pas une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Thrown if is null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + a une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if is null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + a une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is null. + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas identique à . Le message s'affiche + dans les résultats des tests. + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas identique à . Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if refers to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est identique à . Le message s'affiche dans + les résultats des tests. + + + Thrown if refers to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est identique à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if refers to the same object + as . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if is not equal to . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if is equal to . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Message à inclure dans l'exception quand + n'est pas une instance de . Le message + s'affiche dans les résultats des tests. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Message à inclure dans l'exception quand + n'est pas une instance de . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Message à inclure dans l'exception quand + est une instance de . Le message s'affiche + dans les résultats des tests. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Message à inclure dans l'exception quand + est une instance de . Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Lève AssertFailedException. + + + Always thrown. + + + + + Lève AssertFailedException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Always thrown. + + + + + Lève AssertFailedException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Always thrown. + + + + + Les surcharges statiques d'equals comparent les instances de deux types pour déterminer si leurs références sont + égales entre elles. Cette méthode ne doit pas être utilisée pour évaluer si deux instances sont + égales entre elles. Cet objet est toujours levé avec Assert.Fail. Utilisez + Assert.AreEqual et les surcharges associées dans vos tests unitaires. + + Objet A + Objet B + False, toujours. + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève AssertFailedException si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + Délégué du code à tester et censé lever une exception. + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève AssertFailedException si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + Délégué du code à tester et censé lever une exception. + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Remplace les caractères Null ('\0') par "\\0". + + + Chaîne à rechercher. + + + Chaîne convertie où les caractères null sont remplacés par "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Fonction d'assistance qui crée et lève AssertionFailedException + + + nom de l'assertion levant une exception + + + message décrivant les conditions de l'échec d'assertion + + + Paramètres. + + + + + Vérifie la validité des conditions du paramètre + + + Paramètre. + + + Nom de l'assertion. + + + nom du paramètre + + + message d'exception liée à un paramètre non valide + + + Paramètres. + + + + + Convertit en toute sécurité un objet en chaîne, en gérant les valeurs null et les caractères Null. + Les valeurs null sont converties en "(null)". Les caractères Null sont convertis en "\\0". + + + Objet à convertir en chaîne. + + + Chaîne convertie. + + + + + Assertion de chaîne. + + + + + Obtient l'instance singleton de la fonctionnalité CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Message à inclure dans l'exception quand + ne commence pas par . Le message + s'affiche dans les résultats des tests. + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Message à inclure dans l'exception quand + ne commence pas par . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Thrown if does not end with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Message à inclure dans l'exception quand + ne finit pas par . Le message + s'affiche dans les résultats des tests. + + + Thrown if does not end with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Message à inclure dans l'exception quand + ne finit pas par . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not end with + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Message à inclure dans l'exception quand + ne correspond pas . Le message s'affiche dans + les résultats des tests. + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Message à inclure dans l'exception quand + ne correspond pas . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Thrown if matches . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Message à inclure dans l'exception quand + correspond à . Le message s'affiche dans les + résultats des tests. + + + Thrown if matches . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Message à inclure dans l'exception quand + correspond à . Le message s'affiche dans les + résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if matches . + + + + + Collection de classes d'assistance permettant de tester diverses conditions associées + à des collections dans les tests unitaires. Si la condition testée n'est pas + remplie, une exception est levée. + + + + + Obtient l'instance singleton de la fonctionnalité CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Thrown if is found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Message à inclure dans l'exception quand + est dans . Le message s'affiche dans les + résultats des tests. + + + Thrown if is found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Message à inclure dans l'exception quand + est dans . Le message s'affiche dans les + résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is found in + . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Message à inclure dans l'exception quand + contient un élément ayant une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Message à inclure dans l'exception quand + contient un élément ayant une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Message à inclure dans l'exception quand + contient au moins un élément dupliqué. Le message s'affiche dans + les résultats des tests. + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Message à inclure dans l'exception quand + contient au moins un élément dupliqué. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Thrown if an element in is not found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Message à inclure dans l'exception quand un élément présent dans + est introuvable dans . + Le message s'affiche dans les résultats des tests. + + + Thrown if an element in is not found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Message à inclure dans l'exception quand un élément présent dans + est introuvable dans . + Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element in is not found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Thrown if every element in is also found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Message à inclure dans l'exception quand chaque élément présent dans + est également trouvé dans . + Le message s'affiche dans les résultats des tests. + + + Thrown if every element in is also found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Message à inclure dans l'exception quand chaque élément présent dans + est également trouvé dans . + Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if every element in is also found in + . + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand un élément est trouvé + dans l'une des collections mais pas l'autre. Le message s'affiche + dans les résultats des tests. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand un élément est trouvé + dans l'une des collections mais pas l'autre. Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand + contient les mêmes éléments que . Le message + s'affiche dans les résultats des tests. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand + contient les mêmes éléments que . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Message à inclure dans l'exception quand un élément présent dans + n'est pas une instance de + . Le message s'affiche dans les résultats des tests. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Message à inclure dans l'exception quand un élément présent dans + n'est pas une instance de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Détermine si la première collection est un sous-ensemble de la seconde + collection. Si l'un des deux ensembles contient des éléments dupliqués, le nombre + d'occurrences de l'élément dans le sous-ensemble doit être inférieur ou + égal au nombre d'occurrences dans le sur-ensemble. + + + Collection dans laquelle le test est censé être contenu . + + + Collection que le test est censé contenir . + + + True si est un sous-ensemble de + , sinon false. + + + + + Construit un dictionnaire contenant le nombre d'occurrences de chaque + élément dans la collection spécifiée. + + + Collection à traiter. + + + Nombre d'éléments de valeur null dans la collection. + + + Dictionnaire contenant le nombre d'occurrences de chaque élément + dans la collection spécifiée. + + + + + Recherche un élément incompatible parmi les deux collections. Un élément incompatible + est un élément qui n'apparaît pas avec la même fréquence dans la + collection attendue et dans la collection réelle. Les + collections sont supposées être des références non null distinctes ayant le + même nombre d'éléments. L'appelant est responsable de ce niveau de + vérification. S'il n'existe aucun élément incompatible, la fonction retourne + la valeur false et les paramètres out ne doivent pas être utilisés. + + + Première collection à comparer. + + + Seconde collection à comparer. + + + Nombre attendu d'occurrences de + ou 0, s'il n'y a aucune incompatibilité + des éléments. + + + Nombre réel d'occurrences de + ou 0, s'il n'y a aucune incompatibilité + des éléments. + + + Élément incompatible (pouvant avoir une valeur null), ou valeur null s'il n'existe aucun + élément incompatible. + + + true si un élément incompatible est trouvé ; sinon, false. + + + + + compare les objets via object.Equals + + + + + Classe de base pour les exceptions de framework. + + + + + Initialise une nouvelle instance de la classe . + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. + + + + + Retourne l'instance ResourceManager mise en cache utilisée par cette classe. + + + + + Remplace la propriété CurrentUICulture du thread actuel pour toutes + les recherches de ressources à l'aide de cette classe de ressource fortement typée. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne Access comporte une syntaxe non valide. + + + + + Recherche une chaîne localisée semblable à celle-ci : La collection attendue contient {1} occurrence(s) de <{2}>. La collection réelle contient {3} occurrence(s). {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Un élément dupliqué a été trouvé : <{1}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1}>. La casse est différente pour la valeur réelle : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Différence attendue non supérieure à <{3}> comprise entre la valeur attendue <{1}> et la valeur réelle <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1} ({2})>. Réel : <{3} ({4})>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1}>. Réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Différence attendue supérieure à <{3}> comprise entre la valeur attendue <{1}> et la valeur réelle <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Toute valeur attendue sauf : <{1}>. Réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Ne passez pas de types valeur à AreSame(). Les valeurs converties en Object ne seront plus jamais les mêmes. Si possible, utilisez AreEqual(). {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Échec de {0}. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : async TestMethod utilisé avec UITestMethodAttribute n'est pas pris en charge. Supprimez async ou utilisez TestMethodAttribute. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections sont vides. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections contiennent des éléments identiques. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections Reference pointent vers le même objet Collection. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections contiennent les mêmes éléments. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0}({1}). + + + + + Recherche une chaîne localisée semblable à celle-ci : (null). + + + + + Recherche une chaîne localisée semblable à celle-ci : (objet). + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne contient pas la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0} ({1}). + + + + + Recherche une chaîne localisée semblable à celle-ci : Assert.Equals ne doit pas être utilisé pour les assertions. Utilisez Assert.AreEqual et des surcharges à la place. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le nombre d'éléments dans les collections ne correspond pas. Attendu : <{1}>. Réel : <{2}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les éléments à l'index {0} ne correspondent pas. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'élément à l'index {1} n'est pas du type attendu. Type attendu : <{2}>. Type réel : <{3}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'élément à l'index {1} est (null). Type attendu : <{2}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne se termine pas par la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Argument non valide - EqualsTester ne peut pas utiliser de valeurs null. + + + + + Recherche une chaîne localisée semblable à celle-ci : Impossible de convertir un objet de type {0} en {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'objet interne référencé n'est plus valide. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le paramètre '{0}' est non valide. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La propriété {0} a le type {1} ; type attendu {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0} Type attendu : <{1}>. Type réel : <{2}>. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne correspond pas au modèle '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Type incorrect : <{1}>. Type réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' correspond au modèle '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Aucun DataRowAttribute spécifié. Au moins un DataRowAttribute est nécessaire avec DataTestMethodAttribute. + + + + + Recherche une chaîne localisée semblable à celle-ci : Aucune exception levée. Exception {1} attendue. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le paramètre '{0}' est non valide. La valeur ne peut pas être null. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Nombre d'éléments différent. + + + + + Recherche une chaîne localisée semblable à celle-ci : + Le constructeur doté de la signature spécifiée est introuvable. Vous devrez peut-être régénérer votre accesseur private, + ou le membre est peut-être private et défini sur une classe de base. Si le dernier cas est vrai, vous devez transmettre le type + qui définit le membre dans le constructeur de PrivateObject. + . + + + + + Recherche une chaîne localisée semblable à celle-ci : + Le membre spécifié ({0}) est introuvable. Vous devrez peut-être régénérer votre accesseur private, + ou le membre est peut-être private et défini sur une classe de base. Si le dernier cas est vrai, vous devez transmettre le type + qui définit le membre dans le constructeur de PrivateObject. + . + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne commence pas par la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le type de l'exception attendue doit être System.Exception ou un type dérivé de System.Exception. + + + + + Recherche une chaîne localisée semblable à celle-ci : (Échec de la réception du message pour une exception de type {0} en raison d'une exception.). + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test n'a pas levé l'exception attendue {0}. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test n'a pas levé d'exception. Une exception était attendue par l'attribut {0} défini sur la méthode de test. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test a levé l'exception {0}, mais l'exception {1} était attendue. Message d'exception : {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test a levé l'exception {0}, mais l'exception {1} (ou un type dérivé de cette dernière) était attendue. Message d'exception : {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'exception {2} a été levée, mais l'exception {1} était attendue. {0} + Message d'exception : {3} + Arborescence des appels de procédure : {4}. + + + + + résultats du test unitaire + + + + + Le test a été exécuté mais des problèmes se sont produits. + Il peut s'agir de problèmes liés à des exceptions ou des échecs d'assertion. + + + + + Test effectué, mais nous ne pouvons pas dire s'il s'agit d'une réussite ou d'un échec. + Utilisable éventuellement pour les tests abandonnés. + + + + + Le test a été exécuté sans problème. + + + + + Le test est en cours d'exécution. + + + + + Une erreur système s'est produite pendant que nous tentions d'exécuter un test. + + + + + Délai d'expiration du test. + + + + + Test abandonné par l'utilisateur. + + + + + Le test est dans un état inconnu + + + + + Fournit une fonctionnalité d'assistance pour le framework de tests unitaires + + + + + Obtient les messages d'exception, notamment les messages de toutes les exceptions internes + de manière récursive + + Exception pour laquelle les messages sont obtenus + chaîne avec les informations du message d'erreur + + + + Énumération des délais d'expiration, qui peut être utilisée avec la classe . + Le type de l'énumération doit correspondre + + + + + Infini. + + + + + Attribut de la classe de test. + + + + + Obtient un attribut de méthode de test qui permet d'exécuter ce test. + + Instance d'attribut de méthode de test définie sur cette méthode. + Le à utiliser pour exécuter ce test. + Extensions can override this method to customize how all methods in a class are run. + + + + Attribut de la méthode de test. + + + + + Exécute une méthode de test. + + Méthode de test à exécuter. + Tableau d'objets TestResult qui représentent le ou les résultats du test. + Extensions can override this method to customize running a TestMethod. + + + + Attribut d'initialisation du test. + + + + + Attribut de nettoyage du test. + + + + + Attribut ignore. + + + + + Attribut de la propriété de test. + + + + + Initialise une nouvelle instance de la classe . + + + Nom. + + + Valeur. + + + + + Obtient le nom. + + + + + Obtient la valeur. + + + + + Attribut d'initialisation de la classe. + + + + + Attribut de nettoyage de la classe. + + + + + Attribut d'initialisation de l'assembly. + + + + + Attribut de nettoyage de l'assembly. + + + + + Propriétaire du test + + + + + Initialise une nouvelle instance de la classe . + + + Propriétaire. + + + + + Obtient le propriétaire. + + + + + Attribut Priority utilisé pour spécifier la priorité d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe . + + + Priorité. + + + + + Obtient la priorité. + + + + + Description du test + + + + + Initialise une nouvelle instance de la classe pour décrire un test. + + Description. + + + + Obtient la description d'un test. + + + + + URI de structure de projet CSS + + + + + Initialise une nouvelle instance de la classe pour l'URI de structure de projet CSS. + + URI de structure de projet CSS. + + + + Obtient l'URI de structure de projet CSS. + + + + + URI d'itération CSS + + + + + Initialise une nouvelle instance de la classe pour l'URI d'itération CSS. + + URI d'itération CSS. + + + + Obtient l'URI d'itération CSS. + + + + + Attribut WorkItem permettant de spécifier un élément de travail associé à ce test. + + + + + Initialise une nouvelle instance de la classe pour l'attribut WorkItem. + + ID d'un élément de travail. + + + + Obtient l'ID d'un élément de travail associé. + + + + + Attribut Timeout utilisé pour spécifier le délai d'expiration d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe . + + + Délai d'expiration. + + + + + Initialise une nouvelle instance de la classe avec un délai d'expiration prédéfini + + + Délai d'expiration + + + + + Obtient le délai d'attente. + + + + + Objet TestResult à retourner à l'adaptateur. + + + + + Initialise une nouvelle instance de la classe . + + + + + Obtient ou définit le nom d'affichage du résultat. Utile pour retourner plusieurs résultats. + En cas de valeur null, le nom de la méthode est utilisé en tant que DisplayName. + + + + + Obtient ou définit le résultat de l'exécution du test. + + + + + Obtient ou définit l'exception levée en cas d'échec du test. + + + + + Obtient ou définit la sortie du message journalisé par le code de test. + + + + + Obtient ou définit la sortie du message journalisé par le code de test. + + + + + Obtient ou définit les traces de débogage du code de test. + + + + + Gets or sets the debug traces by test code. + + + + + Obtient ou définit la durée de l'exécution du test. + + + + + Obtient ou définit l'index de ligne de données dans la source de données. Défini uniquement pour les résultats de + l'exécution individuelle de la ligne de données d'un test piloté par les données. + + + + + Obtient ou définit la valeur renvoyée de la méthode de test. (Toujours null). + + + + + Obtient ou définit les fichiers de résultats attachés par le test. + + + + + Spécifie la chaîne de connexion, le nom de la table et la méthode d'accès aux lignes pour les tests pilotés par les données. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nom du fournisseur par défaut de DataSource. + + + + + Méthode d'accès aux données par défaut. + + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec un fournisseur de données, une chaîne de connexion, une table de données et une méthode d'accès aux données pour accéder à la source de données. + + Nom du fournisseur de données invariant, par exemple System.Data.SqlClient + + Chaîne de connexion spécifique au fournisseur de données. + AVERTISSEMENT : La chaîne de connexion peut contenir des données sensibles (par exemple, un mot de passe). + La chaîne de connexion est stockée en texte brut dans le code source et dans l'assembly compilé. + Restreignez l'accès au code source et à l'assembly pour protéger ces informations sensibles. + + Nom de la table de données. + Spécifie l'ordre d'accès aux données. + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec une chaîne de connexion et un nom de table. + Spécifiez la chaîne de connexion et la table de données permettant d'accéder à la source de données OLEDB. + + + Chaîne de connexion spécifique au fournisseur de données. + AVERTISSEMENT : La chaîne de connexion peut contenir des données sensibles (par exemple, un mot de passe). + La chaîne de connexion est stockée en texte brut dans le code source et dans l'assembly compilé. + Restreignez l'accès au code source et à l'assembly pour protéger ces informations sensibles. + + Nom de la table de données. + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec un fournisseur de données et une chaîne de connexion associés au nom du paramètre. + + Nom d'une source de données trouvée dans la section <microsoft.visualstudio.qualitytools> du fichier app.config. + + + + Obtient une valeur représentant le fournisseur de données de la source de données. + + + Nom du fournisseur de données. Si aucun fournisseur de données n'a été désigné au moment de l'initialisation de l'objet, le fournisseur par défaut de System.Data.OleDb est retourné. + + + + + Obtient une valeur représentant la chaîne de connexion de la source de données. + + + + + Obtient une valeur indiquant le nom de la table qui fournit les données. + + + + + Obtient la méthode utilisée pour accéder à la source de données. + + + + Une des valeurs possibles. Si n'est pas initialisé, ce qui entraîne le retour de la valeur par défaut . + + + + + Obtient le nom d'une source de données trouvée dans la section <microsoft.visualstudio.qualitytools> du fichier app.config. + + + + + Attribut du test piloté par les données, où les données peuvent être spécifiées inline. + + + + + Recherche toutes les lignes de données et les exécute. + + + Méthode de test. + + + Tableau des . + + + + + Exécute la méthode de test piloté par les données. + + Méthode de test à exécuter. + Ligne de données. + Résultats de l'exécution. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..d3540c8 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Metodo di test per l'esecuzione. + + + + + Ottiene il nome del metodo di test. + + + + + Ottiene il nome della classe di test. + + + + + Ottiene il tipo restituito del metodo di test. + + + + + Ottiene i parametri del metodo di test. + + + + + Ottiene l'oggetto methodInfo per il metodo di test. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Richiama il metodo di test. + + + Argomenti da passare al metodo di test, ad esempio per test basati sui dati + + + Risultato della chiamata del metodo di test. + + + This call handles asynchronous test methods as well. + + + + + Ottiene tutti gli attributi del metodo di test. + + + Indica se l'attributo definito nella classe padre è valido. + + + Tutti gli attributi. + + + + + Ottiene l'attributo di tipo specifico. + + System.Attribute type. + + Indica se l'attributo definito nella classe padre è valido. + + + Attributi del tipo specificato. + + + + + Helper. + + + + + Parametro check non Null. + + + Parametro. + + + Nome del parametro. + + + Messaggio. + + Throws argument null exception when parameter is null. + + + + Parametro check non Null o vuoto. + + + Parametro. + + + Nome del parametro. + + + Messaggio. + + Throws ArgumentException when parameter is null. + + + + Enumerazione relativa alla modalità di accesso alle righe di dati nei test basati sui dati. + + + + + Le righe vengono restituite in ordine sequenziale. + + + + + Le righe vengono restituite in ordine casuale. + + + + + Attributo per definire i dati inline per un metodo di test. + + + + + Inizializza una nuova istanza della classe . + + Oggetto dati. + + + + Inizializza una nuova istanza della classe che accetta una matrice di argomenti. + + Oggetto dati. + Altri dati. + + + + Ottiene i dati per chiamare il metodo di test. + + + + + Ottiene o imposta il nome visualizzato nei risultati del test per la personalizzazione. + + + + + Eccezione senza risultati dell'asserzione. + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Inizializza una nuova istanza della classe . + + + + + Classe InternalTestFailureException. Usata per indicare un errore interno per un test case + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inizializza una nuova istanza della classe . + + Messaggio dell'eccezione. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio dell'eccezione. + + + + Inizializza una nuova istanza della classe . + + + + + Attributo che specifica di presupporre un'eccezione del tipo specificato + + + + + Inizializza una nuova istanza della classe con il tipo previsto + + Tipo dell'eccezione prevista + + + + Inizializza una nuova istanza della classe con + il tipo previsto e il messaggio da includere quando il test non genera alcuna eccezione. + + Tipo dell'eccezione prevista + + Messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene un valore che indica il tipo dell'eccezione prevista + + + + + Ottiene o imposta un valore che indica se consentire a tipi derivati dal tipo dell'eccezione prevista + di qualificarsi come previsto + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Verifica che il tipo dell'eccezione generata dallo unit test sia prevista + + Eccezione generata dallo unit test + + + + Classe di base per attributi che specificano se prevedere che uno unit test restituisca un'eccezione + + + + + Inizializza una nuova istanza della classe con un messaggio per indicare nessuna eccezione + + + + + Inizializza una nuova istanza della classe con un messaggio che indica nessuna eccezione + + + Messaggio da includere nel risultato del test se il test non riesce perché non + viene generata un'eccezione + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene il messaggio predefinito per indicare nessuna eccezione + + Nome del tipo di attributo di ExpectedException + Messaggio predefinito per indicare nessuna eccezione + + + + Determina se l'eccezione è prevista. Se il metodo viene completato, si + presuppone che l'eccezione era prevista. Se il metodo genera un'eccezione, si + presuppone che l'eccezione non era prevista e il messaggio dell'eccezione generata + viene incluso nel risultato del test. Si può usare la classe per + comodità. Se si usa e l'asserzione non riesce, + il risultato del test viene impostato su Senza risultati. + + Eccezione generata dallo unit test + + + + Genera di nuovo l'eccezione se si tratta di un'eccezione AssertFailedException o AssertInconclusiveException + + Eccezione da generare di nuovo se si tratta di un'eccezione di asserzione + + + + Questa classe consente all'utente di eseguire testing unità per tipi che usano tipi generici. + GenericParameterHelper soddisfa alcuni dei vincoli di tipo generici più comuni, + ad esempio: + 1. costruttore predefinito pubblico + 2. implementa l'interfaccia comune: IComparable, IEnumerable + + + + + Inizializza una nuova istanza della classe che + soddisfa il vincolo 'newable' nei generics C#. + + + This constructor initializes the Data property to a random value. + + + + + Inizializza una nuova istanza della classe che + inizializza la proprietà Data con un valore fornito dall'utente. + + Qualsiasi valore Integer + + + + Ottiene o imposta i dati + + + + + Esegue il confronto dei valori di due oggetti GenericParameterHelper + + oggetto con cui eseguire il confronto + true se il valore di obj è uguale a quello dell'oggetto GenericParameterHelper 'this'; + in caso contrario, false. + + + + Restituisce un codice hash per questo oggetto. + + Codice hash. + + + + Confronta i dati dei due oggetti . + + Oggetto con cui eseguire il confronto. + + Numero con segno che indica i valori relativi di questa istanza e di questo valore. + + + Thrown when the object passed in is not an instance of . + + + + + Restituisce un oggetto IEnumerator la cui lunghezza viene derivata dalla + proprietà Data. + + L'oggetto IEnumerator + + + + Restituisce un oggetto GenericParameterHelper uguale a + quello corrente. + + Oggetto clonato. + + + + Consente agli utenti di registrare/scrivere tracce degli unit test per la diagnostica. + + + + + Gestore per LogMessage. + + Messaggio da registrare. + + + + Evento di cui rimanere in ascolto. Generato quando il writer di unit test scrive alcuni messaggi. + Utilizzato principalmente dall'adattatore. + + + + + API del writer di test da chiamare per registrare i messaggi. + + Formato stringa con segnaposto. + Parametri per segnaposto. + + + + Attributo TestCategory; usato per specificare la categoria di uno unit test. + + + + + Inizializza una nuova istanza della classe e applica la categoria al test. + + + Categoria di test. + + + + + Ottiene le categorie di test applicate al test. + + + + + Classe di base per l'attributo "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inizializza una nuova istanza della classe . + Applica la categoria al test. Le stringhe restituite da TestCategories + vengono usate con il comando /category per filtrare i test + + + + + Ottiene la categoria di test applicata al test. + + + + + Classe AssertFailedException. Usata per indicare un errore per un test case + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Inizializza una nuova istanza della classe . + + + + + Raccolta di classi helper per testare diverse condizioni + negli unit test. Se la condizione da testare non viene soddisfatta, + viene generata un'eccezione. + + + + + Ottiene l'istanza singleton della funzionalità Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Thrown if is false. + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Messaggio da includere nell'eccezione quando + è false. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is false. + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Messaggio da includere nell'eccezione quando + è false. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is false. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Thrown if is true. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Messaggio da includere nell'eccezione quando + è true. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is true. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Messaggio da includere nell'eccezione quando + è true. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is true. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Messaggio da includere nell'eccezione quando + non è Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Messaggio da includere nell'eccezione quando + non è Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Thrown if is null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Messaggio da includere nell'eccezione quando + è Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Messaggio da includere nell'eccezione quando + è Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is null. + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if refers to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if refers to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if refers to the same object + as . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if is not equal to . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Thrown if is not equal to + . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Messaggio da includere nell'eccezione quando + non è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Messaggio da includere nell'eccezione quando + non è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Messaggio da includere nell'eccezione quando + è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Messaggio da includere nell'eccezione quando + è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Genera un'eccezione AssertFailedException. + + + Always thrown. + + + + + Genera un'eccezione AssertFailedException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Always thrown. + + + + + Genera un'eccezione AssertFailedException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Always thrown. + + + + + Gli overload di uguaglianza statici vengono usati per confrontare istanze di due tipi e stabilire se + i riferimenti sono uguali. Questo metodo non deve essere usato per il confronto di uguaglianza tra due + istanze. Questo oggetto verrà sempre generato con Assert.Fail. Usare + Assert.AreEqual e gli overload associati negli unit test. + + Oggetto A + Oggetto B + Sempre false. + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione AssertFailedException se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione AssertFailedException se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Sostituisce caratteri Null ('\0') con "\\0". + + + Stringa da cercare. + + + Stringa convertita con caratteri Null sostituiti da "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Funzione helper che crea e genera un'eccezione AssertionFailedException + + + nome dell'asserzione che genera un'eccezione + + + messaggio che descrive le condizioni per l'errore di asserzione + + + Parametri. + + + + + Verifica la validità delle condizioni nel parametro + + + Parametro. + + + Nome dell'asserzione. + + + nome del parametro + + + messaggio per l'eccezione di parametro non valido + + + Parametri. + + + + + Converte in modo sicuro un oggetto in una stringa, gestendo valori e caratteri Null. + I valori Null vengono convertiti in "(null)". I caratteri Null vengono convertiti in "\\0". + + + Oggetto da convertire in una stringa. + + + Stringa convertita. + + + + + Asserzione della stringa. + + + + + Ottiene l'istanza singleton della funzionalità CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Messaggio da includere nell'eccezione quando + non inizia con . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Messaggio da includere nell'eccezione quando + non inizia con . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Messaggio da includere nell'eccezione quando + non termina con . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Messaggio da includere nell'eccezione quando + non termina con . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Messaggio da includere nell'eccezione quando + non corrisponde a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Messaggio da includere nell'eccezione quando + non corrisponde a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Thrown if matches . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Messaggio da includere nell'eccezione quando + corrisponde a . Il messaggio viene visualizzato nei risultati + del test. + + + Thrown if matches . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Messaggio da includere nell'eccezione quando + corrisponde a . Il messaggio viene visualizzato nei risultati + del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if matches . + + + + + Raccolta di classi helper per testare diverse condizioni associate + alle raccolte negli unit test. Se la condizione da testare non viene + soddisfatta, viene generata un'eccezione. + + + + + Ottiene l'istanza singleton della funzionalità CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Thrown if is found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + è presente in . Il messaggio viene visualizzato nei risultati + del test. + + + Thrown if is found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + è presente in . Il messaggio viene visualizzato nei risultati + del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Messaggio da includere nell'eccezione quando + contiene un elemento Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Messaggio da includere nell'eccezione quando + contiene un elemento Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Messaggio da includere nell'eccezione quando + contiene almeno un elemento duplicato. Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Messaggio da includere nell'eccezione quando + contiene almeno un elemento duplicato. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando un elemento in + non è presente in . + Il messaggio viene visualizzato nei risultati del test. + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando un elemento in + non è presente in . + Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Thrown if every element in is also found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando ogni elemento in + è presente anche in . + Il messaggio viene visualizzato nei risultati del test. + + + Thrown if every element in is also found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando ogni elemento in + è presente anche in . + Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if every element in is also found in + . + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando un elemento viene trovato + in una delle raccolte ma non nell'altra. Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando un elemento viene trovato + in una delle raccolte ma non nell'altra. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + contiene gli stessi elementi di . Il messaggio + viene visualizzato nei risultati del test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + contiene gli stessi elementi di . Il messaggio + viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Messaggio da includere nell'eccezione quando un elemento in + non è un'istanza di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Messaggio da includere nell'eccezione quando un elemento in + non è un'istanza di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Determina se la prima raccolta è un subset della seconda raccolta. + Se entrambi i set contengono elementi duplicati, il numero delle + occorrenze dell'elemento nel subset deve essere minore o uguale + a quello delle occorrenze nel superset. + + + Raccolta che il test presuppone debba essere contenuta in . + + + Raccolta che il test presuppone debba contenere . + + + True se è un subset di + ; in caso contrario, false. + + + + + Costruisce un dizionario contenente il numero di occorrenze di ogni + elemento nella raccolta specificata. + + + Raccolta da elaborare. + + + Numero di elementi Null presenti nella raccolta. + + + Dizionario contenente il numero di occorrenze di ogni elemento + nella raccolta specificata. + + + + + Trova un elemento senza corrispondenza tra le due raccolte. Per elemento + senza corrispondenza si intende un elemento che appare nella raccolta prevista + un numero di volte diverso rispetto alla raccolta effettiva. Si presuppone + che le raccolte siano riferimenti non Null diversi con lo stesso + numero di elementi. Il chiamante è responsabile di questo livello di + verifica. Se non ci sono elementi senza corrispondenza, la funzione + restituisce false e i parametri out non devono essere usati. + + + Prima raccolta da confrontare. + + + Seconda raccolta da confrontare. + + + Numero previsto di occorrenze di + o 0 se non ci sono elementi senza + corrispondenza. + + + Numero effettivo di occorrenze di + o 0 se non ci sono elementi senza + corrispondenza. + + + Elemento senza corrispondenza (può essere Null) o Null se non ci sono elementi + senza corrispondenza. + + + true se è stato trovato un elemento senza corrispondenza; in caso contrario, false. + + + + + confronta gli oggetti usando object.Equals + + + + + Classe di base per le eccezioni del framework. + + + + + Inizializza una nuova istanza della classe . + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Classe di risorse fortemente tipizzata per la ricerca di stringhe localizzate e così via. + + + + + Restituisce l'istanza di ResourceManager nella cache usata da questa classe. + + + + + Esegue l'override della proprietà CurrentUICulture del thread corrente per tutte + le ricerche di risorse eseguite usando questa classe di risorse fortemente tipizzata. + + + + + Cerca una stringa localizzata simile a La sintassi della stringa di accesso non è valida. + + + + + Cerca una stringa localizzata simile a La raccolta prevista contiene {1} occorrenza/e di <{2}>, mentre quella effettiva ne contiene {3}. {0}. + + + + + Cerca una stringa localizzata simile a È stato trovato un elemento duplicato:<{1}>. {0}. + + + + + Cerca una stringa localizzata simile a Il valore previsto è <{1}>, ma la combinazione di maiuscole/minuscole è diversa per il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È prevista una differenza minore di <{3}> tra il valore previsto <{1}> e il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a Valore previsto: <{1} ({2})>. Valore effettivo: <{3} ({4})>. {0}. + + + + + Cerca una stringa localizzata simile a Valore previsto: <{1}>. Valore effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È prevista una differenza maggiore di <{3}> tra il valore previsto <{1}> e il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È previsto un valore qualsiasi eccetto <{1}>. Valore effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a Non passare tipi valore a AreSame(). I valori convertiti in Object non saranno mai uguali. Usare AreEqual(). {0}. + + + + + Cerca una stringa localizzata simile a {0} non riuscita. {1}. + + + + + Cerca una stringa localizzata simile ad async TestMethod con UITestMethodAttribute non supportata. Rimuovere async o usare TestMethodAttribute. + + + + + Cerca una stringa localizzata simile a Le raccolte sono entrambe vuote. {0}. + + + + + Cerca una stringa localizzata simile a Le raccolte contengono entrambe gli stessi elementi. + + + + + Cerca una stringa localizzata simile a I riferimenti a raccolte puntano entrambi allo stesso oggetto Collection. {0}. + + + + + Cerca una stringa localizzata simile a Le raccolte contengono entrambe gli stessi elementi. {0}. + + + + + Cerca una stringa localizzata simile a {0}({1}). + + + + + Cerca una stringa localizzata simile a (Null). + + + + + Cerca una stringa localizzata simile a (oggetto). + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non contiene la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a {0} ({1}). + + + + + Cerca una stringa localizzata simile a Per le asserzioni non usare Assert.Equals, ma preferire Assert.AreEqual e gli overload. + + + + + Cerca una stringa localizzata simile a Il numero di elementi nelle raccolte non corrisponde. Valore previsto: <{1}>. Valore effettivo: <{2}>.{0}. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {0} non corrisponde. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {1} non è del tipo previsto. Tipo previsto: <{2}>. Tipo effettivo: <{3}>.{0}. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {1} è (Null). Tipo previsto: <{2}>.{0}. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non termina con la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Argomento non valido: EqualsTester non può usare valori Null. + + + + + Cerca una stringa localizzata simile a Non è possibile convertire un oggetto di tipo {0} in {1}. + + + + + Cerca una stringa localizzata simile a L'oggetto interno a cui si fa riferimento non è più valido. + + + + + Cerca una stringa localizzata simile a Il parametro '{0}' non è valido. {1}. + + + + + Cerca una stringa localizzata simile a Il tipo della proprietà {0} è {1}, ma quello previsto è {2}. + + + + + Cerca una stringa localizzata simile a Tipo previsto di {0}: <{1}>. Tipo effettivo: <{2}>. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non corrisponde al criterio '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Tipo errato: <{1}>. Tipo effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' corrisponde al criterio '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Non è stato specificato alcun elemento DataRowAttribute. Con DataTestMethodAttribute è necessario almeno un elemento DataRowAttribute. + + + + + Cerca una stringa localizzata simile a Non è stata generata alcuna eccezione. Era prevista un'eccezione {1}. {0}. + + + + + Cerca una stringa localizzata simile a Il parametro '{0}' non è valido. Il valore non può essere Null. {1}. + + + + + Cerca una stringa localizzata simile a Il numero di elementi è diverso. + + + + + Cerca una stringa localizzata simile a + Il costruttore con la firma specificata non è stato trovato. Potrebbe essere necessario rigenerare la funzione di accesso privata + oppure il membro potrebbe essere privato e definito per una classe di base. In quest'ultimo caso, è necessario passare il tipo + che definisce il membro nel costruttore di PrivateObject. + . + + + + + Cerca una stringa localizzata simile a + Il membro specificato ({0}) non è stato trovato. Potrebbe essere necessario rigenerare la funzione di accesso privata + oppure il membro potrebbe essere privato e definito per una classe di base. In quest'ultimo caso, è necessario passare il tipo + che definisce il membro nel costruttore di PrivateObject. + . + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non inizia con la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Il tipo di eccezione previsto deve essere System.Exception o un tipo derivato da System.Exception. + + + + + Cerca una stringa localizzata simile a Non è stato possibile ottenere il messaggio per un'eccezione di tipo {0} a causa di un'eccezione. + + + + + Cerca una stringa localizzata simile a Il metodo di test non ha generato l'eccezione prevista {0}. {1}. + + + + + Cerca una stringa localizzata simile a Il metodo di test non ha generato un'eccezione. È prevista un'eccezione dall'attributo {0} definito nel metodo di test. + + + + + Cerca una stringa localizzata simile a Il metodo di test ha generato l'eccezione {0}, ma era prevista l'eccezione {1}. Messaggio dell'eccezione: {2}. + + + + + Cerca una stringa localizzata simile a Il metodo di test ha generato l'eccezione {0}, ma era prevista l'eccezione {1} o un tipo derivato da essa. Messaggio dell'eccezione: {2}. + + + + + Cerca una stringa localizzata simile a È stata generata l'eccezione {2}, ma era prevista un'eccezione {1}. {0} + Messaggio dell'eccezione: {3} + Analisi dello stack: {4}. + + + + + risultati degli unit test + + + + + Il test è stato eseguito, ma si sono verificati errori. + Gli errori possono implicare eccezioni o asserzioni non riuscite. + + + + + Il test è stato completato, ma non è possibile determinare se è stato o meno superato. + Può essere usato per test interrotti. + + + + + Il test è stato eseguito senza problemi. + + + + + Il test è attualmente in corso. + + + + + Si è verificato un errore di sistema durante il tentativo di eseguire un test. + + + + + Timeout del test. + + + + + Il test è stato interrotto dall'utente. + + + + + Il test si trova in uno stato sconosciuto + + + + + Fornisce la funzionalità di helper per il framework degli unit test + + + + + Ottiene i messaggi di eccezione in modo ricorsivo, inclusi quelli relativi a + tutte le eccezioni interne + + Eccezione per cui ottenere i messaggi + stringa con le informazioni sul messaggio di errore + + + + Enumerazione per i timeout, che può essere usata con la classe . + Il tipo dell'enumerazione deve corrispondere + + + + + Valore infinito. + + + + + Attributo della classe di test. + + + + + Ottiene un attributo di metodo di test che consente di eseguire questo test. + + Istanza di attributo del metodo di test definita in questo metodo. + Oggetto da usare per eseguire questo test. + Extensions can override this method to customize how all methods in a class are run. + + + + Attributo del metodo di test. + + + + + Esegue un metodo di test. + + Metodo di test da eseguire. + Matrice di oggetti TestResult che rappresentano il risultato o i risultati del test. + Extensions can override this method to customize running a TestMethod. + + + + Attributo di inizializzazione test. + + + + + Attributo di pulizia dei test. + + + + + Attributo ignore. + + + + + Attributo della proprietà di test. + + + + + Inizializza una nuova istanza della classe . + + + Nome. + + + Valore. + + + + + Ottiene il nome. + + + + + Ottiene il valore. + + + + + Attributo di inizializzazione classi. + + + + + Attributo di pulizia delle classi. + + + + + Attributo di inizializzazione assembly. + + + + + Attributo di pulizia degli assembly. + + + + + Proprietario del test + + + + + Inizializza una nuova istanza della classe . + + + Proprietario. + + + + + Ottiene il proprietario. + + + + + Attributo Priority; usato per specificare la priorità di uno unit test. + + + + + Inizializza una nuova istanza della classe . + + + Priorità. + + + + + Ottiene la priorità. + + + + + Descrizione del test + + + + + Inizializza una nuova istanza della classe per descrivere un test. + + Descrizione. + + + + Ottiene la descrizione di un test. + + + + + URI della struttura di progetto CSS + + + + + Inizializza una nuova istanza della classe per l'URI della struttura di progetto CSS. + + URI della struttura di progetto CSS. + + + + Ottiene l'URI della struttura di progetto CSS. + + + + + URI dell'iterazione CSS + + + + + Inizializza una nuova istanza della classe per l'URI dell'iterazione CSS. + + URI dell'iterazione CSS. + + + + Ottiene l'URI dell'iterazione CSS. + + + + + Attributo WorkItem; usato per specificare un elemento di lavoro associato a questo test. + + + + + Inizializza una nuova istanza della classe per l'attributo WorkItem. + + ID di un elemento di lavoro. + + + + Ottiene l'ID di un elemento di lavoro associato. + + + + + Attributo Timeout; usato per specificare il timeout di uno unit test. + + + + + Inizializza una nuova istanza della classe . + + + Timeout. + + + + + Inizializza una nuova istanza della classe con un timeout preimpostato + + + Timeout + + + + + Ottiene il timeout. + + + + + Oggetto TestResult da restituire all'adattatore. + + + + + Inizializza una nuova istanza della classe . + + + + + Ottiene o imposta il nome visualizzato del risultato. Utile quando vengono restituiti più risultati. + Se è Null, come nome visualizzato viene usato il nome del metodo. + + + + + Ottiene o imposta il risultato dell'esecuzione dei test. + + + + + Ottiene o imposta l'eccezione generata quando il test non viene superato. + + + + + Ottiene o imposta l'output del messaggio registrato dal codice del test. + + + + + Ottiene o imposta l'output del messaggio registrato dal codice del test. + + + + + Ottiene o imposta le tracce di debug in base al codice del test. + + + + + Gets or sets the debug traces by test code. + + + + + Ottiene o imposta la durata dell'esecuzione dei test. + + + + + Ottiene o imposta l'indice della riga di dati nell'origine dati. Impostare solo per risultati di singole + esecuzioni della riga di dati di un test basato sui dati. + + + + + Ottiene o imposta il valore restituito del metodo di test. Attualmente è sempre Null. + + + + + Ottiene o imposta i file di risultati allegati dal test. + + + + + Specifica la stringa di connessione, il nome tabella e il metodo di accesso alle righe per test basati sui dati. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nome del provider predefinito per DataSource. + + + + + Metodo predefinito di accesso ai dati. + + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con un provider di dati, la stringa di connessione, la tabella dati e il metodo di accesso ai dati per accedere all'origine dati. + + Nome del provider di dati non dipendente da paese/area geografica, ad esempio System.Data.SqlClient + + Stringa di connessione specifica del provider di dati. + AVVISO: la stringa di connessione può contenere dati sensibili, ad esempio una password. + La stringa di connessione è archiviata in formato testo normale nel codice sorgente e nell'assembly compilato. + Limitare l'accesso al codice sorgente e all'assembly per proteggere questi dati sensibili. + + Nome della tabella dati. + Specifica l'ordine per l'accesso ai dati. + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con una stringa di connessione e un nome tabella. + Specificare la stringa di connessione e la tabella dati per accedere all'origine dati OLEDB. + + + Stringa di connessione specifica del provider di dati. + AVVISO: la stringa di connessione può contenere dati sensibili, ad esempio una password. + La stringa di connessione è archiviata in formato testo normale nel codice sorgente e nell'assembly compilato. + Limitare l'accesso al codice sorgente e all'assembly per proteggere questi dati sensibili. + + Nome della tabella dati. + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con un provider di dati e la stringa di connessione associata al nome dell'impostazione. + + Nome di un'origine dati trovata nella sezione <microsoft.visualstudio.qualitytools> del file app.config. + + + + Ottiene un valore che rappresenta il provider di dati dell'origine dati. + + + Nome del provider di dati. Se non è stato designato un provider di dati durante l'inizializzazione dell'oggetto, verrà restituito il provider predefinito di System.Data.OleDb. + + + + + Ottiene un valore che rappresenta la stringa di connessione per l'origine dati. + + + + + Ottiene un valore che indica il nome della tabella che fornisce i dati. + + + + + Ottiene il metodo usato per accedere all'origine dati. + + + + Uno dei valori di . Se non è inizializzato, restituirà il valore predefinito . + + + + + Ottiene il nome di un'origine dati trovata nella sezione <microsoft.visualstudio.qualitytools> del file app.config. + + + + + Attributo per il test basato sui dati in cui è possibile specificare i dati inline. + + + + + Trova tutte le righe di dati e le esegue. + + + Metodo di test. + + + Matrice di istanze di . + + + + + Esegue il metodo di test basato sui dati. + + Metodo di test da eseguire. + Riga di dati. + Risultati dell'esecuzione. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..922b5b1 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 実行用の TestMethod。 + + + + + テスト メソッドの名前を取得します。 + + + + + テスト クラスの名前を取得します。 + + + + + テスト メソッドの戻り値の型を取得します。 + + + + + テスト メソッドのパラメーターを取得します。 + + + + + テスト メソッドの methodInfo を取得します。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + テスト メソッドを呼び出します。 + + + テスト メソッドに渡す引数。(データ ドリブンの場合など) + + + テスト メソッド呼び出しの結果。 + + + This call handles asynchronous test methods as well. + + + + + テスト メソッドのすべての属性を取得します。 + + + 親クラスで定義されている属性が有効かどうか。 + + + すべての属性。 + + + + + 特定の型の属性を取得します。 + + System.Attribute type. + + 親クラスで定義されている属性が有効かどうか。 + + + 指定した種類の属性。 + + + + + ヘルパー。 + + + + + null でない確認パラメーター。 + + + パラメーター。 + + + パラメーター名。 + + + メッセージ。 + + Throws argument null exception when parameter is null. + + + + null または空でない確認パラメーター。 + + + パラメーター。 + + + パラメーター名。 + + + メッセージ。 + + Throws ArgumentException when parameter is null. + + + + データ ドリブン テストのデータ行にアクセスする方法の列挙型。 + + + + + 行は順番に返されます。 + + + + + 行はランダムに返されます。 + + + + + テスト メソッドのインライン データを定義する属性。 + + + + + クラスの新しいインスタンスを初期化します。 + + データ オブジェクト。 + + + + 引数の配列を受け入れる クラスの新しいインスタンスを初期化します。 + + データ オブジェクト。 + 追加のデータ。 + + + + テスト メソッドを呼び出すデータを取得します。 + + + + + カスタマイズするために、テスト結果の表示名を取得または設定します。 + + + + + assert inconclusive 例外。 + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + InternalTestFailureException クラス。テスト ケースの内部エラーを示すために使用されます + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + クラスの新しいインスタンスを初期化します。 + + 例外メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + 例外メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + 指定した型の例外を予期するよう指定する属性 + + + + + 予期される型を指定して、 クラスの新しいインスタンスを初期化する + + 予期される例外の型 + + + + 予期される型と、テストで例外がスローされない場合に含めるメッセージとを指定して + クラスの新しいインスタンスを初期化します。 + + 予期される例外の型 + + 例外がスローされなかったことが原因でテストが失敗した場合に、テスト結果に含まれるメッセージ + + + + + 予期される例外の型を示す値を取得する + + + + + 予期される例外の型から派生した型を予期される型として使用できるかどうかを示す値を + 取得または設定する + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 単体テストでスローされる例外の型が予期される型であることを検証する + + 単体テストでスローされる例外 + + + + 単体テストからの例外を予期するように指定する属性の基底クラス + + + + + 既定の例外なしメッセージを指定して クラスの新しいインスタンスを初期化する + + + + + 例外なしメッセージを指定して クラスの新しいインスタンスを初期化します + + + 例外がスローされなかったことが原因でテストが失敗した場合に、 + テスト結果に含まれるメッセージ + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 既定の例外なしメッセージを取得する + + ExpectedException 属性の型名 + 既定の例外なしメッセージ + + + + 例外が予期されているかどうかを判断します。メソッドが戻る場合は、 + 例外が予期されていたと解釈されます。メソッドが例外をスローする場合は、 + 例外が予期されていなかったと解釈され、スローされた例外のメッセージが + テスト結果に含められます。便宜上、 クラスを使用できます。 + が使用され、アサーションが失敗すると、 + テスト成果は [結果不確定] に設定されます。 + + 単体テストでスローされる例外 + + + + AssertFailedException または AssertInconclusiveException である場合に、例外を再スローする + + アサーション例外である場合に再スローされる例外 + + + + このクラスは、ジェネリック型を使用する型の単体テストを実行するユーザーを支援するように設計されています。 + GenericParameterHelper は、次のようないくつかの共通ジェネリック型制約を + 満たしています: + 1. パブリックの既定のコンストラクター + 2. 共通インターフェイスを実装します: IComparable、IEnumerable + + + + + C# ジェネリックの 'newable' 制約を満たす + クラスの新しいインスタンスを初期化します。 + + + This constructor initializes the Data property to a random value. + + + + + Data プロパティをユーザー指定の値に初期化する クラスの + 新しいインスタンスを初期化します。 + + 任意の整数値 + + + + データを取得または設定する + + + + + 2 つの GenericParameterHelper オブジェクトの値の比較を実行する + + 次との比較を実行するオブジェクト + オブジェクトの値が 'this' GenericParameterHelper オブジェクトと同じ値である場合は true。 + それ以外の場合は、false。 + + + + このオブジェクトのハッシュコードを返します。 + + ハッシュ コード。 + + + + 2 つの オブジェクトのデータを比較します。 + + 比較対象のオブジェクト。 + + このインスタンスと値の相対値を示す符号付きの数値。 + + + Thrown when the object passed in is not an instance of . + + + + + 長さが Data プロパティから派生している IEnumerator オブジェクト + を返します。 + + IEnumerator オブジェクト + + + + 現在のオブジェクトに相当する GenericParameterHelper + オブジェクトを返します。 + + 複製されたオブジェクト。 + + + + ユーザーが診断用に単体テストからトレースをログ記録/書き込みできるようにします。 + + + + + LogMessage のハンドラー。 + + ログに記録するメッセージ。 + + + + リッスンするイベント。単体テスト ライターがメッセージを書き込むときに発生します。 + 主にアダプターによって消費されます。 + + + + + テスト ライターがメッセージをログ記録するために呼び出す API。 + + プレースホルダーを含む文字列形式。 + プレースホルダーのパラメーター。 + + + + TestCategory 属性。単体テストのカテゴリを指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化し、カテゴリをテストに適用します。 + + + テスト カテゴリ。 + + + + + テストに適用されているテスト カテゴリを取得します。 + + + + + "Category" 属性の基底クラス + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + クラスの新しいインスタンスを初期化します。 + カテゴリをテストに適用します。TestCategories で返される文字列は + テストをフィルター処理する /category コマンドで使用されます + + + + + テストに適用されているテスト カテゴリを取得します。 + + + + + AssertFailedException クラス。テスト ケースのエラーを示すために使用されます + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + 単体テスト内のさまざまな条件をテストするヘルパー クラスの + コレクション。テスト対象の条件を満たしていない場合は、 + 例外がスローされます。 + + + + + Assert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + Thrown if is false. + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + false の場合。メッセージはテスト結果に表示されます。 + + + Thrown if is false. + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + false の場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is false. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + Thrown if is true. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + true の場合。メッセージはテスト結果に表示されます。 + + + Thrown if is true. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + true の場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is true. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null でない場合。メッセージはテスト結果に表示されます。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null でない場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + Thrown if is null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null である場合。メッセージはテスト結果に表示されます。 + + + Thrown if is null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null である場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is null. + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + Thrown if does not refer to the same object + as . + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not refer to the same object + as . + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not refer to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + Thrown if refers to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + と同じである場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if refers to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + と同じである場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if refers to the same object + as . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + Thrown if is not equal to . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + Thrown if is equal to . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + Thrown if is not equal to + . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスである場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスである場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + AssertFailedException をスローします。 + + + Always thrown. + + + + + AssertFailedException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Always thrown. + + + + + AssertFailedException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Always thrown. + + + + + 静的な Equals オーバーロードは、2 つの型のインスタンスを比較して参照の等価性を調べる + ために使用されます。2 つのインスタンスを比較して等価性を調べるためにこのメソッドを使用 + することはできません。このオブジェクトは常に Assert.Fail を使用してスロー + します。単体テストでは、Assert.AreEqual および関連するオーバーロードをご使用ください。 + + オブジェクト A + オブジェクト B + 常に false。 + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に AssertFailedException をスローするかどうかをテストします。 + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + 次の場合に、例外に含まれるメッセージ + 以下の型の例外をスローしない場合。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に AssertFailedException をスローするかどうかをテストします。 + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + 次の場合に、例外に含まれるメッセージ + 以下の型の例外をスローしない場合。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + null 文字 ('\0') を "\\0" に置き換えます。 + + + 検索する文字列。 + + + "\\0" で置き換えられた null 文字を含む変換された文字列。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException を作成して、スローするヘルパー関数 + + + 例外をスローするアサーションの名前 + + + アサーション エラーの条件を記述するメッセージ + + + パラメーター。 + + + + + 有効な条件であるかパラメーターを確認します + + + パラメーター。 + + + アサーション名。 + + + パラメーター名 + + + 無効なパラメーター例外のメッセージ + + + パラメーター。 + + + + + 安全にオブジェクトを文字列に変換し、null 値と null 文字を処理します。 + null 値は "(null)" に変換されます。null 文字は "\\0" に変換されます。 + + + 文字列に変換するオブジェクト。 + + + 変換された文字列。 + + + + + 文字列のアサート。 + + + + + CollectionAssert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + Thrown if is not found in + . + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not found in + . + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not found in + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 先頭が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 先頭が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + Thrown if does not end with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 末尾が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not end with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 末尾が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not end with + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致しない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致しない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + Thrown if matches . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致する場合 。メッセージはテスト結果に + 表示されます。 + + + Thrown if matches . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致する場合 。メッセージはテスト結果に + 表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if matches . + + + + + 単体テスト内のコレクションと関連付けられている + さまざまな条件をテストするヘルパー クラスのコレクション。テスト対象の条件を満たしていない場合は、 + 例外がスローされます。 + + + + + CollectionAssert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + Thrown if is found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + が次にある場合 。メッセージはテスト結果に + 表示されます。 + + + Thrown if is found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + が次にある場合 。メッセージはテスト結果に + 表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is found in + . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + null 要素を含む場合。メッセージはテスト結果に表示されます。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + null 要素を含む場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + Thrown if a two or more equal elements are found in + . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + 少なくとも 1 つの重複する要素が含まれています。メッセージは + テスト結果に表示されます。 + + + Thrown if a two or more equal elements are found in + . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + 少なくとも 1 つの重複する要素が含まれています。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if a two or more equal elements are found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次に見つからない場合 . + メッセージはテスト結果に表示されます。 + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次に見つからない場合 . + メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + Thrown if every element in is also found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + 次にあるすべての要素が次である場合に、例外に含まれるメッセージ + 次にもある場合 . + メッセージはテスト結果に表示されます。 + + + Thrown if every element in is also found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + 次にあるすべての要素が次である場合に、例外に含まれるメッセージ + 次にもある場合 . + メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if every element in is also found in + . + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 要素が 2 つのコレクションのどちらかのみに見つかった場合に + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 要素が 2 つのコレクションのどちらかのみに見つかった場合に + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じ要素を含む場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じ要素を含む場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 最初のコレクションが 2 番目のコレクションのサブセットであるかどうかを + 決定します。いずれかのセットに重複する要素が含まれている場合は、 + サブセット内の要素の出現回数は + スーパーセット内の出現回数以下である必要があります。 + + + テストで次に含まれると予期されるコレクション 。 + + + テストで次を含むと予期されるコレクション 。 + + + 次の場合は true 次のサブセットの場合 + 、それ以外の場合は false。 + + + + + 指定したコレクションの各要素の出現回数を含む + 辞書を構築します。 + + + 処理するコレクション。 + + + コレクション内の null 要素の数。 + + + 指定したコレクション内の各要素の + 出現回数を含むディレクトリ。 + + + + + 2 つのコレクション間で一致しない要素を検索します。 + 一致しない要素とは、予期されるコレクションでの出現回数が + 実際のコレクションでの出現回数と異なる要素のことです。 + コレクションは、同じ数の要素を持つ、null ではない + さまざまな参照と見なされます。このレベルの検証を行う責任は + 呼び出し側にあります。一致しない要素がない場合、 + 関数は false を返し、out パラメーターは使用されません。 + + + 比較する最初のコレクション。 + + + 比較する 2 番目のコレクション。 + + + 次の予期される発生回数 + または一致しない要素がない場合は + 0 です。 + + + 次の実際の発生回数 + または一致しない要素がない場合は + 0 です。 + + + 一致しない要素 (null の場合があります)、または一致しない要素がない場合は + null です。 + + + 一致しない要素が見つかった場合は true、それ以外の場合は false。 + + + + + object.Equals を使用してオブジェクトを比較する + + + + + フレームワーク例外の基底クラス。 + + + + + クラスの新しいインスタンスを初期化します。 + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラス。 + + + + + このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。 + + + + + 厳密に型指定されたこのリソース クラスを使用して、現在のスレッドの + CurrentUICulture プロパティをすべてのリソース ルックアップで無視します。 + + + + + "アクセス文字列は無効な構文を含んでいます。" に類似したローカライズされた文字列を検索します。 + + + + + "予期されたコレクションでは、<{2}> が {1} 回発生します。実際のコレクションでは、{3} 回発生します。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "重複する項目が見つかりました:<{1}>。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> が必要です。実際の値: <{2}> では大文字と小文字が異なります。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "指定する値 <{1}> と実際の値 <{2}> との間には <{3}> 以内の差が必要です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1} ({2})> が必要ですが、<{3} ({4})> が指定されました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> が必要ですが、<{2}> が指定されました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "指定する値 <{1}> と実際の値 <{2}> との間には <{3}> を超える差が必要です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> 以外の任意の値が必要ですが、<{2}> が指定されています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "AreSame() に値型を渡すことはできません。オブジェクトに変換された値は同じになりません。AreEqual() を使用することを検討してください。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "{0} に失敗しました。{1}" に類似したローカライズされた文字列を検索します。 + + + + + "UITestMethodAttribute が指定された非同期の TestMethod はサポートされていません。非同期を削除するか、TestMethodAttribute を使用してください。" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが空です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが同じ要素を含んでいます。" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションの参照が、同じコレクション オブジェクトにポイントしています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが同じ要素を含んでいます。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "{0}({1})" に類似したローカライズされた文字列を検索します。 + + + + + "(null)" に類似したローカライズされた文字列を検索します。 + + + + + Looks up a localized string similar to (object). + + + + + "文字列 '{0}' は文字列 '{1}' を含んでいません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "{0} ({1})" に類似したローカライズされた文字列を検索します。 + + + + + "アサーションには Assert.Equals を使用せずに、Assert.AreEqual とオーバーロードを使用してください。" に類似したローカライズされた文字列を検索します。 + + + + + "コレクション内の要素数が一致しません。<{1}> が必要ですが <{2}> が指定されています。{0}。" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {0} の要素が一致しません。" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {1} の要素は、必要な型ではありません。<{2}> が必要ですが、<{3}> が指定されています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {1} の要素は null です。必要な型:<{2}>。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' は文字列 '{1}' で終わりません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "無効な引数 - EqualsTester は null を使用することはできません。" に類似したローカライズされた文字列を検索します。 + + + + + "型 {0} のオブジェクトを {1} に変換できません。" に類似したローカライズされた文字列を検索します。 + + + + + "参照された内部オブジェクトは、現在有効ではありません。" に類似したローカライズされた文字列を検索します。 + + + + + "パラメーター '{0}' は無効です。{1}。" に類似したローカライズされた文字列を検索します。 + + + + + "プロパティ {0} は型 {1} を含んでいますが、型 {2} が必要です。" に類似したローカライズされた文字列を検索します。 + + + + + "{0} には型 <{1}> が必要ですが、型 <{2}> が指定されました。" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' は、パターン '{1}' と一致しません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "正しくない型は <{1}> であり、実際の型は <{2}> です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' はパターン '{1}' と一致します。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "DataRowAttribute が指定されていません。DataTestMethodAttribute では少なくとも 1 つの DataRowAttribute が必要です。" に類似したローカライズされた文字列を検索します。 + + + + + "例外がスローされませんでした。{1} の例外が予期されていました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "パラメーター '{0}' は無効です。値を null にすることはできません。{1}。" に類似したローカライズされた文字列を検索します。 + + + + + "要素数が異なります。" に類似したローカライズされた文字列を検索します。 + + + + + "指定されたシグネチャを使用するコンストラクターが見つかりませんでした。 + プライベート アクセサーを再生成しなければならないか、 + またはメンバーがプライベートであり、基底クラスで定義されている可能性があります。後者である場合、メンバーを + PrivateObject のコンストラクターに定義する型を渡す必要があります。" に類似したローカライズされた文字列を検索します。 + + + + + + "指定されたメンバー ({0}) が見つかりませんでした。プライベート アクセサーを再生成しなければならないか、 + またはメンバーがプライベートであり、基底クラスで定義されている可能性があります。後者である場合、メンバーを + 定義する型を PrivateObject のコンストラクターに渡す必要があります。" + に類似したローカライズされた文字列を検索します。 + + + + + + "文字列 '{0}' は文字列 '{1}' で始まりません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "予期される例外の型は System.Exception または System.Exception の派生型である必要があります。" に類似したローカライズされた文字列を検索します。 + + + + + "(例外が発生したため、型 {0} の例外のメッセージを取得できませんでした。)" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは予期された例外 {0} をスローしませんでした。{1}" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは例外をスローしませんでした。テスト メソッドで定義されている属性 {0} で例外が予期されていました。" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは、例外 {0} をスローしましたが、例外 {1} が予期されていました。例外メッセージ: {2}" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは、例外 {0} をスローしましたが、例外 {1} またはその派生型が予期されていました。例外メッセージ: {2}" に類似したローカライズされた文字列を検索します。 + + + + + "例外 {2} がスローされましたが、例外 {1} が予期されていました。{0} + 例外メッセージ: {3} + スタック トレース: {4}" に類似したローカライズされた文字列を検索します。 + + + + + 単体テストの成果 + + + + + テストを実行しましたが、問題が発生しました。 + 問題には例外または失敗したアサーションが関係している可能性があります。 + + + + + テストが完了しましたが、成功したか失敗したかは不明です。 + 中止したテストに使用される場合があります。 + + + + + 問題なくテストが実行されました。 + + + + + 現在テストを実行しています。 + + + + + テストを実行しようとしているときにシステム エラーが発生しました。 + + + + + テストがタイムアウトしました。 + + + + + ユーザーによってテストが中止されました。 + + + + + テストは不明な状態です + + + + + 単体テストのフレームワークのヘルパー機能を提供する + + + + + すべての内部例外のメッセージなど、例外メッセージを + 再帰的に取得します + + 次のメッセージを取得する例外 + エラー メッセージ情報を含む文字列 + + + + クラスで使用できるタイムアウトの列挙型。 + 列挙型の型は一致している必要があります + + + + + 無限。 + + + + + テスト クラス属性。 + + + + + このテストの実行を可能するテスト メソッド属性を取得します。 + + このメソッドで定義されているテスト メソッド属性インスタンス。 + The 。このテストを実行するために使用されます。 + Extensions can override this method to customize how all methods in a class are run. + + + + テスト メソッド属性。 + + + + + テスト メソッドを実行します。 + + 実行するテスト メソッド。 + テストの結果を表す TestResult オブジェクトの配列。 + Extensions can override this method to customize running a TestMethod. + + + + テスト初期化属性。 + + + + + テスト クリーンアップ属性。 + + + + + Ignore 属性。 + + + + + テストのプロパティ属性。 + + + + + クラスの新しいインスタンスを初期化します。 + + + 名前。 + + + 値。 + + + + + 名前を取得します。 + + + + + 値を取得します。 + + + + + クラス初期化属性。 + + + + + クラス クリーンアップ属性。 + + + + + アセンブリ初期化属性。 + + + + + アセンブリ クリーンアップ属性。 + + + + + テストの所有者 + + + + + クラスの新しいインスタンスを初期化します。 + + + 所有者。 + + + + + 所有者を取得します。 + + + + + 優先順位属性。単体テストの優先順位を指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化します。 + + + 優先順位。 + + + + + 優先順位を取得します。 + + + + + テストの説明 + + + + + テストを記述する クラスの新しいインスタンスを初期化します。 + + 説明。 + + + + テストの説明を取得します。 + + + + + CSS プロジェクト構造の URI + + + + + CSS プロジェクト構造の URI の クラスの新しいインスタンスを初期化します。 + + CSS プロジェクト構造の URI。 + + + + CSS プロジェクト構造の URI を取得します。 + + + + + CSS イテレーション URI + + + + + CSS イテレーション URI の クラスの新しいインスタンスを初期化します。 + + CSS イテレーション URI。 + + + + CSS イテレーション URI を取得します。 + + + + + WorkItem 属性。このテストに関連付けられている作業項目の指定に使用されます。 + + + + + WorkItem 属性の クラスの新しいインスタンスを初期化します。 + + 作業項目に対する ID。 + + + + 関連付けられている作業項目に対する ID を取得します。 + + + + + タイムアウト属性。単体テストのタイムアウトを指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化します。 + + + タイムアウト。 + + + + + 事前設定するタイムアウトを指定して クラスの新しいインスタンスを初期化する + + + タイムアウト + + + + + タイムアウトを取得します。 + + + + + アダプターに返される TestResult オブジェクト。 + + + + + クラスの新しいインスタンスを初期化します。 + + + + + 結果の表示名を取得または設定します。複数の結果が返される場合に便利です。 + null の場合は、メソッド名が DisplayName として使用されます。 + + + + + テスト実行の成果を取得または設定します。 + + + + + テストが失敗した場合にスローされる例外を取得または設定します。 + + + + + テスト コードでログに記録されたメッセージの出力を取得または設定します。 + + + + + テスト コードでログに記録されたメッセージの出力を取得または設定します。 + + + + + テスト コードでデバッグ トレースを取得または設定します。 + + + + + Gets or sets the debug traces by test code. + + + + + テスト実行の期間を取得または設定します。 + + + + + データ ソース内のデータ行インデックスを取得または設定します。データ ドリブン テストの一続きのデータ行の + それぞれの結果に対してのみ設定されます。 + + + + + テスト メソッドの戻り値を取得または設定します。(現在は、常に null です)。 + + + + + テストで添付された結果ファイルを取得または設定します。 + + + + + データ ドリブン テストの接続文字列、テーブル名、行アクセス方法を指定します。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource の既定のプロバイダー名。 + + + + + 既定のデータ アクセス方法。 + + + + + クラスの新しいインスタンスを初期化します。このインスタンスは、データ ソースにアクセスするためのデータ プロバイダー、接続文字列、データ テーブル、データ アクセス方法を指定して初期化されます。 + + System.Data.SqlClient などデータ プロバイダーの不変名 + + データ プロバイダー固有の接続文字列。 + 警告: 接続文字列には機微なデータ (パスワードなど) を含めることができます。 + 接続文字列はソース コードのプレーンテキストとコンパイルされたアセンブリに保存されます。 + ソース コードとアセンブリへのアクセスを制限して、この秘匿性の高い情報を保護します。 + + データ テーブルの名前。 + データにアクセスする順番をしています。 + + + + クラスの新しいインスタンスを初期化します。このインスタンスは接続文字列とテーブル名を指定して初期化されます。 + OLEDB データ ソースにアクセスするには接続文字列とデータ テーブルを指定します。 + + + データ プロバイダー固有の接続文字列。 + 警告: 接続文字列には機微なデータ (パスワードなど) を含めることができます。 + 接続文字列はソース コードのプレーンテキストとコンパイルされたアセンブリに保存されます。 + ソース コードとアセンブリへのアクセスを制限して、この秘匿性の高い情報を保護します。 + + データ テーブルの名前。 + + + + クラスの新しいインスタンスを初期化します。このインスタンスは設定名に関連付けられているデータ プロバイダーと接続文字列を使用して初期化されます。 + + app.config ファイルの <microsoft.visualstudio.qualitytools> セクションにあるデータ ソースの名前。 + + + + データ ソースのデータ プロバイダーを表す値を取得します。 + + + データ プロバイダー名。データ プロバイダーがオブジェクトの初期化時に指定されていなかった場合は、System.Data.OleDb の既定のプロバイダーが返されます。 + + + + + データ ソースの接続文字列を表す値を取得します。 + + + + + データを提供するテーブル名を示す値を取得します。 + + + + + データ ソースへのアクセスに使用するメソッドを取得します。 + + + + 次のいずれか 値。以下の場合 初期化されていない場合は、これは既定値を返します 。 + + + + + app.config ファイルの <microsoft.visualstudio.qualitytools> セクションで見つかるデータ ソースの名前を取得します。 + + + + + データをインラインで指定できるデータ ドリブン テストの属性。 + + + + + すべてのデータ行を検索して、実行します。 + + + テスト メソッド。 + + + 次の配列 。 + + + + + データ ドリブン テスト メソッドを実行します。 + + 実行するテスト メソッド。 + データ行. + 実行の結果。 + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..22e769a --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 실행을 위한 TestMethod입니다. + + + + + 테스트 메서드의 이름을 가져옵니다. + + + + + 테스트 클래스의 이름을 가져옵니다. + + + + + 테스트 메서드의 반환 형식을 가져옵니다. + + + + + 테스트 메서드의 매개 변수를 가져옵니다. + + + + + 테스트 메서드에 대한 methodInfo를 가져옵니다. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 테스트 메서드를 호출합니다. + + + 테스트 메서드에 전달할 인수(예: 데이터 기반의 경우) + + + 테스트 메서드 호출의 결과. + + + This call handles asynchronous test methods as well. + + + + + 테스트 메서드의 모든 특성을 가져옵니다. + + + 부모 클래스에 정의된 특성이 올바른지 여부입니다. + + + 모든 특성. + + + + + 특정 형식의 특성을 가져옵니다. + + System.Attribute type. + + 부모 클래스에 정의된 특성이 올바른지 여부입니다. + + + 지정한 형식의 특성입니다. + + + + + 도우미입니다. + + + + + 검사 매개 변수가 Null이 아닙니다. + + + 매개 변수. + + + 매개 변수 이름. + + + 메시지. + + Throws argument null exception when parameter is null. + + + + 검사 매개 변수가 Null이 아니거나 비어 있습니다. + + + 매개 변수. + + + 매개 변수 이름. + + + 메시지. + + Throws ArgumentException when parameter is null. + + + + 데이터 기반 테스트에서 데이터 행에 액세스하는 방법에 대한 열거형입니다. + + + + + 행이 순차적인 순서로 반환됩니다. + + + + + 행이 임의의 순서로 반환됩니다. + + + + + 테스트 메서드에 대한 인라인 데이터를 정의하는 특성입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 데이터 개체. + + + + 인수 배열을 사용하는 클래스의 새 인스턴스를 초기화합니다. + + 데이터 개체. + 추가 데이터. + + + + 테스트 메서드 호출을 위한 데이터를 가져옵니다. + + + + + 사용자 지정을 위한 테스트 결과에서 표시 이름을 가져오거나 설정합니다. + + + + + 어설션 불확실 예외입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + InternalTestFailureException 클래스. 테스트 사례에 대한 내부 실패를 나타내는 데 사용됩니다. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 예외 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 예외 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 지정된 형식의 예외를 예상하도록 지정하는 특성 + + + + + 예상 형식이 있는 클래스의 새 인스턴스를 초기화합니다. + + 예상되는 예외의 형식 + + + + 테스트에서 예외를 throw하지 않을 때 포함할 메시지 및 예상 형식이 있는 클래스의 + 새 인스턴스를 초기화합니다. + + 예상되는 예외의 형식 + + 예외를 throw하지 않아 테스트가 실패할 경우 테스트 결과에 포함할 메시지 + + + + + 예상되는 예외의 형식을 나타내는 값을 가져옵니다. + + + + + 예상 예외의 형식에서 파생된 형식이 예상대로 자격을 얻도록 허용할지 여부를 나타내는 값을 가져오거나 + 설정합니다. + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 단위 테스트에 의해 throw되는 예외의 형식이 예상되는지를 확인합니다. + + 단위 테스트에서 throw한 예외 + + + + 단위 테스트에서 예외를 예상하도록 지정하는 특성에 대한 기본 클래스 + + + + + 기본 예외 없음 메시지가 있는 클래스의 새 인스턴스를 초기화합니다. + + + + + 예외 없음 메시지가 있는 클래스의 새 인스턴스를 초기화합니다. + + + 예외를 throw하지 않아서 테스트가 실패할 경우 테스트 결과에 포함할 + 메시지 + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 기본 예외 없음 메시지를 가져옵니다. + + ExpectedException 특성 형식 이름 + 기본 예외 없음 메시지 + + + + 예외가 예상되는지 여부를 확인합니다. 메서드가 반환되면 예외가 + 예상되는 것으로 이해됩니다. 메서드가 예외를 throw하면 예외가 + 예상되지 않는 것으로 이해되고, throw된 예외의 메시지가 + 테스트 결과에 포함됩니다. 클래스는 편의를 위해 사용될 수 + 있습니다. 이(가) 사용되는 경우 어설션에 실패하며, + 테스트 결과가 [결과 불충분]으로 설정됩니다. + + 단위 테스트에서 throw한 예외 + + + + AssertFailedException 또는 AssertInconclusiveException인 경우 예외를 다시 throw합니다. + + 어설션 예외인 경우 예외를 다시 throw + + + + 이 클래스는 제네릭 형식을 사용하는 형식에 대한 사용자의 유닛 테스트를 지원하도록 설계되었습니다. + GenericParameterHelper는 몇 가지 공통된 제네릭 형식 제약 조건을 충족합니다. + 예: + 1. public 기본 생성자 + 2. 공통 인터페이스 구현: IComparable, IEnumerable + + + + + C# 제네릭의 '새로 입력할 수 있는' 제약 조건을 충족하는 클래스의 + 새 인스턴스를 초기화합니다. + + + This constructor initializes the Data property to a random value. + + + + + 데이터 속성을 사용자가 제공한 값으로 초기화하는 클래스의 + 새 인스턴스를 초기화합니다. + + 임의의 정수 값 + + + + 데이터를 가져오거나 설정합니다. + + + + + 두 GenericParameterHelper 개체의 값을 비교합니다. + + 비교할 개체 + 개체의 값이 '이' GenericParameterHelper 개체와 동일한 경우에는 true이고, + 동일하지 않은 경우에는 false입니다. + + + + 이 개체의 해시 코드를 반환합니다. + + 해시 코드입니다. + + + + 두 개체의 데이터를 비교합니다. + + 비교할 개체입니다. + + 이 인스턴스 및 값의 상대 값을 나타내는 부호 있는 숫자입니다. + + + Thrown when the object passed in is not an instance of . + + + + + 길이가 데이터 속성에서 파생된 IEnumerator 개체를 + 반환합니다. + + IEnumerator 개체 + + + + 현재 개체와 동일한 GenericParameterHelper 개체를 + 반환합니다. + + 복제된 개체입니다. + + + + 사용자가 진단을 위해 단위 테스트에서 추적을 로그하거나 쓸 수 있습니다. + + + + + LogMessage용 처리기입니다. + + 로깅할 메시지. + + + + 수신할 이벤트입니다. 단위 테스트 기록기에서 메시지를 기록할 때 발생합니다. + 주로 어댑터에서 사용합니다. + + + + + 메시지를 로그하기 위해 테스트 작성자가 호출하는 API입니다. + + 자리 표시자가 있는 문자열 형식. + 자리 표시자에 대한 매개 변수. + + + + TestCategory 특성 - 단위 테스트의 범주 지정에 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화하고 범주를 테스트에 적용합니다. + + + 테스트 범주. + + + + + 테스트에 적용된 테스트 범주를 가져옵니다. + + + + + "Category" 특성을 위한 기본 클래스 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 클래스의 새 인스턴스를 초기화합니다. + 범주를 테스트에 적용합니다. TestCategories에 의해 반환된 문자열은 + 테스트 필터링을 위한 /category 명령과 함께 사용됩니다. + + + + + 테스트에 적용된 테스트 범주를 가져옵니다. + + + + + AssertFailedException 클래스 - 테스트 사례에 대한 실패를 나타내는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 단위 테스트 내에서 다양한 조건을 테스트하기 위한 도우미 + 클래스의 컬렉션입니다. 테스트 중인 조건이 충족되지 않으면 예외가 + throw됩니다. + + + + + Assert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + Thrown if is false. + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 거짓인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is false. + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 거짓인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is false. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + Thrown if is true. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 참인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is true. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 참인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is true. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + Thrown if is not null. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null이 아닌 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not null. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null이 아닌 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + Thrown if is null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is null. + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if does not refer to the same object + as . + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if does not refer to the same object + as . + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not refer to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if refers to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if refers to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if refers to the same object + as . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if is not equal to . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if is equal to . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + Thrown if is not equal to + . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + Thrown if is equal to . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + Thrown if is not equal to + . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + Thrown if is equal to . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + Thrown if is not equal to + . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + Thrown if is equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스가 아닌 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스가 아닌 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스인 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스인 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + AssertFailedException을 throw합니다. + + + Always thrown. + + + + + AssertFailedException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Always thrown. + + + + + AssertFailedException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Always thrown. + + + + + 참조 같음에 대해 두 형식의 인스턴스를 비교하는 데 정적 equals 오버로드가 + 사용됩니다. 이 메서드는 같음에 대해 두 인스턴스를 비교하는 데 사용되지 않습니다. + 이 개체는 항상 Assert.Fail과 함께 throw됩니다. 단위 테스트에서 + Assert.AreEqual 및 관련 오버로드를 사용하세요. + + 개체 A + 개체 B + 항상 False. + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 AssertFailedException을 throw합니다. + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 AssertFailedException을 throw합니다. + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우: . + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + Null 문자('\0')를 "\\0"으로 바꿉니다. + + + 검색할 문자열. + + + Null 문자가 "\\0"으로 교체된 변환된 문자열. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException을 만들고 throw하는 도우미 함수 + + + 예외를 throw하는 어설션의 이름 + + + 어설션 실패에 대한 조건을 설명하는 메시지 + + + 매개 변수. + + + + + 유효한 조건의 매개 변수를 확인합니다. + + + 매개 변수. + + + 어셜선 이름. + + + 매개 변수 이름 + + + 잘못된 매개 변수 예외에 대한 메시지 + + + 매개 변수. + + + + + 개체를 문자열로 안전하게 변환하고, Null 값 및 Null 문자를 처리합니다. + Null 값은 "(null)"로 변환됩니다. Null 문자는 "\\0"으로 변환됩니다. + + + 문자열로 변환될 개체. + + + 변환된 문자열. + + + + + 문자열 어셜션입니다. + + + + + CollectionAssert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + Thrown if is not found in + . + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not found in + . + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not found in + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 시작되지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 시작되지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + Thrown if does not end with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 끝나지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if does not end with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 끝나지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not end with + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하지 않는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하지 않는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + Thrown if matches . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하는 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if matches . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하는 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if matches . + + + + + 단위 테스트 내에서 컬렉션과 연결된 다양한 조건을 테스트하기 + 위한 도우미 클래스의 컬렉션. 테스트 중인 조건이 충족되지 않으면 + 예외가 throw됩니다. + + + + + CollectionAssert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + Thrown if is found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 포함된 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if is found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 포함된 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is found in + . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null 요소를 포함하는 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null 요소를 포함하는 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + Thrown if a two or more equal elements are found in + . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 하나 이상의 중복 요소를 포함하는 경우. 메시지는 테스트 결과에 + 표시됩니다. + + + Thrown if a two or more equal elements are found in + . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 하나 이상의 중복 요소를 포함하는 경우. 메시지는 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if a two or more equal elements are found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + + 의 요소가 다음에서 발견되지 않는 경우 예외에 포함할 메시지입니다.. + 테스트 결과에 메시지가 표시됩니다. + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + + 의 모든 요소가 다음에서 발견되지 않는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + Thrown if every element in is also found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + + 의 모든 요소가 다음에서도 발견되는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + Thrown if every element in is also found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + + 의 모든 요소가 다음에서도 발견되는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if every element in is also found in + . + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 요소가 컬렉션 중 하나에서는 발견되었지만 다른 곳에서는 발견되지 + 않은 경우 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 요소가 컬렉션 중 하나에서는 발견되었지만 다른 곳에서는 발견되지 + 않은 경우 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 요소를 포함하는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 요소를 포함하는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + + 의 요소가 다음의 인스턴스가 아닌 경우 예외에 포함할 메시지: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + + 의 요소가 다음의 인스턴스가 아닌 경우 예외에 포함할 메시지: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 첫 번째 컬렉션이 두 번째 컬렉션의 하위 집합인지를 + 확인합니다. 한 집합에 중복된 요소가 포함된 경우, 하위 집합에 있는 요소의 + 발생 횟수는 상위 집합에 있는 발생 횟수와 같거나 + 작아야 합니다. + + + 테스트가 다음에 포함될 것으로 예상하는 컬렉션: . + + + 테스트가 다음을 포함할 것으로 예상하는 컬렉션: . + + + 다음의 경우 True 이(가) + 의 하위 집합인 경우 참, 나머지 경우는 거짓. + + + + + 지정된 컬렉션에서 각 요소의 발생 횟수를 포함하는 + 사전을 생성합니다. + + + 처리할 컬렉션. + + + 컬렉션에 있는 null 요소의 수. + + + 지정된 컬렉션에 있는 각 요소의 발생 횟수를 포함하는 + 딕셔너리. + + + + + 두 컬렉션 간의 불일치 요소를 찾습니다. 불일치 요소란 + 예상 컬렉션에 나타나는 횟수가 실제 컬렉션에 + 나타나는 횟수와 다른 요소를 말합니다. 컬렉션은 + 같은 수의 요소가 있는 Null이 아닌 다른 참조로 + 간주됩니다. 이 수준에서의 확인 작업은 호출자의 + 책임입니다. 불일치 요소가 없으면 함수는 false를 + 반환하고 출력 매개 변수가 사용되지 않습니다. + + + 비교할 첫 번째 컬렉션. + + + 비교할 두 번째 컬렉션. + + + 다음의 예상 발생 횟수: + 또는 불일치 요소가 없는 경우 + 영(0). + + + 다음의 실제 발생 횟수: + 또는 불일치 요소가 없는 경우 + 영(0). + + + 불일치 요소(null일 수 있음) 또는 불일치 요소가 없는 경우 + null. + + + 불일치 요소가 발견되면 참, 발견되지 않으면 거짓. + + + + + object.Equals를 사용하여 개체 비교합니다. + + + + + 프레임워크 예외에 대한 기본 클래스입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다. + + + + + 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다. + + + + + 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 + 대한 현재 스레드의 CurrentUICulture 속성을 재정의합니다. + + + + + [액세스 문자열의 구문이 잘못되었습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 컬렉션에 <{2}>은(는) {1}개가 포함되어야 하는데 실제 컬렉션에는 {3}개가 포함되어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [중복된 항목이 있습니다. <{1}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>. 대/소문자가 다른 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값 <{1}>과(와) 실제 값 <{2}>의 차이가 <{3}>보다 크지 않아야 합니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}({2})>. 실제 값: <{3}({4})>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>. 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값 <{1}>과(와) 실제 값 <{2}>의 차이가 <{3}>보다 커야 합니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>을(를) 제외한 모든 값. 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [AreSame()에 값 형식을 전달하면 안 됩니다. Object로 변환된 값은 동일한 값으로 간주되지 않습니다. AreEqual()을 사용해 보세요. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}이(가) 실패했습니다. {1}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [async TestMethod with UITestMethodAttribute는 지원되지 않습니다. async를 제거하거나 TestMethodAttribute를 사용하세요.]와 유사한 지역화된 문자열 조회합니다. + + + + + [두 컬렉션이 모두 비어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션에 같은 요소가 포함되어 있습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션 참조가 동일한 컬렉션 개체를 가리킵니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션에 같은 요소가 포함되어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}({1})]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [(null)]과 유사한 지역화된 문자열을 조회합니다. + + + + + Looks up a localized string similar to (object). + + + + + ['{0}' 문자열이 '{1}' 문자열을 포함하지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}({1})]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [어설션에 Assert.Equals를 사용할 수 없습니다. 대신 Assert.AreEqual 및 오버로드를 사용하세요.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [컬렉션의 요소 수가 일치하지 않습니다. 예상 값: <{1}>. 실제 값: <{2}>.{0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {0}에 있는 요소가 일치하지 않습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {1}에 있는 요소는 예상 형식이 아닙니다. 예상 형식: <{2}>. 실제 형식: <{3}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {1}에 있는 요소가 (null)입니다. 예상 형식: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 문자열로 끝나지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [잘못된 인수 - EqualsTester에는 Null을 사용할 수 없습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 형식의 개체를 {1} 형식의 개체로 변환할 수 없습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [참조된 내부 개체가 더 이상 유효하지 않습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 매개 변수가 잘못되었습니다. {1}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 속성의 형식은 {2}이어야 하는데 실제로는 {1}입니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 예상 형식: <{1}>. 실제 형식: <{2}>.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 패턴과 일치하지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [잘못된 형식: <{1}>. 실제 형식: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 패턴과 일치합니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [DataRowAttribute가 지정되지 않았습니다. DataTestMethodAttribute에는 하나 이상의 DataRowAttribute가 필요합니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{1} 예외를 예상했지만 예외가 throw되지 않았습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 매개 변수가 잘못되었습니다. 이 값은 Null일 수 없습니다. {1}.](과)와 유사한 지역화된 문자열을 조회합니다. + + + + + [요소 수가 다릅니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + 다음과 유사한 지역화된 문자열을 조회합니다. + [지정한 시그니처를 가진 생성자를 찾을 수 없습니다. 전용 접근자를 다시 생성해야 할 수 있습니다. + 또는 멤버가 기본 클래스에 정의된 전용 멤버일 수 있습니다. 기본 클래스에 정의된 전용 멤버인 경우에는 이 멤버를 정의하는 형식을 + PrivateObject의 생성자에 전달해야 합니다.] + + + + + + 다음과 유사한 지역화된 문자열을 조회합니다. + [지정한 멤버({0})를 찾을 수 없습니다. 전용 접근자를 다시 생성해야 할 수 있습니다. + 또는 멤버가 기본 클래스에 정의된 전용 멤버일 수 있습니다. 기본 클래스에 정의된 전용 멤버인 경우에는 이 멤버를 정의하는 형식을 + PrivateObject의 생성자에 전달해야 합니다.] + + + + + + ['{0}' 문자열이 '{1}' 문자열로 시작되지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 예외 형식은 System.Exception이거나 System.Exception에서 파생된 형식이어야 합니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [(예외로 인해 {0} 형식의 예외에 대한 메시지를 가져오지 못했습니다.)]와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 예상 예외 {0}을(를) throw하지 않았습니다. {1}](과)와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 예상 예외를 throw하지 않았습니다. 예외는 테스트 메서드에 정의된 {0} 특성에 의해 예상되었습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 {0} 예외를 throw했지만 {1} 예외를 예상했습니다. 예외 메시지: {2}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 {0} 예외를 throw했지만 {1} 예외 또는 해당 예외에서 파생된 형식을 예상했습니다. 예외 메시지: {2}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{1} 예외를 예상했지만 {2} 예외를 throw했습니다. {0} + 예외 메시지: {3} + 스택 추적: {4}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + 단위 테스트 결과 + + + + + 테스트가 실행되었지만 문제가 있습니다. + 예외 또는 실패한 어설션과 관련된 문제일 수 있습니다. + + + + + 테스트가 완료되었지만, 성공인지 실패인지를 알 수 없습니다. + 중단된 테스트에 사용된 것일 수 있습니다. + + + + + 아무 문제 없이 테스트가 실행되었습니다. + + + + + 테스트가 현재 실행 중입니다. + + + + + 테스트를 실행하려고 시도하는 동안 시스템 오류가 발생했습니다. + + + + + 테스트가 시간 초과되었습니다. + + + + + 테스트가 사용자에 의해 중단되었습니다. + + + + + 테스트의 상태를 알 수 없습니다. + + + + + 단위 테스트 프레임워크에 대한 도우미 기능을 제공합니다. + + + + + 재귀적으로 모든 내부 예외에 대한 메시지를 포함하여 예외 메시지를 + 가져옵니다. + + 오류 메시지 정보가 포함된 + 문자열에 대한 메시지 가져오기의 예외 + + + + 클래스와 함께 사용할 수 있는 시간 제한에 대한 열거형입니다. + 열거형의 형식은 일치해야 합니다. + + + + + 무제한입니다. + + + + + 테스트 클래스 특성입니다. + + + + + 이 테스트를 실행할 수 있는 테스트 메서드 특성을 가져옵니다. + + 이 메서드에 정의된 테스트 메서드 특성 인스턴스입니다. + 이 테스트를 실행하는 데 사용됩니다. + Extensions can override this method to customize how all methods in a class are run. + + + + 테스트 메서드 특성입니다. + + + + + 테스트 메서드를 실행합니다. + + 실행할 테스트 메서드입니다. + 테스트 결과를 나타내는 TestResult 개체의 배열입니다. + Extensions can override this method to customize running a TestMethod. + + + + 테스트 초기화 특성입니다. + + + + + 테스트 정리 특성입니다. + + + + + 무시 특성입니다. + + + + + 테스트 속성 특성입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 이름. + + + 값. + + + + + 이름을 가져옵니다. + + + + + 값을 가져옵니다. + + + + + 클래스 초기화 특성입니다. + + + + + 클래스 정리 특성입니다. + + + + + 어셈블리 초기화 특성입니다. + + + + + 어셈블리 정리 특성입니다. + + + + + 테스트 소유자 + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 소유자. + + + + + 소유자를 가져옵니다. + + + + + Priority 특성 - 단위 테스트의 우선 순위를 지정하는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 우선 순위. + + + + + 우선 순위를 가져옵니다. + + + + + 테스트의 설명 + + + + + 테스트를 설명하는 클래스의 새 인스턴스를 초기화합니다. + + 설명입니다. + + + + 테스트의 설명을 가져옵니다. + + + + + CSS 프로젝트 구조 URI + + + + + CSS 프로젝트 구조 URI에 대한 클래스의 새 인스턴스를 초기화합니다. + + CSS 프로젝트 구조 URI입니다. + + + + CSS 프로젝트 구조 URI를 가져옵니다. + + + + + CSS 반복 URI + + + + + CSS 반복 URI에 대한 클래스의 새 인스턴스를 초기화합니다. + + CSS 반복 URI입니다. + + + + CSS 반복 URI를 가져옵니다. + + + + + WorkItem 특성 - 이 테스트와 연결된 작업 항목을 지정하는 데 사용됩니다. + + + + + WorkItem 특성에 대한 클래스의 새 인스턴스를 초기화합니다. + + 작업 항목에 대한 ID입니다. + + + + 연결된 작업 항목에 대한 ID를 가져옵니다. + + + + + Timeout 특성 - 단위 테스트의 시간 제한을 지정하는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 시간 제한. + + + + + 미리 설정된 시간 제한이 있는 클래스의 새 인스턴스를 초기화합니다. + + + 시간 제한 + + + + + 시간 제한을 가져옵니다. + + + + + 어댑터에 반환할 TestResult 개체입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 결과의 표시 이름을 가져오거나 설정합니다. 여러 결과를 반환할 때 유용합니다. + Null인 경우 메서드 이름은 DisplayName으로 사용됩니다. + + + + + 테스트 실행의 결과를 가져오거나 설정합니다. + + + + + 테스트 실패 시 throw할 예외를 가져오거나 설정합니다. + + + + + 테스트 코드에서 로그한 메시지의 출력을 가져오거나 설정합니다. + + + + + 테스트 코드에서 로그한 메시지의 출력을 가져오거나 설정합니다. + + + + + 테스트 코드에 의한 디버그 추적을 가져오거나 설정합니다. + + + + + Gets or sets the debug traces by test code. + + + + + 테스트 실행의 지속 시간을 가져오거나 설정합니다. + + + + + 데이터 소스에서 데이터 행 인덱스를 가져오거나 설정합니다. 데이터 기반 테스트에서 + 개별 데이터 행 실행의 결과에 대해서만 설정합니다. + + + + + 테스트 메서드의 반환 값을 가져오거나 설정합니다(현재 항상 Null). + + + + + 테스트로 첨부한 결과 파일을 가져오거나 설정합니다. + + + + + 데이터 기반 테스트에 대한 연결 문자열, 테이블 이름 및 행 액세스 방법을 지정합니다. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource의 기본 공급자 이름입니다. + + + + + 기본 데이터 액세스 방법입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 데이터 소스에 액세스할 데이터 공급자, 연결 문자열, 데이터 테이블 및 데이터 액세스 방법으로 초기화됩니다. + + 고정 데이터 공급자 이름(예: System.Data.SqlClient) + + 데이터 공급자별 연결 문자열. + 경고: 연결 문자열에는 중요한 데이터(예: 암호)가 포함될 수 있습니다. + 연결 문자열은 소스 코드와 컴파일된 어셈블리에 일반 텍스트로 저장됩니다. + 이 중요한 정보를 보호하려면 소스 코드 및 어셈블리에 대한 액세스를 제한하세요. + + 데이터 테이블의 이름. + 데이터에 액세스할 순서를 지정합니다. + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 연결 문자열 및 테이블 이름으로 초기화됩니다. + OLEDB 데이터 소스에 액세스하기 위한 연결 문자열 및 데이터 테이블을 지정하세요. + + + 데이터 공급자별 연결 문자열. + 경고: 연결 문자열에는 중요한 데이터(예: 암호)가 포함될 수 있습니다. + 연결 문자열은 소스 코드와 컴파일된 어셈블리에 일반 텍스트로 저장됩니다. + 이 중요한 정보를 보호하려면 소스 코드 및 어셈블리에 대한 액세스를 제한하세요. + + 데이터 테이블의 이름. + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 설정 이름과 연결된 연결 문자열 및 데이터 공급자로 초기화됩니다. + + app.config 파일의 <microsoft.visualstudio.qualitytools> 섹션에 있는 데이터 소스의 이름. + + + + 데이터 소스의 데이터 공급자를 나타내는 값을 가져옵니다. + + + 데이터 공급자 이름. 데이터 공급자를 개체 초기화에서 지정하지 않은 경우 System.Data.OleDb의 기본 공급자가 반환됩니다. + + + + + 데이터 소스의 연결 문자열을 나타내는 값을 가져옵니다. + + + + + 데이터를 제공하는 테이블 이름을 나타내는 값을 가져옵니다. + + + + + 데이터 소스에 액세스하는 데 사용되는 메서드를 가져옵니다. + + + + 값 중 하나입니다. 이(가) 초기화되지 않은 경우 다음 기본값이 반환됩니다. . + + + + + app.config 파일의 <microsoft.visualstudio.qualitytools> 섹션에서 찾은 데이터 소스의 이름을 가져옵니다. + + + + + 데이터를 인라인으로 지정할 수 있는 데이터 기반 테스트의 특성입니다. + + + + + 모든 데이터 행을 찾고 실행합니다. + + + 테스트 메서드. + + + 배열 . + + + + + 데이터 기반 테스트 메서드를 실행합니다. + + 실행할 테스트 메서드. + 데이터 행. + 실행 결과. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..5593384 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Metoda TestMethod do wykonania. + + + + + Pobiera nazwę metody testowej. + + + + + Pobiera nazwę klasy testowej. + + + + + Pobiera zwracany typ metody testowej. + + + + + Pobiera parametry metody testowej. + + + + + Pobiera element methodInfo dla metody testowej. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Wywołuje metodę testową. + + + Argumenty przekazywane do metody testowej (np. w przypadku opartej na danych) + + + Wynik wywołania metody testowej. + + + This call handles asynchronous test methods as well. + + + + + Pobierz wszystkie atrybuty metody testowej. + + + Informacja o tym, czy atrybut zdefiniowany w klasie nadrzędnej jest prawidłowy. + + + Wszystkie atrybuty. + + + + + Pobierz atrybut określonego typu. + + System.Attribute type. + + Informacja o tym, czy atrybut zdefiniowany w klasie nadrzędnej jest prawidłowy. + + + Atrybuty określonego typu. + + + + + Element pomocniczy. + + + + + Sprawdzany parametr nie ma wartości null. + + + Parametr. + + + Nazwa parametru. + + + Komunikat. + + Throws argument null exception when parameter is null. + + + + Sprawdzany parametr nie ma wartości null i nie jest pusty. + + + Parametr. + + + Nazwa parametru. + + + Komunikat. + + Throws ArgumentException when parameter is null. + + + + Wyliczenie dotyczące sposobu dostępu do wierszy danych w teście opartym na danych. + + + + + Wiersze są zwracane po kolei. + + + + + Wiersze są zwracane w kolejności losowej. + + + + + Atrybut do definiowania danych wbudowanych dla metody testowej. + + + + + Inicjuje nowe wystąpienie klasy . + + Obiekt danych. + + + + Inicjuje nowe wystąpienie klasy , które pobiera tablicę argumentów. + + Obiekt danych. + Więcej danych. + + + + Pobiera dane do wywoływania metody testowej. + + + + + Pobiera lub ustawia nazwę wyświetlaną w wynikach testu do dostosowania. + + + + + Wyjątek niejednoznacznej asercji. + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Klasa InternalTestFailureException. Używana do określenia wewnętrznego błędu przypadku testowego + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat wyjątku. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat wyjątku. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Atrybut określający, że jest oczekiwany wyjątek określonego typu + + + + + Inicjuje nowe wystąpienie klasy z oczekiwanym typem + + Typ oczekiwanego wyjątku + + + + Inicjuje nowe wystąpienie klasy z + oczekiwanym typem i komunikatem do uwzględnienia, gdy test nie zgłasza żadnego wyjątku. + + Typ oczekiwanego wyjątku + + Komunikat do dołączenia do wyniku testu, jeśli test nie powiedzie się, ponieważ nie zostanie zgłoszony wyjątek + + + + + Pobiera wartość wskazującą typ oczekiwanego wyjątku + + + + + Pobiera lub ustawia wartość wskazującą, czy typy pochodne typu oczekiwanego wyjątku + są traktowane jako oczekiwane + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Weryfikuje, czy typ wyjątku zgłoszonego przez test jednostkowy jest oczekiwany + + Wyjątek zgłoszony przez test jednostkowy + + + + Klasa podstawowa dla atrybutów, które określają, że jest oczekiwany wyjątek z testu jednostkowego + + + + + Inicjuje nowe wystąpienie klasy z domyślnym komunikatem o braku wyjątku + + + + + Inicjuje nowe wystąpienie klasy z komunikatem o braku wyjątku + + + Komunikat do dołączenia do wyniku testu, jeśli test nie powiedzie się, ponieważ + nie zostanie zgłoszony wyjątek + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Pobiera domyślny komunikat bez wyjątku + + Nazwa typu atrybutu ExpectedException + Domyślny komunikat bez wyjątku + + + + Określa, czy wyjątek jest oczekiwany. Jeśli wykonanie metody zakończy się normalnie, oznacza to, + że wyjątek był oczekiwany. Jeśli metoda zgłosi wyjątek, oznacza to, + że wyjątek nie był oczekiwany, a komunikat zgłoszonego wyjątku + jest dołączony do wyniku testu. Klasy można użyć dla + wygody. Jeśli zostanie użyta klasa i asercja nie powiedzie się, + wynik testu zostanie ustawiony jako Niejednoznaczny. + + Wyjątek zgłoszony przez test jednostkowy + + + + Zgłoś ponownie wyjątek, jeśli jest to wyjątek AssertFailedException lub AssertInconclusiveException + + Wyjątek do ponownego zgłoszenia, jeśli jest to wyjątek asercji + + + + Ta klasa jest zaprojektowana w taki sposób, aby pomóc użytkownikowi wykonującemu testy jednostkowe dla typów używających typów ogólnych. + Element GenericParameterHelper zachowuje niektóre typowe ograniczenia typów ogólnych, + takie jak: + 1. publiczny konstruktor domyślny + 2. implementuje wspólny interfejs: IComparable, IEnumerable + + + + + Inicjuje nowe wystąpienie klasy , które + spełnia ograniczenie „newable” w typach ogólnych języka C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicjuje nowe wystąpienie klasy , które + inicjuje właściwość Data wartością dostarczoną przez użytkownika. + + Dowolna liczba całkowita + + + + Pobiera lub ustawia element Data + + + + + Wykonuje porównanie wartości dwóch obiektów GenericParameterHelper + + obiekt, z którym ma zostać wykonane porównanie + Wartość true, jeśli obiekt ma tę samą wartość co obiekt „this” typu GenericParameterHelper. + W przeciwnym razie wartość false. + + + + Zwraca wartość skrótu tego obiektu. + + Kod skrótu. + + + + Porównuje dane dwóch obiektów . + + Obiekt do porównania. + + Liczba ze znakiem, która wskazuje wartości względne tego wystąpienia i wartości. + + + Thrown when the object passed in is not an instance of . + + + + + Zwraca obiekt IEnumerator, którego długość jest określona na podstawie + właściwości Data. + + Obiekt IEnumerator + + + + Zwraca obiekt GenericParameterHelper równy + bieżącemu obiektowi. + + Sklonowany obiekt. + + + + Umożliwia użytkownikom rejestrowanie/zapisywanie śladów z testów jednostek w celach diagnostycznych. + + + + + Procedura obsługi elementu LogMessage. + + Komunikat do zarejestrowania. + + + + Zdarzenie, które ma być nasłuchiwane. Zgłaszane, gdy składnik zapisywania testu jednostkowego zapisze jakiś komunikat. + Zwykle zużywane przez adapter. + + + + + Interfejs API składnika zapisywania testu do wywołania na potrzeby rejestrowania komunikatów. + + Format ciągu z symbolami zastępczymi. + Parametry dla symboli zastępczych. + + + + Atrybut TestCategory używany do określenia kategorii testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy i stosuje kategorię do testu. + + + Kategoria testu. + + + + + Pobiera kategorie testu, które zostały zastosowane do testu. + + + + + Klasa podstawowa atrybutu „Category” + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicjuje nowe wystąpienie klasy . + Stosuje kategorię do testu. Ciągi zwrócone przez element TestCategories + są używane w poleceniu /category do filtrowania testów + + + + + Pobiera kategorię testu, która została zastosowana do testu. + + + + + Klasa AssertFailedException. Używana do wskazania niepowodzenia przypadku testowego + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Kolekcja klas pomocniczych na potrzeby testowania różnych warunków w ramach + testów jednostkowych. Jeśli testowany warunek nie zostanie spełniony, zostanie zgłoszony + wyjątek. + + + + + Pobiera pojedyncze wystąpienie funkcji Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość false. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość false. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Thrown if is true. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość true. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is true. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość true. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is true. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Komunikat do dołączenia do wyjątku, gdy element + nie ma wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Komunikat do dołączenia do wyjątku, gdy element + nie ma wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Thrown if is null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is null. + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest tym samym elementem co . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest tym samym elementem co . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest taki sam jak element . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest taki sam jak element . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest wystąpieniem typu . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest wystąpieniem typu . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Komunikat do dołączenia do wyjątku, gdy element + jest wystąpieniem typu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Komunikat do dołączenia do wyjątku, gdy element + jest wystąpieniem typu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Zgłasza wyjątek AssertFailedException. + + + Always thrown. + + + + + Zgłasza wyjątek AssertFailedException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Always thrown. + + + + + Zgłasza wyjątek AssertFailedException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Always thrown. + + + + + Statyczne przeciążenia metody equals są używane do porównywania wystąpień dwóch typów pod kątem + równości odwołań. Ta metoda nie powinna być używana do porównywania dwóch wystąpień pod kątem + równości. Ten obiekt zawsze będzie zgłaszał wyjątek za pomocą metody Assert.Fail. Użyj metody + Assert.AreEqual i skojarzonych przeciążeń w testach jednostkowych. + + Obiekt A + Obiekt B + Zawsze wartość false. + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek AssertFailedException, jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek AssertFailedException, jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Zastępuje znaki null („\0”) ciągiem „\\0”. + + + Ciąg do wyszukania. + + + Przekonwertowany ciąg ze znakami null zastąpionymi ciągiem „\\0”. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Funkcja pomocnicza, która tworzy i zgłasza wyjątek AssertionFailedException + + + nazwa asercji zgłaszającej wyjątek + + + komunikat opisujący warunki dla błędu asercji + + + Parametry. + + + + + Sprawdza parametry pod kątem prawidłowych warunków + + + Parametr. + + + Nazwa asercji. + + + nazwa parametru + + + komunikat dla wyjątku nieprawidłowego parametru + + + Parametry. + + + + + Bezpiecznie konwertuje obiekt na ciąg, obsługując wartości null i znaki null. + Wartości null są konwertowane na ciąg „(null)”. Znaki null są konwertowane na ciąg „\\0”. + + + Obiekt do przekonwertowania na ciąg. + + + Przekonwertowany ciąg. + + + + + Asercja ciągu. + + + + + Pobiera pojedyncze wystąpienie funkcji CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie zaczyna się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie zaczyna się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie kończy się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie kończy się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + nie pasuje do wzorca . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + nie pasuje do wzorca . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Thrown if matches . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + dopasowania . Komunikat jest wyświetlony w wynikach + testu. + + + Thrown if matches . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + dopasowania . Komunikat jest wyświetlony w wynikach + testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if matches . + + + + + Kolekcja klas pomocniczych na potrzeby testowania różnych warunków skojarzonych + z kolekcjami w ramach testów jednostkowych. Jeśli testowany warunek + nie jest spełniony, zostanie zgłoszony wyjątek. + + + + + Pobiera pojedyncze wystąpienie funkcji CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Thrown if is found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + znajduje się w kolekcji . Komunikat jest wyświetlony w wynikach + testu. + + + Thrown if is found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + znajduje się w kolekcji . Komunikat jest wyświetlony w wynikach + testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera element o wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera element o wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera co najmniej jeden zduplikowany element. Komunikat jest wyświetlony w + wynikach testu. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera co najmniej jeden zduplikowany element. Komunikat jest wyświetlony w + wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Thrown if an element in is not found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie można odnaleźć w . + Komunikat jest wyświetlany w wynikach testu. + + + Thrown if an element in is not found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie można odnaleźć w . + Komunikat jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element in is not found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Thrown if every element in is also found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy każdy element w kolekcji + znajduje się również w kolekcji . + Komunikat jest wyświetlany w wynikach testu. + + + Thrown if every element in is also found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy każdy element w kolekcji + znajduje się również w kolekcji . + Komunikat jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if every element in is also found in + . + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do uwzględnienia w wyjątku, gdy element został odnaleziony + w jednej z kolekcji, ale nie ma go w drugiej. Komunikat jest wyświetlany + w wynikach testu. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do uwzględnienia w wyjątku, gdy element został odnaleziony + w jednej z kolekcji, ale nie ma go w drugiej. Komunikat jest wyświetlany + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera te same elementy co . Komunikat + jest wyświetlany w wynikach testu. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera te same elementy co . Komunikat + jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie jest wystąpieniem + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie jest wystąpieniem + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Określa, czy pierwsza kolekcja jest podzbiorem drugiej kolekcji. + Jeśli któryś zbiór zawiera zduplikowane elementy, liczba wystąpień + elementu w podzbiorze musi być mniejsza lub równa liczbie + wystąpień w nadzbiorze. + + + Kolekcja, co do której test oczekuje, że powinna być zawarta w . + + + Kolekcja, co do której test oczekuje, że powinna zawierać . + + + Wartość true, jeśli jest podzbiorem kolekcji + , w przeciwnym razie wartość false. + + + + + Tworzy słownik zawierający liczbę wystąpień każdego elementu + w określonej kolekcji. + + + Kolekcja do przetworzenia. + + + Liczba elementów o wartości null w kolekcji. + + + Słownik zawierający liczbę wystąpień każdego elementu + w określonej kolekcji. + + + + + Znajduje niezgodny element w dwóch kolekcjach. Niezgodny + element to ten, którego liczba wystąpień w oczekiwanej kolekcji + jest inna niż w rzeczywistej kolekcji. Kolekcje + są uznawane za różne odwołania o wartości innej niż null z tą samą + liczbą elementów. Obiekt wywołujący jest odpowiedzialny za ten poziom weryfikacji. + Jeśli nie ma żadnego niezgodnego elementu, funkcja zwraca wynik + false i parametry wyjściowe nie powinny być używane. + + + Pierwsza kolekcja do porównania. + + + Druga kolekcja do porównania. + + + Oczekiwana liczba wystąpień elementu + lub 0, jeśli nie ma żadnego niezgodnego + elementu. + + + Rzeczywista liczba wystąpień elementu + lub 0, jeśli nie ma żadnego niezgodnego + elementu. + + + Niezgodny element (może mieć wartość null) lub wartość null, jeśli + nie ma żadnego niezgodnego elementu. + + + wartość true, jeśli znaleziono niezgodny element; w przeciwnym razie wartość false. + + + + + porównuje obiekty przy użyciu funkcji object.Equals + + + + + Klasa podstawowa dla wyjątków struktury. + + + + + Inicjuje nowe wystąpienie klasy . + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Silnie typizowana klasa zasobów do wyszukiwania zlokalizowanych ciągów itp. + + + + + Zwraca buforowane wystąpienie ResourceManager używane przez tę klasę. + + + + + Przesłania właściwość CurrentUICulture bieżącego wątku dla wszystkich + przypadków przeszukiwania zasobów za pomocą tej silnie typizowanej klasy zasobów. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg dostępu ma nieprawidłową składnię. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana kolekcja zawiera następującą liczbę wystąpień elementu <{2}>: {1}. Rzeczywista kolekcja zawiera następującą liczbę wystąpień: {3}. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Znaleziono zduplikowany element: <{1}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano: <{1}>. Przypadek jest inny w wartości rzeczywistej: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano różnicy nie większej niż <{3}> między oczekiwaną wartością <{1}> i wartością rzeczywistą <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana wartość: <{1} ({2})>. Rzeczywista wartość: <{3} ({4})>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana wartość: <{1}>. Rzeczywista wartość: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano różnicy większej niż <{3}> między oczekiwaną wartością <{1}> a wartością rzeczywistą <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano dowolnej wartości z wyjątkiem: <{1}>. Wartość rzeczywista: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie przekazuj typów wartości do metody AreSame(). Wartości przekonwertowane na typ Object nigdy nie będą takie same. Rozważ użycie metody AreEqual(). {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} — niepowodzenie. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do asynchronicznej metody TestMethod z elementem UITestMethodAttribute, które nie są obsługiwane. Usuń element asynchroniczny lub użyj elementu TestMethodAttribute. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje są puste. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje zawierają te same elementy. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Odwołania do obu kolekcji wskazują ten sam obiekt kolekcji. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje zawierają te same elementy. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0}({1}). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (null). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (object). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie zawiera ciągu „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} ({1}). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie można użyć metody Assert.Equals dla asercji. Zamiast tego użyj metody Assert.AreEqual i przeciążeń. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Liczba elementów w kolekcjach nie jest zgodna. Oczekiwana wartość: <{1}>. Wartość rzeczywista: <{2}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {0} nie jest zgodny. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {1} nie ma oczekiwanego typu. Oczekiwany typ: <{2}>. Rzeczywisty typ: <{3}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {1} ma wartość (null). Oczekiwany typ: <{2}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie kończy się ciągiem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nieprawidłowy argument. Element EqualsTester nie może używać wartości null. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie można przekonwertować obiektu typu {0} na typ {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Przywoływany obiekt wewnętrzny nie jest już prawidłowy. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Parametr „{0}” jest nieprawidłowy. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Właściwość {0} ma typ {1}. Oczekiwano typu {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} Oczekiwany typ: <{1}>. Rzeczywisty typ: <{2}>. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie jest zgodny ze wzorcem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Niepoprawny typ: <{1}>. Rzeczywisty typ: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” jest zgodny ze wzorcem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie określono atrybutu DataRowAttribute. Atrybut DataTestMethodAttribute wymaga co najmniej jednego atrybutu DataRowAttribute. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie zgłoszono wyjątku. Oczekiwany wyjątek: {1}. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Parametr „{0}” jest nieprawidłowy. Wartość nie może być równa null. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Inna liczba elementów. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: + Nie można odnaleźć konstruktora z określoną sygnaturą. Może być konieczne ponowne wygenerowanie prywatnej metody dostępu + lub element członkowski może być zdefiniowany jako prywatny w klasie podstawowej. W drugim przypadku należy przekazać typ, + który definiuje element członkowski w konstruktorze obiektu PrivateObject. + . + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: + Nie można odnaleźć określonego elementu członkowskiego ({0}). Może być konieczne ponowne wygenerowanie prywatnej metody dostępu + lub element członkowski może być zdefiniowany jako prywatny w klasie podstawowej. W drugim przypadku należy przekazać typ, + który definiuje element członkowski w konstruktorze obiektu PrivateObject. + . + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie rozpoczyna się od ciągu „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwanym typem wyjątku musi być typ System.Exception lub typ pochodzący od typu System.Exception. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (Nie można pobrać komunikatu dotyczącego wyjątku typu {0} z powodu wyjątku). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa nie zgłosiła oczekiwanego wyjątku {0}. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa nie zgłosiła wyjątku. Wyjątek był oczekiwany przez atrybut {0} zdefiniowany w metodzie testowej. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa zgłosiła wyjątek {0}, ale oczekiwano wyjątku {1}. Komunikat o wyjątku: {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa zgłosiła wyjątek {0}, ale oczekiwano wyjątku {1} lub typu, który od niego pochodzi. Komunikat o wyjątku: {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Zgłoszono wyjątek {2}, ale oczekiwano wyjątku {1}. {0} + Komunikat o wyjątku: {3} + Ślad stosu: {4}. + + + + + wyniki testu jednostkowego + + + + + Test został wykonany, ale wystąpiły problemy. + Problemy mogą obejmować wyjątki lub asercje zakończone niepowodzeniem. + + + + + Test został ukończony, ale nie można stwierdzić, czy zakończył się powodzeniem, czy niepowodzeniem. + Może być używany dla przerwanych testów. + + + + + Test został wykonany bez żadnych problemów. + + + + + Test jest obecnie wykonywany. + + + + + Wystąpił błąd systemu podczas próby wykonania testu. + + + + + Upłynął limit czasu testu. + + + + + Test został przerwany przez użytkownika. + + + + + Stan testu jest nieznany + + + + + Udostępnia funkcjonalność pomocnika dla platformy testów jednostkowych + + + + + Pobiera komunikaty wyjątku, w tym rekursywnie komunikaty wszystkich wewnętrznych + wyjątków + + Wyjątek, dla którego mają zostać pobrane komunikaty + ciąg z informacjami o komunikacie o błędzie + + + + Wyliczenie dla limitów czasu, które może być używane z klasą . + Typ wyliczenia musi być zgodny + + + + + Nieskończone. + + + + + Atrybut klasy testowej. + + + + + Pobiera atrybut metody testowej, który umożliwia uruchomienie tego testu. + + Wystąpienie atrybutu metody testowej zdefiniowane w tej metodzie. + do użycia do uruchamiania tego testu. + Extensions can override this method to customize how all methods in a class are run. + + + + Atrybut metody testowej. + + + + + Wykonuje metodę testową. + + Metoda testowa do wykonania. + Tablica obiektów TestResult reprezentujących wyniki testu. + Extensions can override this method to customize running a TestMethod. + + + + Atrybut inicjowania testu. + + + + + Atrybut oczyszczania testu. + + + + + Atrybut ignorowania. + + + + + Atrybut właściwości testu. + + + + + Inicjuje nowe wystąpienie klasy . + + + Nazwa. + + + Wartość. + + + + + Pobiera nazwę. + + + + + Pobiera wartość. + + + + + Atrybut inicjowania klasy. + + + + + Atrybut oczyszczania klasy. + + + + + Atrybut inicjowania zestawu. + + + + + Atrybut oczyszczania zestawu. + + + + + Właściciel testu + + + + + Inicjuje nowe wystąpienie klasy . + + + Właściciel. + + + + + Pobiera właściciela. + + + + + Atrybut priorytetu służący do określania priorytetu testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy . + + + Priorytet. + + + + + Pobiera priorytet. + + + + + Opis testu + + + + + Inicjuje nowe wystąpienie klasy do opisu testu. + + Opis. + + + + Pobiera opis testu. + + + + + Identyfikator URI struktury projektu CSS + + + + + Inicjuje nowe wystąpienie klasy dla identyfikatora URI struktury projektu CSS. + + Identyfikator URI struktury projektu CSS. + + + + Pobiera identyfikator URI struktury projektu CSS. + + + + + Identyfikator URI iteracji CSS + + + + + Inicjuje nowe wystąpienie klasy dla identyfikatora URI iteracji CSS. + + Identyfikator URI iteracji CSS. + + + + Pobiera identyfikator URI iteracji CSS. + + + + + Atrybut elementu roboczego służący do określania elementu roboczego skojarzonego z tym testem. + + + + + Inicjuje nowe wystąpienie klasy dla atrybutu WorkItem. + + Identyfikator dla elementu roboczego. + + + + Pobiera identyfikator dla skojarzonego elementu roboczego. + + + + + Atrybut limitu czasu służący do określania limitu czasu testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy . + + + Limit czasu. + + + + + Inicjuje nowe wystąpienie klasy ze wstępnie ustawionym limitem czasu + + + Limit czasu + + + + + Pobiera limit czasu. + + + + + Obiekt TestResult zwracany do adaptera. + + + + + Inicjuje nowe wystąpienie klasy . + + + + + Pobiera lub ustawia nazwę wyświetlaną wyniku. Przydatny w przypadku zwracania wielu wyników. + Jeśli ma wartość null, nazwa metody jest używana jako nazwa wyświetlana. + + + + + Pobiera lub ustawia wynik wykonania testu. + + + + + Pobiera lub ustawia wyjątek zgłoszony, gdy test kończy się niepowodzeniem. + + + + + Pobiera lub ustawia dane wyjściowe komunikatu rejestrowanego przez kod testu. + + + + + Pobiera lub ustawia dane wyjściowe komunikatu rejestrowanego przez kod testu. + + + + + Pobiera lub ustawia ślady debugowania przez kod testu. + + + + + Gets or sets the debug traces by test code. + + + + + Pobiera lub ustawia czas trwania wykonania testu. + + + + + Pobiera lub ustawia indeks wiersza danych w źródle danych. Ustawia tylko dla wyników oddzielnych + uruchomień wiersza danych w teście opartym na danych. + + + + + Pobiera lub ustawia wartość zwracaną metody testowej. (Obecnie zawsze wartość null). + + + + + Pobiera lub ustawia pliki wyników dołączone przez test. + + + + + Określa parametry połączenia, nazwę tabeli i metodę dostępu do wiersza w przypadku testowania opartego na danych. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nazwa domyślnego dostawcy dla źródła danych. + + + + + Domyślna metoda uzyskiwania dostępu do danych. + + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z dostawcą danych, parametrami połączenia, tabelą danych i metodą dostępu do danych w celu uzyskania dostępu do źródła danych. + + Niezmienna nazwa dostawcy danych, taka jak System.Data.SqlClient + + Parametry połączenia specyficzne dla dostawcy danych. + OSTRZEŻENIE: parametry połączenia mogą zawierać poufne dane (na przykład hasło). + Parametry połączenia są przechowywane w postaci zwykłego tekstu w kodzie źródłowym i w skompilowanym zestawie. + Należy ograniczyć dostęp do kodu źródłowego i zestawu, aby chronić te poufne informacje. + + Nazwa tabeli danych. + Określa kolejność dostępu do danych. + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z parametrami połączenia i nazwą tabeli. + Określ parametry połączenia i tabelę danych w celu uzyskania dostępu do źródła danych OLEDB. + + + Parametry połączenia specyficzne dla dostawcy danych. + OSTRZEŻENIE: parametry połączenia mogą zawierać poufne dane (na przykład hasło). + Parametry połączenia są przechowywane w postaci zwykłego tekstu w kodzie źródłowym i w skompilowanym zestawie. + Należy ograniczyć dostęp do kodu źródłowego i zestawu, aby chronić te poufne informacje. + + Nazwa tabeli danych. + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z dostawcą danych i parametrami połączenia skojarzonymi z nazwą ustawienia. + + Nazwa źródła danych znaleziona w sekcji <microsoft.visualstudio.qualitytools> pliku app.config. + + + + Pobiera wartość reprezentującą dostawcę danych źródła danych. + + + Nazwa dostawcy danych. Jeśli dostawca danych nie został wyznaczony w czasie inicjowania obiektu, zostanie zwrócony domyślny dostawca obiektu System.Data.OleDb. + + + + + Pobiera wartość reprezentującą parametry połączenia dla źródła danych. + + + + + Pobiera wartość wskazującą nazwę tabeli udostępniającej dane. + + + + + Pobiera metodę używaną do uzyskiwania dostępu do źródła danych. + + + + Jedna z . Jeśli nie zainicjowano , zwróci wartość domyślną . + + + + + Pobiera nazwę źródła danych znajdującego się w sekcji <microsoft.visualstudio.qualitytools> w pliku app.config. + + + + + Atrybut dla testu opartego na danych, w którym dane można określić bezpośrednio. + + + + + Znajdź wszystkie wiersze danych i wykonaj. + + + Metoda testowa. + + + Tablica elementów . + + + + + Uruchamianie metody testowej dla testu opartego na danych. + + Metoda testowa do wykonania. + Wiersz danych. + Wyniki wykonania. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..2b63dd5 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + O TestMethod para a execução. + + + + + Obtém o nome do método de teste. + + + + + Obtém o nome da classe de teste. + + + + + Obtém o tipo de retorno do método de teste. + + + + + Obtém os parâmetros do método de teste. + + + + + Obtém o methodInfo para o método de teste. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invoca o método de teste. + + + Argumentos a serem passados ao método de teste. (Por exemplo, para testes controlados por dados) + + + Resultado da invocação do método de teste. + + + This call handles asynchronous test methods as well. + + + + + Obter todos os atributos do método de teste. + + + Se o atributo definido na classe pai é válido. + + + Todos os atributos. + + + + + Obter atributo de tipo específico. + + System.Attribute type. + + Se o atributo definido na classe pai é válido. + + + Os atributos do tipo especificado. + + + + + O auxiliar. + + + + + O parâmetro de verificação não nulo. + + + O parâmetro. + + + O nome do parâmetro. + + + A mensagem. + + Throws argument null exception when parameter is null. + + + + O parâmetro de verificação não nulo nem vazio. + + + O parâmetro. + + + O nome do parâmetro. + + + A mensagem. + + Throws ArgumentException when parameter is null. + + + + Enumeração para como acessamos as linhas de dados no teste controlado por dados. + + + + + As linhas são retornadas em ordem sequencial. + + + + + As linhas são retornadas em ordem aleatória. + + + + + O atributo para definir dados embutidos para um método de teste. + + + + + Inicializa uma nova instância da classe . + + O objeto de dados. + + + + Inicializa a nova instância da classe que ocupa uma matriz de argumentos. + + Um objeto de dados. + Mais dados. + + + + Obtém Dados para chamar o método de teste. + + + + + Obtém ou define o nome de exibição nos resultados de teste para personalização. + + + + + A exceção inconclusiva da asserção. + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Inicializa uma nova instância da classe . + + + + + Classe InternalTestFailureException. Usada para indicar falha interna de um caso de teste + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializa uma nova instância da classe . + + A mensagem de exceção. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem de exceção. + + + + Inicializa uma nova instância da classe . + + + + + Atributo que especifica que uma exceção do tipo especificado é esperada + + + + + Inicializa uma nova instância da classe com o tipo especificado + + Tipo da exceção esperada + + + + Inicializa uma nova instância da classe com + o tipo esperado e a mensagem a ser incluída quando nenhuma exceção é gerada pelo teste. + + Tipo da exceção esperada + + Mensagem a ser incluída no resultado do teste se ele falhar por não gerar uma exceção + + + + + Obtém um valor que indica o Tipo da exceção esperada + + + + + Obtém ou define um valor que indica se é para permitir tipos derivados do tipo da exceção esperada para + qualificá-la como esperada + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Verifica se o tipo da exceção gerada pelo teste de unidade é esperado + + A exceção gerada pelo teste de unidade + + + + Classe base para atributos que especificam que uma exceção de um teste de unidade é esperada + + + + + Inicializa uma nova instância da classe com uma mensagem de não exceção padrão + + + + + Inicializa a nova instância da classe com uma mensagem de não exceção + + + Mensagem a ser incluída no resultado do teste se ele falhar por não gerar uma + exceção + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Obtém a mensagem de não exceção padrão + + O nome do tipo de atributo ExpectedException + A mensagem de não exceção padrão + + + + Determina se uma exceção é esperada. Se o método é retornado, entende-se + que a exceção era esperada. Se o método gera uma exceção, entende-se + que a exceção não era esperada e a mensagem de exceção gerada + é incluída no resultado do teste. A classe pode ser usada para + conveniência. Se é usada e há falha de asserção, + o resultado do teste é definido como Inconclusivo. + + A exceção gerada pelo teste de unidade + + + + Gerar a exceção novamente se for uma AssertFailedException ou uma AssertInconclusiveException + + A exceção a ser gerada novamente se for uma exceção de asserção + + + + Essa classe é projetada para ajudar o usuário a executar o teste de unidade para os tipos que usam tipos genéricos. + GenericParameterHelper satisfaz algumas restrições comuns de tipos genéricos, + como: + 1. construtor público padrão + 2. implementa interface comum: IComparable, IEnumerable + + + + + Inicializa a nova instância da classe que + satisfaz a restrição 'newable' em genéricos C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializa a nova instância da classe que + inicializa a propriedade Data para um valor fornecido pelo usuário. + + Qualquer valor inteiro + + + + Obtém ou define Data + + + + + Executa a comparação de valores de dois objetos GenericParameterHelper + + objeto com o qual comparar + verdadeiro se o objeto tem o mesmo valor que 'esse' objeto GenericParameterHelper. + Caso contrário, falso. + + + + Retorna um código hash para esse objeto. + + O código hash. + + + + Compara os dados dos dois objetos . + + O objeto com o qual comparar. + + Um número assinado indicando os valores relativos dessa instância e valor. + + + Thrown when the object passed in is not an instance of . + + + + + Retorna um objeto IEnumerator cujo comprimento é derivado + da propriedade Data. + + O objeto IEnumerator + + + + Retorna um objeto GenericParameterHelper que é igual ao + objeto atual. + + O objeto clonado. + + + + Permite que usuários registrem/gravem rastros de testes de unidade para diagnósticos. + + + + + Manipulador para LogMessage. + + Mensagem a ser registrada. + + + + Evento a ser escutado. Acionado quando o gerador do teste de unidade escreve alguma mensagem. + Principalmente para ser consumido pelo adaptador. + + + + + API para o gravador de teste chamar Registrar mensagens. + + Formato de cadeia de caracteres com espaços reservados. + Parâmetros dos espaços reservados. + + + + Atributo TestCategory. Usado para especificar a categoria de um teste de unidade. + + + + + Inicializa a nova instância da classe e aplica a categoria ao teste. + + + A Categoria de teste. + + + + + Obtém as categorias de teste aplicadas ao teste. + + + + + Classe base para o atributo "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializa a nova instância da classe . + Aplica a categoria ao teste. As cadeias de caracteres retornadas por TestCategories + são usadas com o comando /category para filtrar os testes + + + + + Obtém a categoria de teste aplicada ao teste. + + + + + Classe AssertFailedException. Usada para indicar falha em um caso de teste + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Inicializa uma nova instância da classe . + + + + + Uma coleção de classes auxiliares para testar várias condições nos + testes de unidade. Se a condição testada não é atendida, uma exceção + é gerada. + + + + + Obtém uma instância singleton da funcionalidade Asserção. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + Thrown if is false. + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + A mensagem a ser incluída na exceção quando + é falsa. A mensagem é mostrada nos resultados de teste. + + + Thrown if is false. + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + A mensagem a ser incluída na exceção quando + é falsa. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is false. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + Thrown if is true. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + A mensagem a ser incluída na exceção quando + é verdadeira. A mensagem é mostrada nos resultados de teste. + + + Thrown if is true. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + A mensagem a ser incluída na exceção quando + é verdadeira. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is true. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + Thrown if is not null. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + A mensagem a ser incluída na exceção quando + não é nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if is not null. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + A mensagem a ser incluída na exceção quando + não é nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + Thrown if is null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + A mensagem a ser incluída na exceção quando + é nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if is null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + A mensagem a ser incluída na exceção quando + é nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is null. + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é o mesmo que . A mensagem é mostrada + nos resultados de teste. + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é o mesmo que . A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if refers to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é o mesmo que . A mensagem é mostrada nos + resultados de teste. + + + Thrown if refers to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é o mesmo que . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if refers to the same object + as . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if is not equal to . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if is equal to . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + Thrown if is equal to . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + Thrown if is not equal to + . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + A mensagem a ser incluída na exceção quando + não é uma instância de . A mensagem é + mostrada nos resultados de teste. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + A mensagem a ser incluída na exceção quando + não é uma instância de . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + A mensagem a ser incluída na exceção quando + é uma instância de . A mensagem é mostrada + nos resultados de teste. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + A mensagem a ser incluída na exceção quando + é uma instância de . A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Gera uma AssertFailedException. + + + Always thrown. + + + + + Gera uma AssertFailedException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Always thrown. + + + + + Gera uma AssertFailedException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Always thrown. + + + + + Os métodos estático igual a sobrecargas são usados para comparar instâncias de dois tipos em relação à igualdade de + referência. Esse método não deve ser usado para comparar a igualdade de + duas instâncias. Esse objeto sempre gerará Assert.Fail. Use + Assert.AreEqual e sobrecargas associadas nos testes de unidade. + + Objeto A + Objeto B + Sempre falso. + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera AssertFailedException se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + Delegado ao código a ser testado e que é esperado que gere exceção. + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera AssertFailedException se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + Delegado ao código a ser testado e que é esperado que gere exceção. + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Substitui os caracteres nulos ('\0') por "\\0". + + + A cadeia de caracteres a ser pesquisada. + + + A cadeia de caracteres convertida com os caracteres nulos substituídos por "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Função auxiliar que cria e gera uma AssertionFailedException + + + nome da asserção que gera uma exceção + + + mensagem que descreve as condições da falha de asserção + + + Os parâmetros. + + + + + Verifica o parâmetro das condições válidas + + + O parâmetro. + + + O Nome da asserção. + + + nome do parâmetro + + + mensagem da exceção de parâmetro inválido + + + Os parâmetros. + + + + + Converte com segurança um objeto em uma cadeia de caracteres manipulando valores e caracteres nulos. + Os valores nulos são convertidos em "(null)". Os caracteres nulos são convertidos em "\\0". + + + O objeto a ser convertido em uma cadeia de caracteres. + + + A cadeia de caracteres convertida. + + + + + A asserção da cadeia de caracteres. + + + + + Obtém a instância singleton da funcionalidade CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + A mensagem a ser incluída na exceção quando + não começa com . A mensagem é + mostrada nos resultados de teste. + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + A mensagem a ser incluída na exceção quando + não começa com . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + A mensagem a ser incluída na exceção quando + não termina com . A mensagem é + mostrada nos resultados de teste. + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + A mensagem a ser incluída na exceção quando + não termina com . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + A mensagem a ser incluída na exceção quando + não corresponde a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + A mensagem a ser incluída na exceção quando + não corresponde a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + Thrown if matches . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + A mensagem a ser incluída na exceção quando + corresponde a . A mensagem é mostrada nos resultados de + teste. + + + Thrown if matches . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + A mensagem a ser incluída na exceção quando + corresponde a . A mensagem é mostrada nos resultados de + teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if matches . + + + + + Uma coleção de classes auxiliares para testar várias condições associadas + às coleções nos testes de unidade. Se a condição testada não é + atendida, uma exceção é gerada. + + + + + Obtém a instância singleton da funcionalidade CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + Thrown if is found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + A mensagem a ser incluída na exceção quando + está em . A mensagem é mostrada nos resultados de + teste. + + + Thrown if is found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + A mensagem a ser incluída na exceção quando + está em . A mensagem é mostrada nos resultados de + teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is found in + . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + A mensagem a ser incluída na exceção quando + contém um elemento nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + A mensagem a ser incluída na exceção quando + contém um elemento nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + A mensagem a ser incluída na exceção quando + contém pelo menos um elemento duplicado. A mensagem é mostrada nos + resultados de teste. + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + A mensagem a ser incluída na exceção quando + contém pelo menos um elemento duplicado. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + A mensagem a ser incluída na exceção quando um elemento em + não é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + A mensagem a ser incluída na exceção quando um elemento em + não é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + Thrown if every element in is also found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + A mensagem a ser incluída na exceção quando todo elemento em + também é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Thrown if every element in is also found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + A mensagem a ser incluída na exceção quando todo elemento em + também é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if every element in is also found in + . + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando um elemento foi encontrado + em uma das coleções, mas não na outra. A mensagem é mostrada + nos resultados de teste. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando um elemento foi encontrado + em uma das coleções, mas não na outra. A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando + contém os mesmos elementos que . A mensagem + é mostrada nos resultados de teste. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando + contém os mesmos elementos que . A mensagem + é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + A mensagem a ser incluída na exceção quando um elemento em + não é uma instância de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + A mensagem a ser incluída na exceção quando um elemento em + não é uma instância de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Determina se a primeira coleção é um subconjunto da segunda + coleção. Se os conjuntos contiverem elementos duplicados, o número + de ocorrências do elemento no subconjunto deverá ser menor ou igual + ao número de ocorrências no superconjunto. + + + A coleção que o teste espera que esteja contida em . + + + A coleção que o teste espera que contenha . + + + Verdadeiro se é um subconjunto de + , caso contrário, falso. + + + + + Cria um dicionário contendo o número de ocorrências de cada + elemento na coleção especificada. + + + A coleção a ser processada. + + + O número de elementos nulos na coleção. + + + Um dicionário contendo o número de ocorrências de cada elemento + na coleção especificada. + + + + + Encontra um elemento incompatível entre as duas coleções. Um elemento + incompatível é aquele que aparece um número diferente de vezes na + coleção esperada em relação à coleção real. É pressuposto que + as coleções sejam referências não nulas diferentes com o + mesmo número de elementos. O chamador é responsável por esse nível de + verificação. Se não houver nenhum elemento incompatível, a função retornará + falso e os parâmetros de saída não deverão ser usados. + + + A primeira coleção a ser comparada. + + + A segunda coleção a ser comparada. + + + O número esperado de ocorrências de + ou 0 se não houver nenhum elemento + incompatível. + + + O número real de ocorrências de + ou 0 se não houver nenhum elemento + incompatível. + + + O elemento incompatível (poderá ser nulo) ou nulo se não houver nenhum + elemento incompatível. + + + verdadeiro se um elemento incompatível foi encontrado. Caso contrário, falso. + + + + + compara os objetos usando object.Equals + + + + + Classe base para exceções do Framework. + + + + + Inicializa uma nova instância da classe . + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Uma classe de recurso fortemente tipada para pesquisar cadeias de caracteres localizadas, etc. + + + + + Retorna a instância de ResourceManager armazenada em cache usada por essa classe. + + + + + Substitui a propriedade CurrentUICulture do thread atual em todas + as pesquisas de recursos usando essa classe de recurso fortemente tipada. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres de acesso tem sintaxe inválida. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A coleção esperada contém {1} ocorrência(s) de <{2}>. A coleção real contém {3} ocorrência(s). {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Item duplicado encontrado:<{1}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1}>. Maiúsculas e minúsculas diferentes para o valor real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperada uma diferença não maior que <{3}> entre o valor esperado <{1}> e o valor real <{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1} ({2})>. Real:<{3} ({4})>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1}>. Real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperada uma diferença maior que <{3}> entre o valor esperado <{1}> e o valor real <{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a É esperado qualquer valor, exceto:<{1}>. Real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Não passe tipos de valores para AreSame(). Os valores convertidos em Object nunca serão os mesmos. Considere usar AreEqual(). {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante à Falha em {0}. {1}. + + + + + Pesquisa uma cadeia de caracteres localizada similar a TestMethod assíncrono com UITestMethodAttribute sem suporte. Remova o assíncrono ou use o TestMethodAttribute. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções estão vazias. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções contêm os mesmos elementos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as referências de coleções apontam para o mesmo objeto de coleção. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções contêm os mesmos elementos. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0}({1}). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (nulo). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (objeto). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não contém a cadeia de caracteres '{1}'. {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0} ({1}). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Assert.Equals não deve ser usado para Asserções. Use Assert.AreEqual e sobrecargas em seu lugar. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O número de elementos nas coleções não corresponde. Esperado:<{1}>. Real:<{2}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {0} não corresponde. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {1} não é de tipo esperado. Tipo esperado:<{2}>. Tipo real:<{3}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {1} é (nulo). Tipo esperado:<{2}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não termina com a cadeia de caracteres '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Argumento inválido – EqualsTester não pode usar nulos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Não é possível converter objeto do tipo {0} em {1}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O objeto interno referenciado não é mais válido. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O parâmetro '{0}' é inválido. {1}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A propriedade {0} é do tipo {1}; tipo esperado {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0} Tipo esperado:<{1}>. Tipo real:<{2}>.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não corresponde ao padrão '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Tipo incorreto:<{1}>. Tipo real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' corresponde ao padrão '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Nenhum DataRowAttribute especificado. Pelo menos um DataRowAttribute é necessário com DataTestMethodAttribute. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Nenhuma exceção gerada. A exceção {1} era esperada. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O parâmetro '{0}' é inválido. O valor não pode ser nulo. {1}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Número diferente de elementos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a + O construtor com a assinatura especificada não pôde ser encontrado. Talvez seja necessário gerar novamente seu acessador particular + ou o membro pode ser particular e definido em uma classe base. Se o último for verdadeiro, será necessário passar o tipo + que define o membro no construtor do PrivateObject. + . + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a + O membro especificado ({0}) não pôde ser encontrado. Talvez seja necessário gerar novamente seu acessador particular + ou o membro pode ser particular e definido em uma classe base. Se o último for verdadeiro, será necessário passar o tipo + que define o membro no construtor do PrivateObject. + . + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não começa com a cadeia de caracteres '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O tipo de exceção esperado deve ser System.Exception ou um tipo derivado de System.Exception. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (Falha ao obter a mensagem para uma exceção do tipo {0} devido a uma exceção.). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste não gerou a exceção esperada {0}. {1}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste não gerou uma exceção. Uma exceção era esperada pelo atributo {0} definido no método de teste. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste gerou a exceção {0}, mas era esperada a exceção {1}. Mensagem de exceção: {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste gerou a exceção {0}, mas era esperado a exceção {1} ou um tipo derivado dela. Mensagem de exceção: {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Exceção gerada {2}, mas a exceção {1} era esperada. {0} + Mensagem de Exceção: {3} + Rastreamento de Pilha: {4}. + + + + + resultados de teste de unidade + + + + + O teste foi executado, mas ocorreram problemas. + Os problemas podem envolver exceções ou asserções com falha. + + + + + O teste foi concluído, mas não é possível dizer se houve aprovação ou falha. + Pode ser usado para testes anulados. + + + + + O teste foi executado sem nenhum problema. + + + + + O teste está em execução no momento. + + + + + Ocorreu um erro de sistema ao tentarmos executar um teste. + + + + + O tempo limite do teste foi atingido. + + + + + O teste foi anulado pelo usuário. + + + + + O teste está em um estado desconhecido + + + + + Fornece funcionalidade auxiliar para a estrutura do teste de unidade + + + + + Obtém as mensagens de exceção, incluindo as mensagens para todas as exceções internas + recursivamente + + Exceção ao obter mensagens para + cadeia de caracteres com informações de mensagem de erro + + + + Enumeração para tempos limite, a qual pode ser usada com a classe . + O tipo de enumeração deve corresponder + + + + + O infinito. + + + + + O atributo da classe de teste. + + + + + Obtém um atributo de método de teste que habilita a execução desse teste. + + A instância de atributo do método de teste definida neste método. + O a ser usado para executar esse teste. + Extensions can override this method to customize how all methods in a class are run. + + + + O atributo do método de teste. + + + + + Executa um método de teste. + + O método de teste a ser executado. + Uma matriz de objetos TestResult que representam resultados do teste. + Extensions can override this method to customize running a TestMethod. + + + + O atributo de inicialização do teste. + + + + + O atributo de limpeza do teste. + + + + + O atributo ignorar. + + + + + O atributo de propriedade de teste. + + + + + Inicializa uma nova instância da classe . + + + O nome. + + + O valor. + + + + + Obtém o nome. + + + + + Obtém o valor. + + + + + O atributo de inicialização de classe. + + + + + O atributo de limpeza de classe. + + + + + O atributo de inicialização de assembly. + + + + + O atributo de limpeza de assembly. + + + + + Proprietário do Teste + + + + + Inicializa uma nova instância da classe . + + + O proprietário. + + + + + Obtém o proprietário. + + + + + Atributo de prioridade. Usado para especificar a prioridade de um teste de unidade. + + + + + Inicializa uma nova instância da classe . + + + A prioridade. + + + + + Obtém a prioridade. + + + + + Descrição do teste + + + + + Inicializa uma nova instância da classe para descrever um teste. + + A descrição. + + + + Obtém a descrição de um teste. + + + + + URI de Estrutura do Projeto de CSS + + + + + Inicializa a nova instância da classe para o URI da Estrutura do Projeto CSS. + + O URI da Estrutura do Projeto ECSS. + + + + Obtém o URI da Estrutura do Projeto CSS. + + + + + URI de Iteração de CSS + + + + + Inicializa uma nova instância da classe para o URI de Iteração do CSS. + + O URI de iteração do CSS. + + + + Obtém o URI de Iteração do CSS. + + + + + Atributo WorkItem. Usado para especificar um item de trabalho associado a esse teste. + + + + + Inicializa a nova instância da classe para o Atributo WorkItem. + + A ID para o item de trabalho. + + + + Obtém a ID para o item de trabalho associado. + + + + + Atributo de tempo limite. Usado para especificar o tempo limite de um teste de unidade. + + + + + Inicializa uma nova instância da classe . + + + O tempo limite. + + + + + Inicializa a nova instância da classe com um tempo limite predefinido + + + O tempo limite + + + + + Obtém o tempo limite. + + + + + O objeto TestResult a ser retornado ao adaptador. + + + + + Inicializa uma nova instância da classe . + + + + + Obtém ou define o nome de exibição do resultado. Útil ao retornar vários resultados. + Se for nulo, o nome do Método será usado como o DisplayName. + + + + + Obtém ou define o resultado da execução de teste. + + + + + Obtém ou define a exceção gerada quando o teste falha. + + + + + Obtém ou define a saída da mensagem registrada pelo código de teste. + + + + + Obtém ou define a saída da mensagem registrada pelo código de teste. + + + + + Obtém ou define os rastreamentos de depuração pelo código de teste. + + + + + Gets or sets the debug traces by test code. + + + + + Obtém ou define a duração de execução do teste. + + + + + Obtém ou define o índice de linha de dados na fonte de dados. Defina somente para os resultados de execuções + individuais de um teste controlado por dados. + + + + + Obtém ou define o valor retornado do método de teste. (Sempre nulo no momento). + + + + + Obtém ou define os arquivos de resultado anexados pelo teste. + + + + + Especifica a cadeia de conexão, o nome de tabela e o método de acesso de linha para teste controlado por dados. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + O nome do provedor padrão para a DataSource. + + + + + O método de acesso a dados padrão. + + + + + Inicializa a nova instância da classe . Essa instância será inicializada com um provedor de dados, uma cadeia de conexão, uma tabela de dados e um método de acesso a dados para acessar a fonte de dados. + + Nome do provedor de dados invariável, como System.Data.SqlClient + + Cadeia de conexão específica do provedor de dados. + AVISO: a cadeia de conexão pode conter dados confidenciais (por exemplo, uma senha). + A cadeia de conexão é armazenada em texto sem formatação no código-fonte e no assembly compilado. + Restrinja o acesso ao código-fonte e ao assembly para proteger essas formações confidenciais. + + O nome da tabela de dados. + Especifica a ordem para acessar os dados. + + + + Inicializa a nova instância da classe . Essa instância será inicializada com uma cadeia de conexão e um nome da tabela. + Especifique a cadeia de conexão e a tabela de dados para acessar a fonte de dados OLEDB. + + + Cadeia de conexão específica do provedor de dados. + AVISO: a cadeia de conexão pode conter dados confidenciais (por exemplo, uma senha). + A cadeia de conexão é armazenada em texto sem formatação no código-fonte e no assembly compilado. + Restrinja o acesso ao código-fonte e ao assembly para proteger essas formações confidenciais. + + O nome da tabela de dados. + + + + Inicializa a nova instância da classe . Essa instância será inicializada com um provedor de dados e com uma cadeia de conexão associada ao nome da configuração. + + O nome da fonte de dados encontrada na seção <microsoft.visualstudio.qualitytools> do arquivo app.config. + + + + Obtém o valor que representa o provedor de dados da fonte de dados. + + + O nome do provedor de dados. Se um provedor de dados não foi designado na inicialização do objeto, o provedor de dados padrão de System.Data.OleDb será retornado. + + + + + Obtém o valor que representa a cadeia de conexão da fonte de dados. + + + + + Obtém um valor que indica o nome da tabela que fornece dados. + + + + + Obtém o método usado para acessar a fonte de dados. + + + + Um dos valores. Se o não for inicializado, o valor padrão será retornado . + + + + + Obtém o nome da fonte de dados encontrada na seção <microsoft.visualstudio.qualitytools> no arquivo app.config. + + + + + O atributo para teste controlado por dados em que os dados podem ser especificados de maneira embutida. + + + + + Encontrar todas as linhas de dados e executar. + + + O Método de teste. + + + Uma matriz de . + + + + + Executa o método de teste controlado por dados. + + O método de teste a ser executado. + Linha de Dados. + Resultados de execução. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..f278594 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4202 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod для выполнения. + + + + + Получает имя метода теста. + + + + + Получает имя тестового класса. + + + + + Получает тип возвращаемого значения метода теста. + + + + + Получает параметры метода теста. + + + + + Получает methodInfo для метода теста. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Вызывает метод теста. + + + Аргументы, передаваемые методу теста (например, для управляемых данными тестов). + + + Результат вызова метода теста. + + + This call handles asynchronous test methods as well. + + + + + Получить все атрибуты метода теста. + + + Допустим ли атрибут, определенный в родительском классе. + + + Все атрибуты. + + + + + Получить атрибут указанного типа. + + System.Attribute type. + + Допустим ли атрибут, определенный в родительском классе. + + + Атрибуты указанного типа. + + + + + Вспомогательный метод. + + + + + Параметр проверки не имеет значения NULL. + + + Параметр. + + + Имя параметра. + + + Сообщение. + + Throws argument null exception when parameter is null. + + + + Параметр проверки не равен NULL или не пуст. + + + Параметр. + + + Имя параметра. + + + Сообщение. + + Throws ArgumentException when parameter is null. + + + + Перечисление, описывающее способ доступа к строкам данных в тестах, управляемых данными. + + + + + Строки возвращаются в последовательном порядке. + + + + + Строки возвращаются в случайном порядке. + + + + + Атрибут для определения встроенных данных для метода теста. + + + + + Инициализирует новый экземпляр класса . + + Объект данных. + + + + Инициализирует новый экземпляр класса , принимающий массив аргументов. + + Объект данных. + Дополнительные данные. + + + + Получает данные для вызова метода теста. + + + + + Получает или задает отображаемое имя в результатах теста для настройки. + + + + + Исключение утверждения с неопределенным результатом. + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Инициализирует новый экземпляр класса . + + + + + Класс InternalTestFailureException. Используется для указания внутреннего сбоя для тестового случая + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Инициализирует новый экземпляр класса . + + Сообщение об исключении. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение об исключении. + + + + Инициализирует новый экземпляр класса . + + + + + Атрибут, который указывает, что ожидается исключение указанного типа + + + + + Инициализирует новый экземпляр класса ожидаемого типа + + Тип ожидаемого исключения + + + + Инициализирует новый экземпляр класса + ожидаемого типа c сообщением для включения, когда тест не создает исключение. + + Тип ожидаемого исключения + + Сообщение для включения в результат теста, если тест не был пройден из-за того, что не создал исключение + + + + + Получает значение, указывающее тип ожидаемого исключения + + + + + Получает или задает значение, которое означает, являются ли ожидаемыми типы, производные + от типа ожидаемого исключения + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Проверяет, является ли ожидаемым тип исключения, созданного модульным тестом + + Исключение, созданное модульным тестом + + + + Базовый класс для атрибутов, которые указывают ожидать исключения из модульного теста + + + + + Инициализирует новый экземпляр класса с сообщением об отсутствии исключений по умолчанию + + + + + Инициализирует новый экземпляр класса с сообщением об отсутствии исключений + + + Сообщение для включения в результат теста, если тест не был пройден из-за того, что не создал + исключение + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Получает сообщение по умолчанию об отсутствии исключений + + Название типа для атрибута ExpectedException + Сообщение об отсутствии исключений по умолчанию + + + + Определяет, ожидается ли исключение. Если метод возвращает управление, то + считается, что ожидалось исключение. Если метод создает исключение, то + считается, что исключение не ожидалось, и сообщение созданного исключения + включается в результат теста. Для удобства можно использовать класс . + Если используется и утверждение завершается с ошибкой, + то результат теста будет неопределенным. + + Исключение, созданное модульным тестом + + + + Повторно создать исключение при возникновении исключения AssertFailedException или AssertInconclusiveException + + Исключение, которое необходимо создать повторно, если это исключение утверждения + + + + Этот класс предназначен для пользователей, выполняющих модульное тестирование для универсальных типов. + GenericParameterHelper удовлетворяет некоторым распространенным ограничениям для универсальных типов, + например. + 1. Открытый конструктор по умолчанию + 2. Реализует общий интерфейс: IComparable, IEnumerable + + + + + Инициализирует новый экземпляр класса , который + удовлетворяет ограничению newable в универсальных типах C#. + + + This constructor initializes the Data property to a random value. + + + + + Инициализирует новый экземпляр класса , который + инициализирует свойство Data в указанное пользователем значение. + + Любое целочисленное значение + + + + Получает или задает данные + + + + + Сравнить значения двух объектов GenericParameterHelper + + объект, с которым будет выполнено сравнение + True, если obj имеет то же значение, что и объект "this" GenericParameterHelper. + В противном случае False. + + + + Возвращает хэш-код для этого объекта. + + Хэш-код. + + + + Сравнивает данные двух объектов . + + Объект для сравнения. + + Число со знаком, указывающее относительные значения этого экземпляра и значения. + + + Thrown when the object passed in is not an instance of . + + + + + Возвращает объект IEnumerator, длина которого является производной + от свойства Data. + + Объект IEnumerator + + + + Возвращает объект GenericParameterHelper, равный + текущему объекту. + + Клонированный объект. + + + + Позволяет пользователям регистрировать/записывать трассировки от модульных тестов для диагностики. + + + + + Обработчик LogMessage. + + Сообщение для записи в журнал. + + + + Прослушиваемое событие. Возникает, когда средство записи модульных тестов записывает сообщение. + Главным образом используется адаптером. + + + + + API, при помощи которого средство записи теста будет обращаться к сообщениям журнала. + + Строка формата с заполнителями. + Параметры для заполнителей. + + + + Атрибут TestCategory; используется для указания категории модульного теста. + + + + + Инициализирует новый экземпляр класса и применяет категорию к тесту. + + + Категория теста. + + + + + Возвращает или задает категории теста, которые были применены к тесту. + + + + + Базовый класс для атрибута Category + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Инициализирует новый экземпляр класса . + Применяет к тесту категорию. Строки, возвращаемые TestCategories , + используются с командой /category для фильтрации тестов + + + + + Возвращает или задает категорию теста, которая была применена к тесту. + + + + + Класс AssertFailedException. Используется для указания сбоя тестового случая + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Инициализирует новый экземпляр класса . + + + + + Коллекция вспомогательных классов для тестирования различных условий в + модульных тестах. Если проверяемое условие + ложно, создается исключение. + + + + + Получает одноэлементный экземпляр функции Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение False. Сообщение отображается в результатах теста. + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение False. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Thrown if is true. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение True. Сообщение отображается в результатах теста. + + + Thrown if is true. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение True. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is true. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение, отличное от NULL. Сообщение отображается в результатах теста. + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение, отличное от NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Thrown if is null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение NULL. Сообщение отображается в результатах теста. + + + Thrown if is null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is null. + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается + в результатах тестирования. + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается + в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Thrown if refers to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if refers to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if refers to the same object + as . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Thrown if is not equal to . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Thrown if is not equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Thrown if is equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Сообщение, которое будет добавлено в исключение, если + не является экземпляром . Сообщение + отображается в результатах тестирования. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Сообщение, которое будет добавлено в исключение, если + не является экземпляром . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Сообщение, которое будет добавлено в исключение, если + является экземпляром класса . Сообщение отображается + в результатах тестирования. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Сообщение, которое будет добавлено в исключение, если + является экземпляром класса . Сообщение отображается + в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Создает исключение AssertFailedException. + + + Always thrown. + + + + + Создает исключение AssertFailedException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Always thrown. + + + + + Создает исключение AssertFailedException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Always thrown. + + + + + Статические переопределения равенства используются для сравнения экземпляров двух типов на равенство + ссылок. Этот метод не должен использоваться для сравнения двух экземпляров на + равенство. Этот объект всегда создает исключение с Assert.Fail. Используйте в ваших модульных тестах + Assert.AreEqual и связанные переопределения. + + Объект A + Объект B + False (всегда). + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Проверяет, создает ли код, указанный с помощью делегата , в точности заданное исключение типа (и не производного типа ), + и создает исключение AssertFailedException , если код не создает исключение, или создает исключение типа, отличного от . + + Делегат для проверяемого кода, который должен создать исключение. + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Проверяет, создает ли код, указанный с помощью делегата , в точности заданное исключение типа (и не производного типа ), + и создает исключение AssertFailedException , если код не создает исключение, или создает исключение типа, отличного от . + + Делегат для проверяемого кода, который должен создать исключение. + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Заменяет NULL-символы ("\0") символами "\\0". + + + Искомая строка. + + + Преобразованная строка, в которой NULL-символы были заменены на "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Вспомогательная функция, которая создает и вызывает AssertionFailedException + + + имя утверждения, создавшего исключение + + + сообщение с описанием условий для сбоя утверждения + + + Параметры. + + + + + Проверяет параметр на допустимые условия + + + Параметр. + + + Имя утверждения. + + + имя параметра + + + сообщение об исключении, связанном с недопустимым параметром + + + Параметры. + + + + + Безопасно преобразует объект в строку, обрабатывая значения NULL и NULL-символы. + Значения NULL преобразуются в "(null)", NULL-символы — в "\\0". + + + Объект для преобразования в строку. + + + Преобразованная строка. + + + + + Утверждение строки. + + + + + Получает одноэлементный экземпляр функции CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not found in + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Thrown if does not begin with + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Сообщение, которое будет добавлено в исключение, если + не начинается с . Сообщение + отображается в результатах тестирования. + + + Thrown if does not begin with + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Сообщение, которое будет добавлено в исключение, если + не начинается с . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not begin with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Thrown if does not end with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Сообщение, которое будет добавлено в исключение, если + не заканчивается на . Сообщение + отображается в результатах тестирования. + + + Thrown if does not end with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Сообщение, которое будет добавлено в исключение, если + не заканчивается на . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not end with + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Thrown if does not match + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + не соответствует . Сообщение отображается в + результатах тестирования. + + + Thrown if does not match + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + не соответствует . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not match + . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Thrown if matches . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + соответствует . Сообщение отображается в результатах + тестирования. + + + Thrown if matches . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + соответствует . Сообщение отображается в результатах + тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if matches . + + + + + Коллекция вспомогательных классов для тестирования различных условий, связанных + с коллекциями в модульных тестах. Если проверяемое условие + ложно, создается исключение. + + + + + Получает одноэлементный экземпляр функции CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Thrown if is found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + находится в . Сообщение отображается в результатах + тестирования. + + + Thrown if is found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + находится в . Сообщение отображается в результатах + тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is found in + . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Thrown if a null element is found in . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Сообщение, которое будет добавлено в исключение, если + содержит элемент, равный NULL. Сообщение отображается в результатах теста. + + + Thrown if a null element is found in . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Сообщение, которое будет добавлено в исключение, если + содержит элемент, равный NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if a null element is found in . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Сообщение, которое будет добавлено в исключение, если + содержит как минимум один элемент-дубликат. Это сообщение отображается в + результатах теста. + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Сообщение, которое будет добавлено в исключение, если + содержит как минимум один элемент-дубликат. Это сообщение отображается в + результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Thrown if an element in is not found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если элемент в + не обнаружен в . + Сообщение отображается в результатах тестирования. + + + Thrown if an element in is not found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если элемент в + не обнаружен в . + Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if an element in is not found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Thrown if every element in is also found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если каждый элемент в + также обнаружен в . + Сообщение отображается в результатах тестирования. + + + Thrown if every element in is also found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если каждый элемент в + также обнаружен в . + Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if every element in is also found in + . + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если элемент был обнаружен + в одной коллекции, но не обнаружен в другой. Это сообщение отображается + в результатах теста. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если элемент был обнаружен + в одной коллекции, но не обнаружен в другой. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + содержит такие же элементы, что и . Сообщение + отображается в результатах тестирования. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + содержит такие же элементы, что и . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Сообщение, которое будет добавлено в исключение, если элемент в + не является экземпляром + . Сообщение отображается в результатах тестирования. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Сообщение, которое будет добавлено в исключение, если элемент в + не является экземпляром + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Определяет, является ли первая коллекция подмножеством второй + коллекции. Если любое из множеств содержит одинаковые элементы, то число + вхождений элемента в подмножестве должно быть меньше или + равно количеству вхождений в супермножестве. + + + Коллекция, которая с точки зрения теста должна содержаться в . + + + Коллекция, которая с точки зрения теста должна содержать . + + + Значение True, если является подмножеством + , в противном случае — False. + + + + + Создает словарь с числом вхождений каждого элемента + в указанной коллекции. + + + Обрабатываемая коллекция. + + + Число элементов, имеющих значение NULL, в коллекции. + + + Словарь с числом вхождений каждого элемента + в указанной коллекции. + + + + + Находит несоответствующий элемент между двумя коллекциями. Несоответствующий + элемент — это элемент, количество вхождений которого в ожидаемой коллекции отличается + от фактической коллекции. В качестве коллекций + ожидаются различные ссылки, отличные от null, с одинаковым + количеством элементов. За этот уровень проверки отвечает + вызывающий объект. Если несоответствующих элементов нет, функция возвращает + False, и выходные параметры использовать не следует. + + + Первая сравниваемая коллекция. + + + Вторая сравниваемая коллекция. + + + Ожидаемое число вхождений + или 0, если несоответствующие элементы + отсутствуют. + + + Фактическое число вхождений + или 0, если несоответствующие элементы + отсутствуют. + + + Несоответствующий элемент (может иметь значение NULL) или значение NULL, если несоответствующий + элемент отсутствует. + + + Значение True, если был найден несоответствующий элемент, в противном случае — False. + + + + + сравнивает объекты при помощи object.Equals + + + + + Базовый класс для исключений платформы. + + + + + Инициализирует новый экземпляр класса . + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Строго типизированный класс ресурса для поиска локализованных строк и т. д. + + + + + Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. + + + + + Переопределяет свойство CurrentUICulture текущего потока для всех операций + поиска ресурсов, в которых используется этот строго типизированный класс. + + + + + Ищет локализованную строку, похожую на "Синтаксис строки доступа неверен". + + + + + Ищет локализованную строку, похожую на "Ожидаемая коллекция содержит {1} вхождений <{2}>. Фактическая коллекция содержит {3} вхождений. {0}". + + + + + Ищет локализованную строку, похожую на "Обнаружен элемент-дубликат: <{1}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1}>. Фактическое значение имеет другой регистр: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Различие между ожидаемым значением <{1}> и фактическим значением <{2}> должно было составлять не больше <{3}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1} ({2})>. Фактическое: <{3} ({4})>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1}>. Фактическое: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Различие между ожидаемым значением <{1}> и фактическим значением <{2}> должно было составлять больше <{3}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидалось любое значение, кроме: <{1}>. Фактическое значение: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Не передавайте типы значений в AreSame(). Значения, преобразованные в объекты, никогда не будут одинаковыми. Воспользуйтесь методом AreEqual(). {0}". + + + + + Ищет локализованную строку, похожую на "Сбой {0}. {1}". + + + + + Ищет локализованную строку, аналогичную "Асинхронный метод TestMethod с UITestMethodAttribute не поддерживается. Удалите async или используйте TestMethodAttribute". + + + + + Ищет локализованную строку, похожую на "Обе коллекции пусты. {0}". + + + + + Ищет локализованную строку, похожую на "Обе коллекции содержат одинаковые элементы". + + + + + Ищет локализованную строку, похожую на "Ссылки на обе коллекции указывают на один объект коллекции. {0}". + + + + + Ищет локализованную строку, похожую на "Обе коллекции содержат одинаковые элементы. {0}". + + + + + Ищет локализованную строку, похожую на "{0}({1})". + + + + + Ищет локализованную строку, похожую на "(NULL)". + + + + + Ищет локализованную строку, похожую на "(объект)". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не содержит строку "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "{0} ({1})". + + + + + Ищет локализованную строку, похожую на "Assert.Equals не следует использовать для Assertions. Используйте Assert.AreEqual и переопределения". + + + + + Ищет локализованную строку, похожую на "Число элементов в коллекциях не совпадает. Ожидаемое число: <{1}>. Фактическое: <{2}>.{0}". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {0} не соответствует". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {1} имеет непредвиденный тип. Ожидаемый тип: <{2}>. Фактический тип: <{3}>.{0}". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {1} имеет значение (NULL). Ожидаемый тип: <{2}>.{0}". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не заканчивается строкой "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Недопустимый аргумент — EqualsTester не может использовать значения NULL". + + + + + Ищет локализованную строку, похожую на "Невозможно преобразовать объект типа {0} в {1}". + + + + + Ищет локализованную строку, похожую на "Внутренний объект, на который была сделана ссылка, более не действителен". + + + + + Ищет локализованную строку, похожую на "Параметр "{0}" недопустим. {1}". + + + + + Ищет локализованную строку, похожую на "Свойство {0} имеет тип {1}; ожидаемый тип: {2}". + + + + + Ищет локализованную строку, похожую на "{0} Ожидаемый тип: <{1}>. Фактический тип: <{2}>". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не соответствует шаблону "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Неправильный тип: <{1}>. Фактический тип: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" соответствует шаблону "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Не указан атрибут DataRowAttribute. Необходимо указать как минимум один атрибут DataRowAttribute с атрибутом DataTestMethodAttribute". + + + + + Ищет локализованную строку, похожую на "Исключение не было создано. Ожидалось исключение {1}. {0}". + + + + + Ищет локализованную строку, похожую на "Параметр "{0}" недопустим. Значение не может быть равно NULL. {1}". + + + + + Ищет локализованную строку, похожую на "Число элементов различается". + + + + + Ищет локализованную строку, похожую на + "Не удалось найти конструктор с указанной сигнатурой. Возможно, потребуется повторно создать закрытый метод доступа, + или элемент может быть закрытым и определяться в базовом классе. В последнем случае необходимо передать тип, + определяющий элемент, в конструктор класса PrivateObject". + . + + + + + Ищет локализованную строку, похожую на + "Не удалось найти указанный элемент ({0}). Возможно, потребуется повторно создать закрытый метод доступа, + или элемент может быть закрытым и определяться в базовом классе. В последнем случае необходимо передать тип, + определяющий элемент, в конструктор PrivateObject". + . + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не начинается со строки "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое исключение должно иметь тип System.Exception или производный от него тип". + + + + + Ищет локализованную строку, похожую на "(Не удалось получить сообщение для исключения типа {0} из-за исключения.)". + + + + + Ищет локализованную строку, похожую на "Метод теста не создал ожидаемое исключение {0}. {1}". + + + + + Ищет локализованную строку, похожую на "Метод теста не создал исключение. Исключение ожидалось атрибутом {0}, определенным в методе теста". + + + + + Ищет локализованную строку, похожую на "Метод теста создан исключение {0}, а ожидалось исключение {1}. Сообщение исключения: {2}". + + + + + Ищет локализованную строку, похожую на "Метод теста создал исключение {0}, а ожидалось исключение {1} или производный от него тип. Сообщение исключения: {2}". + + + + + Ищет локализованную строку, похожую на "Создано исключение {2}, а ожидалось исключение {1}. {0} + Сообщение исключения: {3} + Стек трассировки: {4}". + + + + + результаты модульного теста + + + + + Тест был выполнен, но при его выполнении возникли проблемы. + Эти проблемы могут включать исключения или сбой утверждений. + + + + + Тест завершен, но результат его завершения неизвестен. + Может использоваться для прерванных тестов. + + + + + Тест был выполнен без проблем. + + + + + Тест выполняется в данный момент. + + + + + При попытке выполнения теста возникла ошибка в системе. + + + + + Время ожидания для теста истекло. + + + + + Тест прерван пользователем. + + + + + Тест находится в неизвестном состоянии + + + + + Предоставляет вспомогательные функции для платформы модульных тестов + + + + + Получает сообщения с исключениями, включая сообщения для всех внутренних исключений + (рекурсивно) + + Исключение, для которого следует получить сообщения + строка с сообщением об ошибке + + + + Перечисление для времен ожидания, которое можно использовать с классом . + Тип перечисления должен соответствовать + + + + + Бесконечно. + + + + + Атрибут тестового класса. + + + + + Получает атрибут метода теста, включающий выполнение этого теста. + + Для этого метода определен экземпляр атрибута метода теста. + + для использования для выполнения этого теста. + Extensions can override this method to customize how all methods in a class are run. + + + + Атрибут метода теста. + + + + + Выполняет метод теста. + + Выполняемый метод теста. + Массив объектов TestResult, представляющих результаты теста. + Extensions can override this method to customize running a TestMethod. + + + + Атрибут инициализации теста. + + + + + Атрибут очистки теста. + + + + + Атрибут игнорирования. + + + + + Атрибут свойства теста. + + + + + Инициализирует новый экземпляр класса . + + + Имя. + + + Значение. + + + + + Получает имя. + + + + + Получает значение. + + + + + Атрибут инициализации класса. + + + + + Атрибут очистки класса. + + + + + Атрибут инициализации сборки. + + + + + Атрибут очистки сборки. + + + + + Владелец теста + + + + + Инициализирует новый экземпляр класса . + + + Владелец. + + + + + Получает владельца. + + + + + Атрибут Priority; используется для указания приоритета модульного теста. + + + + + Инициализирует новый экземпляр класса . + + + Приоритет. + + + + + Получает приоритет. + + + + + Описание теста + + + + + Инициализирует новый экземпляр класса для описания теста. + + Описание. + + + + Получает описание теста. + + + + + URI структуры проекта CSS + + + + + Инициализирует новый экземпляр класса для URI структуры проекта CSS. + + URI структуры проекта CSS. + + + + Получает URI структуры проекта CSS. + + + + + URI итерации CSS + + + + + Инициализирует новый экземпляр класса для URI итерации CSS. + + URI итерации CSS. + + + + Получает URI итерации CSS. + + + + + Атрибут WorkItem; используется для указания рабочего элемента, связанного с этим тестом. + + + + + Инициализирует новый экземпляр класса для атрибута WorkItem. + + Идентификатор рабочего элемента. + + + + Получает идентификатор связанного рабочего элемента. + + + + + Атрибут Timeout; используется для указания времени ожидания модульного теста. + + + + + Инициализирует новый экземпляр класса . + + + Время ожидания. + + + + + Инициализирует новый экземпляр класса с заданным временем ожидания + + + Время ожидания + + + + + Получает время ожидания. + + + + + Объект TestResult, который возвращается адаптеру. + + + + + Инициализирует новый экземпляр класса . + + + + + Получает или задает отображаемое имя результата. Удобно для возврата нескольких результатов. + Если параметр равен NULL, имя метода используется в качестве DisplayName. + + + + + Получает или задает результат выполнения теста. + + + + + Получает или задает исключение, создаваемое, если тест не пройден. + + + + + Получает или задает выходные данные сообщения, записываемого кодом теста. + + + + + Получает или задает выходные данные сообщения, записываемого кодом теста. + + + + + Получает или задает трассировки отладки для кода теста. + + + + + Gets or sets the debug traces by test code. + + + + + Получает или задает продолжительность выполнения теста. + + + + + Возвращает или задает индекс строки данных в источнике данных. Задается только для результатов выполнения + отдельных строк данных для теста, управляемого данными. + + + + + Получает или задает возвращаемое значение для метода теста. (Сейчас всегда равно NULL.) + + + + + Возвращает или задает файлы результатов, присоединенные во время теста. + + + + + Задает строку подключения, имя таблицы и метод доступа к строкам для тестов, управляемых данными. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Имя поставщика по умолчанию для DataSource. + + + + + Метод доступа к данным по умолчанию. + + + + + Инициализирует новый экземпляр класса . Этот экземпляр инициализируется с поставщиком данных, строкой подключения, таблицей данных и методом доступа к данным для доступа к источнику данных. + + Имя инвариантного поставщика данных, например System.Data.SqlClient + + Строка подключения для поставщика данных. + Внимание! Строка подключения может содержать конфиденциальные данные (например, пароль). + Строка подключения хранится в виде открытого текста в исходном коде и в скомпилированной сборке. + Ограничьте доступ к исходному коду и сборке для защиты конфиденциальных данных. + + Имя таблицы данных. + Задает порядок доступа к данным. + + + + Инициализирует новый экземпляр класса . Этот экземпляр будет инициализирован с строкой подключения и именем таблицы. + Укажите строку подключения и таблицу данных для доступа к источнику данных OLEDB. + + + Строка подключения для поставщика данных. + Внимание! Строка подключения может содержать конфиденциальные данные (например, пароль). + Строка подключения хранится в виде открытого текста в исходном коде и в скомпилированной сборке. + Ограничьте доступ к исходному коду и сборке для защиты конфиденциальных данных. + + Имя таблицы данных. + + + + Инициализирует новый экземпляр класса . Этот экземпляр инициализируется с поставщиком данных и строкой подключения, связанной с именем параметра. + + Имя источника данных, обнаруженного в разделе <microsoft.visualstudio.qualitytools> файла app.config. + + + + Получает значение, представляющее поставщик данных для источника данных. + + + Имя поставщика данных. Если поставщик данных не был определен при инициализации объекта, будет возвращен поставщик по умолчанию, System.Data.OleDb. + + + + + Получает значение, представляющее строку подключения для источника данных. + + + + + Получает значение с именем таблицы, содержащей данные. + + + + + Возвращает метод, используемый для доступа к источнику данных. + + + + Один из значений. Если не инициализировано, возвращается значение по умолчанию . + + + + + Возвращает имя источника данных, обнаруженное в разделе <microsoft.visualstudio.qualitytools> файла app.config. + + + + + Атрибут для тестов, управляемых данными, в которых данные могут быть встроенными. + + + + + Найти все строки данных и выполнить. + + + Метод теста. + + + Массив . + + + + + Выполнение метода теста, управляемого данными. + + Выполняемый метод теста. + Строка данных. + Результаты выполнения. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..b7a0029 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Yürütülecek TestMethod. + + + + + Test metodunun adını alır. + + + + + Test sınıfının adını alır. + + + + + Test metodunun dönüş türünü alır. + + + + + Test metodunun parametrelerini alır. + + + + + Test metodu için methodInfo değerini alır. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Test metodunu çağırır. + + + Test metoduna geçirilecek bağımsız değişkenler. (Örn. Veri temelli için) + + + Test yöntemi çağırma sonucu. + + + This call handles asynchronous test methods as well. + + + + + Test metodunun tüm özniteliklerini alır. + + + Üst sınıfta tanımlanan özniteliğin geçerli olup olmadığını belirtir. + + + Tüm öznitelikler. + + + + + Belirli bir türdeki özniteliği alır. + + System.Attribute type. + + Üst sınıfta tanımlanan özniteliğin geçerli olup olmadığını belirtir. + + + Belirtilen türün öznitelikleri. + + + + + Yardımcı. + + + + + Denetim parametresi null değil. + + + Parametre. + + + Parametre adı. + + + İleti. + + Throws argument null exception when parameter is null. + + + + Denetim parametresi null veya boş değil. + + + Parametre. + + + Parametre adı. + + + İleti. + + Throws ArgumentException when parameter is null. + + + + Veri tabanlı testlerde veri satırlarına erişme şekline yönelik sabit listesi. + + + + + Satırlar sıralı olarak döndürülür. + + + + + Satırlar rastgele sırayla döndürülür. + + + + + Bir test metodu için satır içi verileri tanımlayan öznitelik. + + + + + sınıfının yeni bir örneğini başlatır. + + Veri nesnesi. + + + + Bir bağımsız değişken dizisi alan sınıfının yeni bir örneğini başlatır. + + Bir veri nesnesi. + Daha fazla veri. + + + + Çağıran test metodu verilerini alır. + + + + + Özelleştirme için test sonuçlarında görünen adı alır veya ayarlar. + + + + + Onay sonuçlandırılmadı özel durumu. + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + sınıfının yeni bir örneğini başlatır. + + + + + InternalTestFailureException sınıfı. Bir test çalışmasının iç hatasını belirtmek için kullanılır + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + sınıfının yeni bir örneğini başlatır. + + Özel durum iletisi. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + Özel durum iletisi. + + + + sınıfının yeni bir örneğini başlatır. + + + + + Belirtilen türde bir özel durum beklemeyi belirten öznitelik + + + + + Beklenen tür ile sınıfının yeni bir örneğini başlatır + + Beklenen özel durum türü + + + + Beklenen tür ve test tarafından özel durum oluşturulmadığında eklenecek ileti ile sınıfının + yeni bir örneğini başlatır. + + Beklenen özel durum türü + + Test bir özel durum oluşturmama nedeniyle başarısız olursa test sonucuna dahil edilecek ileti + + + + + Beklenen özel durumun Türünü belirten bir değer alır + + + + + Beklenen özel durumun türünden türetilmiş türlerin beklenen özel durum türü olarak değerlendirilmesine izin verilip verilmeyeceğini + belirten değeri alır veya ayarlar + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Birim testi tarafından oluşturulan özel durum türünün beklendiğini doğrular + + Birim testi tarafından oluşturulan özel durum + + + + Birim testinden bir özel durum beklemek için belirtilen özniteliklerin temel sınıfı + + + + + Varsayılan bir 'özel durum yok' iletisi ile sınıfının yeni bir örneğini başlatır + + + + + Bir 'özel durum yok' iletisi ile sınıfının yeni bir örneğini başlatır + + + Test bir özel durum oluşturmama nedeniyle başarısız olursa test sonucuna + dahil edilecek özel durum + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Varsayılan 'özel durum yok' iletisini alır + + ExpectedException özniteliği tür adı + Özel durum olmayan varsayılan ileti + + + + Özel durumun beklenip beklenmediğini belirler. Metot dönüş yapıyorsa, özel + durumun beklendiği anlaşılır. Metot bir özel durum oluşturuyorsa, özel durumun + beklenmediği anlaşılır ve oluşturulan özel durumun iletisi test sonucuna + eklenir. Kolaylık sağlamak amacıyla sınıfı kullanılabilir. + kullanılırsa ve onaylama başarısız olursa, + test sonucu Belirsiz olarak ayarlanır. + + Birim testi tarafından oluşturulan özel durum + + + + Özel durum bir AssertFailedException veya AssertInconclusiveException ise özel durumu yeniden oluşturur + + Bir onaylama özel durumu ise yeniden oluşturulacak özel durum + + + + Bu sınıf, kullanıcının genel türler kullanan türlere yönelik birim testleri yapmasına yardımcı olmak üzere tasarlanmıştır. + GenericParameterHelper bazı genel tür kısıtlamalarını yerine getirir; + örneğin: + 1. genel varsayılan oluşturucu + 2. ortak arabirim uygular: IComparable, IEnumerable + + + + + sınıfının C# genel türlerindeki 'newable' + kısıtlamasını karşılayan yeni bir örneğini başlatır. + + + This constructor initializes the Data property to a random value. + + + + + sınıfının, Data özelliğini kullanıcı + tarafından sağlanan bir değerle başlatan yeni bir örneğini başlatır. + + Herhangi bir tamsayı değeri + + + + Verileri alır veya ayarlar + + + + + İki GenericParameterHelper nesnesi için değer karşılaştırması yapar + + karşılaştırma yapılacak nesne + nesne bu 'this' GenericParameterHelper nesnesiyle aynı değere sahipse true. + aksi takdirde false. + + + + Bu nesne için bir karma kod döndürür. + + Karma kod. + + + + İki nesnesinin verilerini karşılaştırır. + + Karşılaştırılacak nesne. + + Bu örnek ve değerin göreli değerlerini gösteren, işaretli sayı. + + + Thrown when the object passed in is not an instance of . + + + + + Uzunluğu Data özelliğinden türetilmiş bir IEnumerator nesnesi + döndürür. + + IEnumerator nesnesi + + + + Geçerli nesneye eşit olan bir GenericParameterHelper nesnesi + döndürür. + + Kopyalanan nesne. + + + + Kullanıcıların tanılama amacıyla birim testlerindeki izlemeleri günlüğe kaydetmesini/yazmasını sağlar. + + + + + LogMessage işleyicisi. + + Günlüğe kaydedilecek ileti. + + + + Dinlenecek olay. Birim testi yazıcı bir ileti yazdığında oluşturulur. + Genellikle bağdaştırıcı tarafından kullanılır. + + + + + İletileri günlüğe kaydetmek için çağrılacak test yazıcısı API'si. + + Yer tutucuları olan dize biçimi. + Yer tutucu parametreleri. + + + + TestCategory özniteliği; bir birim testinin kategorisini belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır ve kategoriyi teste uygular. + + + Test Kategorisi. + + + + + Teste uygulanan test kategorilerini alır. + + + + + "Category" özniteliğinin temel sınıfı + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + sınıfının yeni bir örneğini başlatır. + Kategoriyi teste uygular. TestCategories tarafından döndürülen + dizeler /category komutu içinde testleri filtrelemek için kullanılır + + + + + Teste uygulanan test kategorisini alır. + + + + + AssertFailedException sınıfı. Test çalışmasının başarısız olduğunu göstermek için kullanılır + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + sınıfının yeni bir örneğini başlatır. + + + + + Birim testleri içindeki çeşitli koşulları test etmeye yönelik yardımcı + sınıf koleksiyonu. Test edilen koşul karşılanmazsa bir özel durum + oluşturulur. + + + + + Assert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Thrown if is false. + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + false. İleti test sonuçlarında gösterilir. + + + Thrown if is false. + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + false. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is false. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Thrown if is true. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + true. İleti test sonuçlarında gösterilir. + + + Thrown if is true. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + true. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is true. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Thrown if is not null. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null değil. İleti test sonuçlarında gösterilir. + + + Thrown if is not null. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null değil. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Thrown if is null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null. İleti test sonuçlarında gösterilir. + + + Thrown if is null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is null. + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı değil: . İleti test + sonuçlarında gösterilir. + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı değil: . İleti test + sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if refers to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynıdır: . İleti test sonuçlarında + gösterilir. + + + Thrown if refers to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynıdır: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if refers to the same object + as . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if is not equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Thrown if is not equal to + . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneği değil: . İleti + test sonuçlarında gösterilir. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneği değil: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneğidir: . İleti test + sonuçlarında gösterilir. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneğidir: . İleti test + sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Bir AssertFailedException oluşturur. + + + Always thrown. + + + + + Bir AssertFailedException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Always thrown. + + + + + Bir AssertFailedException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Always thrown. + + + + + Statik eşit aşırı yüklemeler iki türün örneklerini başvuru eşitliği bakımından + karşılaştırmak için kullanılır. Bu metot iki örneği eşitlik bakımından karşılaştırmak için + kullanılmamalıdır. Bu nesne her zaman Assert.Fail ile oluşturulur. + Lütfen birim testlerinizde Assert.AreEqual ve ilişkili aşırı yüklemelerini kullanın. + + Nesne A + Nesne B + Her zaman false. + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa AssertFailedException oluşturur. + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + Şu durumda özel duruma dahil edilecek ileti + tarafından şu türde özel durum oluşturulmadığı durumlarda oluşturulur: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa AssertFailedException oluşturur. + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + Şu durumda özel duruma dahil edilecek ileti + tarafından şu türde özel durum oluşturulmadığı durumlarda oluşturulur: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + Null karakterleri ('\0'), "\\0" ile değiştirir. + + + Aranacak dize. + + + Null karakterler içeren dönüştürülmüş dize "\\0" ile değiştirildi. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException oluşturan yardımcı işlev + + + özel durum oluşturan onaylamanın adı + + + onaylama hatası koşullarını açıklayan ileti + + + Parametreler. + + + + + Parametreyi geçerli koşullar için denetler + + + Parametre. + + + Onaylama Adı. + + + parametre adı + + + iletisi geçersiz parametre özel durumu içindir + + + Parametreler. + + + + + Bir nesneyi güvenli bir şekilde dizeye dönüştürür, null değerleri ve null karakterleri işler. + Null değerler "(null)" değerine dönüştürülür. Null karakterler "\\0" değerine dönüştürülür. + + + Dizeye dönüştürülecek nesne. + + + Dönüştürülmüş dize. + + + + + Dize onayı. + + + + + CollectionAssert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla başlamıyor: . İleti + test sonuçlarında gösterilir. + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla başlamıyor: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Thrown if does not end with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla bitmiyor: . İleti + test sonuçlarında gösterilir. + + + Thrown if does not end with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla bitmiyor: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not end with + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşmiyor . İleti test sonuçlarında + gösterilir. + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşmiyor . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Thrown if matches . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşme . İleti, test sonuçlarında + gösterilir. + + + Thrown if matches . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşme . İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if matches . + + + + + Birim testleri içindeki koleksiyonlarla ilişkili çeşitli koşulları test etmeye + yönelik yardımcı sınıf koleksiyonu. Test edilen koşul karşılanmazsa + bir özel durum oluşturulur. + + + + + CollectionAssert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Thrown if is found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içindedir: . İleti, test sonuçlarında + gösterilir. + + + Thrown if is found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içindedir: . İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + bir null öğe içeriyor. İleti test sonuçlarında gösterilir. + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + bir null öğe içeriyor. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Thrown if a two or more equal elements are found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + en az bir yinelenen öğe içeriyor. İleti, test sonuçlarında + gösterilir. + + + Thrown if a two or more equal elements are found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + en az bir yinelenen öğe içeriyor. İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if a two or more equal elements are found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şurada bulunmuyor: . + İleti test sonuçlarında gösterilir. + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şurada bulunmuyor: . + İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Thrown if every element in is also found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Mesajın özel duruma dahil edilmesi için şuradaki her öğe: + ayrıca şurada bulunur: . + İleti test sonuçlarında gösterilir. + + + Thrown if every element in is also found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Mesajın özel duruma dahil edilmesi için şuradaki her öğe: + ayrıca şurada bulunur: . + İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if every element in is also found in + . + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Bir öğe koleksiyonlardan birinde varken diğerinde olmadığında + özel duruma eklenecek ileti. İleti, test sonuçlarında + gösterilir. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Bir öğe koleksiyonlardan birinde varken diğerinde olmadığında + özel duruma eklenecek ileti. İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı öğeleri içerir: . İleti + test sonuçlarında gösterilir. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı öğeleri içerir: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şunun bir örneği değil: + . İleti test sonuçlarında gösterilir. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şunun bir örneği değil: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti: + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti: + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Şu parametre biçimlendirilirken kullanılacak parametre dizisi: . + + + Thrown if is equal to . + + + + + Birinci koleksiyonun ikinci koleksiyona ait bir alt küme olup + olmadığını belirler. Kümelerden biri yinelenen öğeler içeriyorsa, + öğenin alt kümedeki oluşum sayısı üst kümedeki oluşum sayısına + eşit veya bu sayıdan daha az olmalıdır. + + + Testin içinde bulunmasını beklediği koleksiyon . + + + Testin içermesini beklediği koleksiyon . + + + Şu durumda true: şunun bir alt kümesidir: + , aksi takdirde false. + + + + + Belirtilen koleksiyondaki her öğenin oluşum sayısını içeren bir + sözlük oluşturur. + + + İşlenecek koleksiyon. + + + Koleksiyondaki null öğe sayısı. + + + Belirtilen koleksiyondaki her öğenin oluşum sayısını içeren + bir sözlük. + + + + + İki koleksiyon arasında eşleşmeyen bir öğe bulur. Eşleşmeyen öğe, + beklenen koleksiyonda gerçek koleksiyondakinden farklı sayıda görünen + öğedir. Koleksiyonların, + aynı sayıda öğeye sahip null olmayan farklı başvurular olduğu + varsayılır. Bu doğrulama düzeyinden + çağıran sorumludur. Eşleşmeyen bir öğe yoksa işlev + false değerini döndürür ve dış parametreler kullanılmamalıdır. + + + Karşılaştırılacak birinci koleksiyon. + + + Karşılaştırılacak ikinci koleksiyon. + + + Şunun için beklenen oluşma sayısı: + veya uyumsuz öğe yoksa + 0. + + + Gerçek oluşma sayısı: + veya uyumsuz öğe yoksa + 0. + + + Uyumsuz öğe (null olabilir) veya uyumsuz bir + öğe yoksa null. + + + uyumsuz bir öğe bulunduysa true; aksi takdirde false. + + + + + object.Equals kullanarak nesneleri karşılaştırır + + + + + Çerçeve Özel Durumları için temel sınıf. + + + + + sınıfının yeni bir örneğini başlatır. + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + Yerelleştirilmiş dizeleri aramak gibi işlemler için, türü kesin olarak belirtilmiş kaynak sınıfı. + + + + + Bu sınıf tarafından kullanılan, önbelleğe alınmış ResourceManager örneğini döndürür. + + + + + Türü kesin olarak belirlenmiş bu kaynak sınıfını kullanan + tüm kaynak aramaları için geçerli iş parçacığının CurrentUICulture özelliğini geçersiz kılar. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Erişim dizesinde geçersiz söz dizimi var. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen koleksiyon {1} <{2}> oluşumu içeriyor. Gerçek koleksiyon {3} oluşum içeriyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Yinelenen öğe bulundu:<{1}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1}>. Gerçek değer için büyük/küçük harf kullanımı farklı:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen <{1}> değeri ile gerçek <{2}> değeri arasında en fazla <{3}> fark bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1} ({2})>. Gerçek:<{3} ({4})>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1}>. Gerçek:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen <{1}> değeri ile gerçek <{2}> değeri arasında <{3}> değerinden büyük bir fark bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: <{1}> dışında bir değer bekleniyordu. Gerçek:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Değer türlerini AreSame() metoduna geçirmeyin. Object türüne dönüştürülen değerler hiçbir zaman aynı olmaz. AreEqual(). kullanmayı deneyin {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} başarısız oldu. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: UITestMethodAttribute özniteliğine sahip async TestMethod metodu desteklenmiyor. async ifadesini kaldırın ya da TestMethodAttribute özniteliğini kullanın. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da boş. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da aynı öğeleri içeriyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon başvurusu da aynı koleksiyon nesnesini işaret ediyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da aynı öğeleri içeriyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0}({1}). + + + + + Şuna benzer bir yerelleştirilmiş dize arar: null. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: nesne. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesini içermiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} ({1}). + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Assert.Equals, Onaylamalar için kullanılmamalıdır. Lütfen bunun yerine Assert.AreEqual ve aşırı yüklemelerini kullanın. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Koleksiyonlardaki öğe sayıları eşleşmiyor. Beklenen:<{1}>. Gerçek:<{2}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} dizinindeki öğe eşleşmiyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {1} dizinindeki öğe beklenen türde değil. Beklenen tür:<{2}>. Gerçek tür:<{3}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dizeyi arar: {1} dizinindeki öğe (null). Beklenen tür:<{2}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesiyle bitmiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Geçersiz bağımsız değişken. EqualsTester null değerler kullanamaz. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} türündeki nesne {1} türüne dönüştürülemiyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Başvurulan iç nesne artık geçerli değil. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' parametresi geçersiz. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} özelliği {1} türüne sahip; beklenen tür {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} Beklenen tür:<{1}>. Gerçek tür:<{2}>. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' deseniyle eşleşmiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Yanlış Tür:<{1}>. Gerçek tür:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' deseniyle eşleşiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: No DataRowAttribute belirtilmedi. DataTestMethodAttribute ile en az bir DataRowAttribute gereklidir. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Özel durum oluşturulmadı. {1} özel durumu bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' parametresi geçersiz. Değer null olamaz. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Farklı sayıda öğe. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: + Belirtilen imzaya sahip oluşturucu bulunamadı. Özel erişimcinizi yeniden oluşturmanız gerekebilir + veya üye özel ve bir temel sınıfta tanımlanmış olabilir. İkinci durum geçerliyse üyeyi + tanımlayan türü PrivateObject oluşturucusuna geçirmeniz gerekir. + . + + + + + Şuna benzer bir yerelleştirilmiş dize arar: + Belirtilen üye ({0}) bulunamadı. Özel erişimcinizi yeniden oluşturmanız gerekebilir + veya üye özel ve bir temel sınıfta tanımlanmış olabilir. İkinci durum geçerliyse üyeyi tanımlayan türü + PrivateObject oluşturucusuna geçirmeniz gerekir. + . + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesiyle başlamıyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen özel durum türü System.Exception veya System.Exception'dan türetilmiş bir tür olmalıdır. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Bir özel durum nedeniyle {0} türündeki özel durum için ileti alınamadı. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu beklenen {0} özel durumunu oluşturmadı. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu bir özel durum oluşturmadı. Test metodunda tanımlanan {0} özniteliği tarafından bir özel durum bekleniyordu. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu {0} özel durumunu oluşturdu, ancak {1} özel durumu bekleniyordu. Özel durum iletisi: {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu {0} özel durumunu oluşturdu, ancak {1} özel durumu veya bundan türetilmiş bir tür bekleniyordu. Özel durum iletisi: {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {2} özel durumu oluşturuldu, ancak {1} özel durumu bekleniyordu. {0} + Özel Durum İletisi: {3} + Yığın İzleme: {4}. + + + + + birim testi sonuçları + + + + + Test yürütüldü ancak sorunlar oluştu. + Sorunlar özel durumları veya başarısız onaylamaları içerebilir. + + + + + Test tamamlandı ancak başarılı olup olmadığı belli değil. + İptal edilen testler için kullanılabilir. + + + + + Test bir sorun olmadan yürütüldü. + + + + + Test şu anda yürütülüyor. + + + + + Test yürütülmeye çalışılırken bir sistem hatası oluştu. + + + + + Test zaman aşımına uğradı. + + + + + Test, kullanıcı tarafından iptal edildi. + + + + + Test bilinmeyen bir durumda + + + + + Birim testi çerçevesi için yardımcı işlevini sağlar + + + + + Yinelemeli olarak tüm iç özel durumların iletileri dahil olmak üzere + özel durum iletilerini alır + + Şunun için iletilerin alınacağı özel durum: + hata iletisi bilgilerini içeren dize + + + + Zaman aşımları için sınıfı ile birlikte kullanılabilen sabit listesi. + Sabit listesinin türü eşleşmelidir + + + + + Sonsuz. + + + + + Test sınıfı özniteliği. + + + + + Bu testi çalıştırmayı sağlayan bir test metodu özniteliği alır. + + Bu metot üzerinde tanımlanan test metodu özniteliği örneği. + The bu testi çalıştırmak için kullanılabilir. + Extensions can override this method to customize how all methods in a class are run. + + + + Test metodu özniteliği. + + + + + Bir test metodu yürütür. + + Yürütülecek test metodu. + Testin sonuçlarını temsil eden bir TestResult nesneleri dizisi. + Extensions can override this method to customize running a TestMethod. + + + + Test başlatma özniteliği. + + + + + Test temizleme özniteliği. + + + + + Ignore özniteliği. + + + + + Test özelliği özniteliği. + + + + + sınıfının yeni bir örneğini başlatır. + + + Ad. + + + Değer. + + + + + Adı alır. + + + + + Değeri alır. + + + + + Sınıf başlatma özniteliği. + + + + + Sınıf temizleme özniteliği. + + + + + Bütünleştirilmiş kod başlatma özniteliği. + + + + + Bütünleştirilmiş kod temizleme özniteliği. + + + + + Test Sahibi + + + + + sınıfının yeni bir örneğini başlatır. + + + Sahip. + + + + + Sahibi alır. + + + + + Priority özniteliği; birim testinin önceliğini belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır. + + + Öncelik. + + + + + Önceliği alır. + + + + + Testin açıklaması + + + + + Bir testi açıklamak için kullanılan sınıfının yeni bir örneğini başlatır. + + Açıklama. + + + + Bir testin açıklamasını alır. + + + + + CSS Proje Yapısı URI'si + + + + + CSS Proje Yapısı URI'si için sınıfının yeni bir örneğini başlatır. + + CSS Proje Yapısı URI'si. + + + + CSS Proje Yapısı URI'sini alır. + + + + + CSS Yineleme URI'si + + + + + CSS Yineleme URI'si için sınıfının yeni bir örneğini başlatır. + + CSS Yineleme URI'si. + + + + CSS Yineleme URI'sini alır. + + + + + WorkItem özniteliği; bu testle ilişkili bir çalışma öğesini belirtmek için kullanılır. + + + + + WorkItem Özniteliği için sınıfının yeni bir örneğini başlatır. + + Bir iş öğesinin kimliği. + + + + İlişkili bir iş öğesinin kimliğini alır. + + + + + Timeout özniteliği; bir birim testinin zaman aşımını belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır. + + + Zaman aşımı. + + + + + sınıfının önceden ayarlanmış bir zaman aşımı ile yeni bir örneğini başlatır + + + Zaman aşımı + + + + + Zaman aşımını alır. + + + + + Bağdaştırıcıya döndürülecek TestResult nesnesi. + + + + + sınıfının yeni bir örneğini başlatır. + + + + + Sonucun görünen adını alır veya ayarlar. Birden fazla sonuç döndürürken yararlıdır. + Null ise Metot adı DisplayName olarak kullanılır. + + + + + Test yürütmesinin sonucunu alır veya ayarlar. + + + + + Test başarısız olduğunda oluşturulan özel durumu alır veya ayarlar. + + + + + Test kodu tarafından günlüğe kaydedilen iletinin çıktısını alır veya ayarlar. + + + + + Test kodu tarafından günlüğe kaydedilen iletinin çıktısını alır veya ayarlar. + + + + + Test koduna göre hata ayıklama izlemelerini alır veya ayarlar. + + + + + Gets or sets the debug traces by test code. + + + + + Test yürütme süresini alır veya ayarlar. + + + + + Veri kaynağındaki veri satırı dizinini alır veya ayarlar. Yalnızca, veri tabanlı bir testin tek bir veri satırının + çalıştırılmasına ait sonuçlar için ayarlayın. + + + + + Test metodunun dönüş değerini alır veya ayarlar. (Şu anda her zaman null). + + + + + Test tarafından eklenen sonuç dosyalarını alır veya ayarlar. + + + + + Veri tabanlı test için bağlantı dizesini, tablo adını ve satır erişim metodunu belirtir. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource için varsayılan sağlayıcı adı. + + + + + Varsayılan veri erişimi metodu. + + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir veri sağlayıcısı, bağlantı dizesi, veri tablosu ve veri kaynağına erişmek için kullanılan veri erişimi metodu ile başlatılır. + + System.Data.SqlClient gibi değişmez veri sağlayıcısı adı + + Veri sağlayıcısına özgü bağlantı dizesi. + UYARI: Bağlantı dizesi, hassas veriler (parola gibi) içerebilir. + Bağlantı dizesi, kaynak kodunda ve derlenmiş bütünleştirilmiş kodda düz metin olarak depolanır. + Bu hassas bilgileri korumak için kaynak koda ve bütünleştirilmiş koda erişimi kısıtlayın. + + Veri tablosunun adı. + Verilere erişme sırasını belirtir. + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir bağlantı dizesi ve tablo adı ile başlatılır. + OLEDB veri kaynağına erişmek için kullanılan bağlantı dizesini ve veri tablosunu belirtin. + + + Veri sağlayıcısına özgü bağlantı dizesi. + UYARI: Bağlantı dizesi, hassas veriler (parola gibi) içerebilir. + Bağlantı dizesi, kaynak kodunda ve derlenmiş bütünleştirilmiş kodda düz metin olarak depolanır. + Bu hassas bilgileri korumak için kaynak koda ve bütünleştirilmiş koda erişimi kısıtlayın. + + Veri tablosunun adı. + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir veri sağlayıcısı ile ve ayar adıyla ilişkili bir bağlantı dizesi ile başlatılır. + + App.config dosyasındaki <microsoft.visualstudio.qualitytools> bölümünde bulunan veri kaynağının adı. + + + + Veri kaynağının veri sağlayıcısını temsil eden bir değer alır. + + + Veri sağlayıcısı adı. Nesne başlatılırken bir veri sağlayıcısı belirtilmemişse varsayılan System.Data.OleDb sağlayıcısı döndürülür. + + + + + Veri kaynağının bağlantı dizesini temsil eden bir değer alır. + + + + + Verileri sağlayan tablo adını belirten bir değer alır. + + + + + Veri kaynağına erişmek için kullanılan metodu alır. + + + + Bir değerlerdir. Eğer başlatılmazsa, varsayılan değeri döndürür . + + + + + App.config dosyasındaki <microsoft.visualstudio.qualitytools> bölümünde bulunan bir veri kaynağının adını alır. + + + + + Verilerin satır içi belirtilebileceği veri tabanlı testin özniteliği. + + + + + Tüm veri satırlarını bulur ve yürütür. + + + Test Yöntemi. + + + Bir . + + + + + Veri tabanlı test metodunu çalıştırır. + + Yürütülecek test yöntemi. + Veri Satırı. + Yürütme sonuçları. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..0ccce3f --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 用于执行的 TestMethod。 + + + + + 获取测试方法的名称。 + + + + + 获取测试类的名称。 + + + + + 获取测试方法的返回类型。 + + + + + 获取测试方法的参数。 + + + + + 获取测试方法的 methodInfo。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 调用测试方法。 + + + 传递到测试方法的参数(例如,对于数据驱动) + + + 测试方法调用的结果。 + + + This call handles asynchronous test methods as well. + + + + + 获取测试方法的所有属性。 + + + 父类中定义的任何属性都有效。 + + + 所有特性。 + + + + + 获取特定类型的属性。 + + System.Attribute type. + + 父类中定义的任何属性都有效。 + + + 指定类型的属性。 + + + + + 帮助程序。 + + + + + 非 null 的检查参数。 + + + 参数。 + + + 参数名称。 + + + 消息。 + + Throws argument null exception when parameter is null. + + + + 不为 null 或不为空的检查参数。 + + + 参数。 + + + 参数名称。 + + + 消息。 + + Throws ArgumentException when parameter is null. + + + + 枚举在数据驱动测试中访问数据行的方式。 + + + + + 按连续顺序返回行。 + + + + + 按随机顺序返回行。 + + + + + 用于定义测试方法内联数据的属性。 + + + + + 初始化 类的新实例。 + + 数据对象。 + + + + 初始化采用参数数组的 类的新实例。 + + 一个数据对象。 + 更多数据。 + + + + 获取数据以调用测试方法。 + + + + + 在测试结果中为自定义获取或设置显示名称。 + + + + + 断言无结论异常。 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 初始化 类的新实例。 + + + + + InternalTestFailureException 类。用来指示测试用例的内部错误 + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 初始化 类的新实例。 + + 异常消息。 + 异常。 + + + + 初始化 类的新实例。 + + 异常消息。 + + + + 初始化 类的新实例。 + + + + + 指定引发指定类型异常的属性 + + + + + 初始化含有预期类型的 类的新实例 + + 预期异常的类型 + + + + 初始化 类的新实例, + 测试未引发异常时,该类中会包含预期类型和消息。 + + 预期异常的类型 + + 测试由于未引发异常而失败时测试结果中要包含的消息 + + + + + 获取指示预期异常类型的值 + + + + + 获取或设置一个值,指示是否允许将派生自预期异常类型的类型 + 作为预期类型 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 验证由单元测试引发的异常类型是否为预期类型 + + 由单元测试引发的异常 + + + + 指定应从单元测试引发异常的属性基类 + + + + + 初始化含有默认无异常消息的 类的新实例 + + + + + 初始化含有一条无异常消息的 类的新实例 + + + 测试由于未引发异常而失败时测试结果中要包含的 + 消息 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 获取默认无异常消息 + + ExpectedException 特性类型名称 + 默认非异常消息 + + + + 确定该异常是否为预期异常。如果返回了方法,则表示 + 该异常为预期异常。如果方法引发异常,则表示 + 该异常不是预期异常,且引发的异常消息 + 包含在测试结果中。为了方便, + 可使用 类。如果使用了 且断言失败, + 则表示测试结果设置为了“无结论”。 + + 由单元测试引发的异常 + + + + 如果异常为 AssertFailedException 或 AssertInconclusiveException,则再次引发该异常 + + 如果是断言异常则要重新引发的异常 + + + + 此类旨在帮助用户使用泛型类型为类型执行单元测试。 + GenericParameterHelper 满足某些常见的泛型类型限制, + 如: + 1.公共默认构造函数 + 2.实现公共接口: IComparable,IEnumerable + + + + + 初始化 类的新实例, + 该类满足 C# 泛型中的“可续订”约束。 + + + This constructor initializes the Data property to a random value. + + + + + 初始化 类的新实例, + 该类将数据属性初始化为用户提供的值。 + + 任意整数值 + + + + 获取或设置数据 + + + + + 比较两个 GenericParameterHelper 对象的值 + + 要进行比较的对象 + 如果 obj 与“此”GenericParameterHelper 对象具有相同的值,则为 true。 + 反之则为 false。 + + + + 为此对象返回哈希代码。 + + 哈希代码。 + + + + 比较两个 对象的数据。 + + 要比较的对象。 + + 有符号的数字表示此实例和值的相对值。 + + + Thrown when the object passed in is not an instance of . + + + + + 返回一个 IEnumerator 对象,该对象的长度派生自 + 数据属性。 + + IEnumerator 对象 + + + + 返回与当前对象相同的 GenericParameterHelper + 对象。 + + 克隆对象。 + + + + 允许用户记录/编写单元测试的跟踪以进行诊断。 + + + + + 用于 LogMessage 的处理程序。 + + 要记录的消息。 + + + + 要侦听的事件。单元测试编写器编写某些消息时引发。 + 主要供适配器使用。 + + + + + 测试编写器要将其调用到日志消息的 API。 + + 带占位符的字符串格式。 + 占位符的参数。 + + + + TestCategory 属性;用于指定单元测试的分类。 + + + + + 初始化 类的新实例并将分类应用到该测试。 + + + 测试类别。 + + + + + 获取已应用到测试的测试类别。 + + + + + "Category" 属性的基类 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 初始化 类的新实例。 + 将分类应用到测试。TestCategories 返回的字符串 + 与 /category 命令一起使用,以筛选测试 + + + + + 获取已应用到测试的测试分类。 + + + + + AssertFailedException 类。用于指示测试用例失败 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 初始化 类的新实例。 + + + + + 帮助程序类的集合,用于测试单元测试中 + 的各种条件。如果不满足被测条件,则引发 + 一个异常。 + + + + + 获取 Assert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + Thrown if is false. + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 false。消息显示在测试结果中。 + + + Thrown if is false. + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 false。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is false. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + Thrown if is true. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 true。消息显示在测试结果中。 + + + Thrown if is true. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 true。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is true. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + Thrown if is not null. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 不为 null。消息显示在测试结果中。 + + + Thrown if is not null. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 不为 null。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + Thrown if is null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 为 null。消息显示在测试结果中。 + + + Thrown if is null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 为 null。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is null. + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不相同 。消息显示 + 在测试结果中。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不相同 。消息显示 + 在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + Thrown if refers to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 相同 。消息显示在 + 测试结果中。 + + + Thrown if refers to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 相同 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if refers to the same object + as . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + Thrown if is not equal to . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + Thrown if is equal to . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + Thrown if is equal to . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + Thrown if is not equal to + . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + Thrown if is equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + 要包含在异常中的消息,条件是当 + 不是一个实例。消息 + 显示在测试结果中。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + 要包含在异常中的消息,条件是当 + 不是一个实例。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + 要包含在异常中的消息,条件是当 + 是一个实例。消息显示 + 在测试结果中。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + 要包含在异常中的消息,条件是当 + 是一个实例。消息显示 + 在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 引发 AssertFailedException。 + + + Always thrown. + + + + + 引发 AssertFailedException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + Always thrown. + + + + + 引发 AssertFailedException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Always thrown. + + + + + 静态相等重载用于比较两种类型实例的引用 + 相等。此方法应用于比较两个实例的 + 相等。此对象始终会引发 Assert.Fail。请在单元测试中使用 + Assert.AreEqual 和关联的重载。 + + 对象 A + 对象 B + 始终为 False。 + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + 在格式化时使用的参数数组 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + 在格式化时使用的参数数组 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 如果代码不引发异常或引发非 类型的异常,则引发 AssertFailedException。 + + 委托到要进行测试且预期将引发异常的代码。 + + 要包含在异常中的消息,条件是当 + 不引发异常类型。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 如果代码不引发异常或引发非 类型的异常,则引发 AssertFailedException。 + + 委托到要进行测试且预期将引发异常的代码。 + + 要包含在异常中的消息,条件是当 + 不引发异常类型。 + + + 在格式化时使用的参数数组 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 将 null 字符("\0")替换为 "\\0"。 + + + 要搜索的字符串。 + + + 其中 null 字符替换为 "\\0" 的转换字符串。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + 用于创建和引发 AssertionFailedException 的帮助程序函数 + + + 引发异常的断言名称 + + + 描述断言失败条件的消息 + + + 参数。 + + + + + 检查有效条件的参数 + + + 参数。 + + + 断言名称。 + + + 参数名称 + + + 无效参数异常的消息 + + + 参数。 + + + + + 将对象安全地转换为字符串,处理 null 值和 null 字符。 + 将 null 值转换为 "(null)"。将 null 字符转换为 "\\0"。 + + + 要转换为字符串的对象。 + + + 转换的字符串。 + + + + + 字符串断言。 + + + + + 获取 CollectionAssert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + Thrown if is not found in + . + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + Thrown if is not found in + . + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not found in + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + Thrown if does not begin with + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 开头不为 。消息 + 显示在测试结果中。 + + + Thrown if does not begin with + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 开头不为 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not begin with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + Thrown if does not end with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 结尾不为 。消息 + 显示在测试结果中。 + + + Thrown if does not end with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 结尾不为 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not end with + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + Thrown if does not match + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + 要包含在异常中的消息,条件是当 + 不匹配 。消息显示在 + 测试结果中。 + + + Thrown if does not match + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + 要包含在异常中的消息,条件是当 + 不匹配 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not match + . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + Thrown if matches . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + 要包含在异常中的消息,条件是当 + 匹配 。消息显示在 + 测试结果中。 + + + Thrown if matches . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + 要包含在异常中的消息,条件是当 + 匹配 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if matches . + + + + + 帮助程序类的集合,用于测试与单元测试内的集合相关联的 + 多种条件。如果不满足被测条件, + 则引发一个异常。 + + + + + 获取 CollectionAssert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + Thrown if is not found in + . + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + Thrown if is not found in + . + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + Thrown if is found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 位于。消息显示在 + 测试结果中。 + + + Thrown if is found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 位于。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is found in + . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + Thrown if a null element is found in . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含一个 null 元素。消息显示在测试结果中。 + + + Thrown if a null element is found in . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含一个 null 元素。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if a null element is found in . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含至少一个重复元素。消息显示在 + 测试结果中。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含至少一个重复元素。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + 包括在异常中的消息,此时元素位于 + 未找到 . + 消息显示在测试结果中。 + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + 包括在异常中的消息,此时元素位于 + 未找到 . + 消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + Thrown if every element in is also found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + 要包含在异常中的消息,条件是当每个元素 + 还存在于. + 消息显示在测试结果中。 + + + Thrown if every element in is also found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + 要包含在异常中的消息,条件是当每个元素 + 还存在于. + 消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if every element in is also found in + . + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 当某个元素仅可在其中一个集合内找到时 + 要包含在异常中的消息。消息显示在 + 测试结果中。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 当某个元素仅可在其中一个集合内找到时 + 要包含在异常中的消息。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 要包含在异常中的消息,条件是当 + 包含相同的元素 。消息 + 显示在测试结果中。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 要包含在异常中的消息,条件是当 + 包含相同的元素 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + 包括在异常中的消息,此时元素位于 + 不是实例 + 。消息显示在测试结果中。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + 包括在异常中的消息,此时元素位于 + 不是实例 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是: + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是: + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组。 + + + Thrown if is equal to . + + + + + 确定第一个集合是否为第二个 + 集合的子集。如果任一集合包含重复元素,则子集中元素 + 出现的次数必须小于或 + 等于在超集中元素出现的次数。 + + + 测试预期包含在以下对象中的集合: 。 + + + 测试预期要包含的集合 。 + + + 为 True,如果 是一个子集 + ,反之则为 False。 + + + + + 构造包含指定集合中每个元素的出现次数 + 的字典。 + + + 要处理的集合。 + + + 集合中 null 元素的数量。 + + + 包含指定集合中每个元素的发生次数 + 的字典。 + + + + + 在两个集合之间查找不匹配的元素。不匹配的元素是指 + 在预期集合中显示的次数与 + 在实际集合中显示的次数不相同的元素。假定 + 集合是具有相同元素数目 + 的不同非 null 引用。 调用方负责此级别的验证。 + 如果存在不匹配的元素,函数将返回 + false,并且不会使用 out 参数。 + + + 要比较的第一个集合。 + + + 要比较的第二个集合。 + + + 预期出现次数 + 或者如果没有匹配的元素, + 则为 0。 + + + 实际出现次数 + 或者如果没有匹配的元素, + 则为 0。 + + + 不匹配元素(可能为 null),或者如果没有不匹配元素, + 则为 null。 + + + 如果找到不匹配的元素,则为 True;反之则为 False。 + + + + + 使用 Object.Equals 比较对象 + + + + + 框架异常的基类。 + + + + + 初始化 类的新实例。 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 一个强类型资源类,用于查找已本地化的字符串等。 + + + + + 返回此类使用的缓存的 ResourceManager 实例。 + + + + + 使用此强类型资源类为所有资源查找替代 + 当前线程的 CurrentUICulture 属性。 + + + + + 查找类似于“访问字符串具有无效语法。”的已本地化字符串。 + + + + + 查找类似于“预期集合包含 {1} 个 <{2}> 的匹配项。实际集合包含 {3} 个匹配项。{0}”的已本地化字符串。 + + + + + 查找类似于“找到了重复项: <{1}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1}>。实际值的大小写有所不同: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期值 <{1}> 和实际值 <{2}> 之间的预期差异应不大于 <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1} ({2})>。实际为: <{3} ({4})>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1}>。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期值 <{1}> 和实际值 <{2}> 之间的预期差异应大于 <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为除 <{1}>外的任何值。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“不要向 AreSame() 传递值类型。转换为对象的值永远不会相同。请考虑使用 AreEqual()。{0}”的已本地化字符串。 + + + + + 查找类似于“{0} 失败。{1}”的已本地化字符串。 + + + + + 查找类似于“不支持具有 UITestMethodAttribute 的异步 TestMethod。请删除异步或使用 TestMethodAttribute。” 的已本地化字符串。 + + + + + 查找类似于“这两个集合都为空。{0}”的已本地化字符串。 + + + + + 查找类似于“这两个集合包含相同元素。”的已本地化字符串。 + + + + + 查找类似于“这两个集合引用指向同一个集合对象。{0}”的已本地化字符串。 + + + + + 查找类似于“这两个集合包含相同的元素。{0}”的已本地化字符串。 + + + + + 查找类似于“{0}({1})”的已本地化字符串。 + + + + + 查找类似于 "(null)" 的已本地化字符串。 + + + + + 查找类似于“(对象)”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不包含字符串“{1}”。{2}。”的已本地化字符串。 + + + + + 查找类似于“{0} ({1})”的已本地化字符串。 + + + + + 查找类似于“Assert.Equals 不应用于断言。请改用 Assert.AreEqual 和重载。”的已本地化字符串。 + + + + + 查找类似于“集合中的元素数目不匹配。预期为: <{1}>。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“索引 {0} 处的元素不匹配。”的已本地化字符串。 + + + + + 查找类似于“索引 {1} 处的元素不是预期类型。预期类型为: <{2}>。实际类型为: <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“索引 {1} 处的元素为 (null)。预期类型: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不以字符串“{1}”结尾。{2}。”的已本地化字符串。 + + + + + 查找类似于“参数无效 - EqualsTester 不能使用 null。”的已本地化字符串。 + + + + + 查找类似于“无法将类型 {0} 的对象转换为 {1}。”的本地化字符串。 + + + + + 查找类似于“引用的内部对象不再有效。”的已本地化字符串。 + + + + + 查找类似于“参数 {0} 无效。{1}。”的已本地化字符串。 + + + + + 查找类似于“属性 {0} 具有类型 {1};预期类型为 {2}。”的已本地化字符串。 + + + + + 查找类似于“{0} 预期类型: <{1}>。实际类型: <{2}>。”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”与模式“{1}”不匹配。{2}。”的已本地化字符串。 + + + + + 查找类似于“错误类型: <{1}>。实际类型: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”与模式“{1}”匹配。{2}。”的已本地化字符串。 + + + + + 查找类似于“未指定 DataRowAttribute。DataTestMethodAttribute 至少需要一个 DataRowAttribute。”的已本地化字符串。 + + + + + 查找类似于“未引发异常。预期为 {1} 异常。{0}”的已本地化字符串。 + + + + + 查找类似于“参数 {0} 无效。值不能为 null。{1}。”的已本地化字符串。 + + + + + 查找类似于“不同元素数。”的已本地化字符串。 + + + + + 查找类似于 + “找不到具有指定签名的构造函数。可能需要重新生成专用访问器, + 或者成员可能为专用且在基类上进行了定义。如果后者为 true,则需将定义成员的类型传递到 + PrivateObject 的构造函数中。” + 的已本地化字符串。 + + + + + 查找类似于 + “找不到指定成员({0})。可能需要重新生成专用访问器, + 或者成员可能为专用且在基类上进行了定义。如果后者为 true,则需将定义成员的类型 + 传递到 PrivateObject 的构造函数中。” + 的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不以字符串“{1}”开头。{2}。”的已本地化字符串。 + + + + + 查找类似于“预期异常类型必须是 System.Exception 或派生自 System.Exception 的类型。”的已本地化字符串。 + + + + + 查找类似于“(由于出现异常,未能获取 {0} 类型异常的消息。)”的已本地化字符串。 + + + + + 查找类似于“测试方法未引发预期异常 {0}。{1}”的已本地化字符串。 + + + + + 查找类似于“测试方法未引发异常。预期测试方法上定义的属性 {0} 会引发异常。”的已本地化字符串。 + + + + + 查找类似于“测试方法引发异常 {0},但预期为异常 {1}。异常消息: {2}”的已本地化字符串。 + + + + + 查找类似于“测试方法引发异常 {0},但预期为异常 {1} 或从其派生的类型。异常消息: {2}”的已本地化字符串。 + + + + + 查找类似于“引发异常 {2},但预期为异常 {1}。{0} + 异常消息: {3} + 堆栈跟踪: {4}”的已本地化字符串。 + + + + + 单元测试结果 + + + + + 测试已执行,但出现问题。 + 问题可能涉及异常或失败的断言。 + + + + + 测试已完成,但无法确定它是已通过还是失败。 + 可用于已中止的测试。 + + + + + 测试已执行,未出现任何问题。 + + + + + 当前正在执行测试。 + + + + + 尝试执行测试时出现了系统错误。 + + + + + 测试已超时。 + + + + + 用户中止了测试。 + + + + + 测试处于未知状态 + + + + + 为单元测试框架提供帮助程序功能 + + + + + 以递归方式获取包括所有内部异常消息在内的 + 异常消息 + + 获取消息的异常 + 包含错误消息信息的字符串 + + + + 超时枚举,可与 类共同使用。 + 枚举类型必须相符 + + + + + 无限。 + + + + + 测试类属性。 + + + + + 获取可运行此测试的测试方法属性。 + + 在此方法上定义的测试方法属性实例。 + 将用于运行此测试。 + Extensions can override this method to customize how all methods in a class are run. + + + + 测试方法属性。 + + + + + 执行测试方法。 + + 要执行的测试方法。 + 表示测试结果的 TestResult 对象数组。 + Extensions can override this method to customize running a TestMethod. + + + + 测试初始化属性。 + + + + + 测试清理属性。 + + + + + 忽略属性。 + + + + + 测试属性特性。 + + + + + 初始化 类的新实例。 + + + 名称。 + + + 值。 + + + + + 获取名称。 + + + + + 获取值。 + + + + + 类初始化属性。 + + + + + 类清理属性。 + + + + + 程序集初始化属性。 + + + + + 程序集清理属性。 + + + + + 测试所有者 + + + + + 初始化 类的新实例。 + + + 所有者。 + + + + + 获取所有者。 + + + + + 优先级属性;用于指定单元测试的优先级。 + + + + + 初始化 类的新实例。 + + + 属性。 + + + + + 获取属性。 + + + + + 测试的描述 + + + + + 初始化 类的新实例,描述测试。 + + 说明。 + + + + 获取测试的说明。 + + + + + CSS 项目结构 URI + + + + + 为 CSS 项目结构 URI 初始化 类的新实例。 + + CSS 项目结构 URI。 + + + + 获取 CSS 项目结构 URI。 + + + + + CSS 迭代 URI + + + + + 为 CSS 迭代 URI 初始化 类的新实例。 + + CSS 迭代 URI。 + + + + 获取 CSS 迭代 URI。 + + + + + 工作项属性;用来指定与此测试关联的工作项。 + + + + + 为工作项属性初始化 类的新实例。 + + 工作项的 ID。 + + + + 获取关联工作项的 ID。 + + + + + 超时属性;用于指定单元测试的超时。 + + + + + 初始化 类的新实例。 + + + 超时。 + + + + + 初始化含有预设超时的 类的新实例 + + + 超时 + + + + + 获取超时。 + + + + + 要返回到适配器的 TestResult 对象。 + + + + + 初始化 类的新实例。 + + + + + 获取或设置结果的显示名称。这在返回多个结果时很有用。 + 如果为 null,则表示方法名用作了 DisplayName。 + + + + + 获取或设置测试执行的结果。 + + + + + 获取或设置测试失败时引发的异常。 + + + + + 获取或设置由测试代码记录的消息输出。 + + + + + 获取或设置由测试代码记录的消息输出。 + + + + + 通过测试代码获取或设置调试跟踪。 + + + + + Gets or sets the debug traces by test code. + + + + + 获取或设置测试执行的持续时间。 + + + + + 获取或设置数据源中的数据行索引。仅对数据驱动测试的数据行单次运行结果 + 进行设置。 + + + + + 获取或设置测试方法的返回值。(当前始终为 null)。 + + + + + 获取或设置测试附加的结果文件。 + + + + + 为数据驱动测试指定连接字符串、表名和行访问方法。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource 的默认提供程序名称。 + + + + + 默认数据访问方法。 + + + + + 初始化 类的新实例。将使用数据提供程序、连接字符串、数据表和访问数据源的数据访问方法初始化此实例。 + + 不变的数据提供程序名称,例如 System.Data.SqlClient + + 特定于数据提供程序的连接字符串。 + 警告: 连接字符串可能包含敏感数据(例如密码)。 + 连接字符串以纯文本形式存储在源代码和编译程序集中。 + 限制对源代码和程序集的访问以保护此敏感信息。 + + 数据表的名称。 + 指定访问数据的顺序。 + + + + 初始化 类的新实例。将使用连接字符串和表名初始化此实例。 + 指定连接字符串和数据表,访问 OLEDB 数据源。 + + + 特定于数据提供程序的连接字符串。 + 警告: 连接字符串可能包含敏感数据(例如密码)。 + 连接字符串以纯文本形式存储在源代码和编译程序集中。 + 限制对源代码和程序集的访问以保护此敏感信息。 + + 数据表的名称。 + + + + 初始化 类的新实例。将使用数据提供程序和与设置名称关联的连接字符串初始化此实例。 + + 在 app.config 文件中 <microsoft.visualstudio.qualitytools> 部分找到的数据源的名称。 + + + + 获取表示数据源的数据提供程序的值。 + + + 数据提供程序名称。如果数据提供程序未在对象初始化时进行指定,则将返回 System.Data.OleDb 的默认提供程序。 + + + + + 获取表示数据源的连接字符串的值。 + + + + + 获取指示提供数据的表名的值。 + + + + + 获取用于访问数据源的方法。 + + + + 其中一个 值。如果 未初始化,这将返回默认值。 + + + + + 获取 app.config 文件的 <microsoft.visualstudio.qualitytools> 部分中找到的数据源的名称。 + + + + + 可在其中将数据指定为内联的数据驱动测试的属性。 + + + + + 查找所有数据行并执行。 + + + 测试方法。 + + + 一系列。 + + + + + 运行数据驱动测试方法。 + + 要执行的测试方法。 + 数据行。 + 执行的结果。 + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..611e17b --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/net5.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 用於執行的 TestMethod。 + + + + + 取得測試方法的名稱。 + + + + + 取得測試類別的名稱。 + + + + + 取得測試方法的傳回型別。 + + + + + 取得測試方法的參數。 + + + + + 取得測試方法的 methodInfo。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 叫用測試方法。 + + + 要傳遞至測試方法的引數。(例如,針對資料驅動) + + + 測試方法引動過程結果。 + + + This call handles asynchronous test methods as well. + + + + + 取得測試方法的所有屬性。 + + + 父類別中定義的屬性是否有效。 + + + 所有屬性。 + + + + + 取得特定類型的屬性。 + + System.Attribute type. + + 父類別中定義的屬性是否有效。 + + + 指定類型的屬性。 + + + + + 協助程式。 + + + + + 檢查參數不為 null。 + + + 參數。 + + + 參數名稱。 + + + 訊息。 + + Throws argument null exception when parameter is null. + + + + 檢查參數不為 null 或為空白。 + + + 參數。 + + + 參數名稱。 + + + 訊息。 + + Throws ArgumentException when parameter is null. + + + + 如何在資料驅動測試中存取資料列的列舉。 + + + + + 會以循序順序傳回資料列。 + + + + + 會以隨機順序傳回資料列。 + + + + + 用以定義測試方法之內嵌資料的屬性。 + + + + + 初始化 類別的新執行個體。 + + 資料物件。 + + + + 初始化 類別 (其採用引數的陣列) 的新執行個體。 + + 資料物件。 + 其他資料。 + + + + 取得用於呼叫測試方法的資料。 + + + + + 取得或設定測試結果中的顯示名稱來進行自訂。 + + + + + 判斷提示結果不明例外狀況。 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 初始化 類別的新執行個體。 + + + + + InternalTestFailureException 類別。用來表示測試案例的內部失敗 + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 初始化 類別的新執行個體。 + + 例外狀況訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 例外狀況訊息。 + + + + 初始化 類別的新執行個體。 + + + + + 屬性,其指定預期所指定類型的例外狀況 + + + + + 初始化具預期類型之 類別的新執行個體 + + 預期的例外狀況類型 + + + + 初始化 類別 + (其具預期類型及訊息,用以在測試未擲回任何例外狀況時予以納入) 的新執行個體。 + + 預期的例外狀況類型 + + 測試因未擲回例外狀況而失敗時,要包含在測試結果中的訊息 + + + + + 取得值,指出預期例外狀況的類型 + + + + + 取得或設定值,指出是否允許類型衍生自預期例外狀況類型, + 以符合預期 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 驗證預期有單元測試所擲回的例外狀況類型 + + 單元測試所擲回的例外狀況 + + + + 指定以預期單元測試發生例外狀況之屬性的基底類別 + + + + + 使用預設無例外狀況訊息初始化 類別的新執行個體 + + + + + 初始化具無例外狀況訊息之 類別的新執行個體 + + + 測試因未擲回例外狀況而失敗時,要包含在測試結果中的 + 訊息 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 取得預設無例外狀況訊息 + + ExpectedException 屬性類型名稱 + 預設無例外狀況訊息 + + + + 判斷是否預期會發生例外狀況。如果傳回方法,則了解 + 預期會發生例外狀況。如果方法擲回例外狀況,則了解 + 預期不會發生例外狀況,而且測試結果中 + 會包含所擲回例外狀況的訊息。 類別可以基於便利 + 使用。如果使用 並且判斷提示失敗, + 則測試結果設定為 [結果不明]。 + + 單元測試所擲回的例外狀況 + + + + 如果它是 AssertFailedException 或 AssertInconclusiveException,會重新擲回例外狀況 + + 如果是判斷提示例外狀況,則重新擲回例外狀況 + + + + 這個類別的設計目的是要協助使用者執行使用泛型型別之類型的單元測試。 + GenericParameterHelper 滿足一些常用泛型型別條件約束 + 例如: + 1. 公用預設建構函式 + 2. 實作公用介面: IComparable、IEnumerable + + + + + 初始化 類別 (其符合 C# 泛型中的 'newable' 限制式) + 的新執行個體。 + + + This constructor initializes the Data property to a random value. + + + + + 初始化 類別 (其將 Data 屬性初始化為使用者提供的值) + 的新執行個體。 + + 任何整數值 + + + + 取得或設定資料 + + + + + 執行兩個 GenericParameterHelper 物件的值比較 + + 要與之執行比較的物件 + 如果 obj 的值與 'this' GenericParameterHelper 物件相同,則為 true。 + 否則為 false。 + + + + 傳回這個物件的雜湊碼。 + + 雜湊碼。 + + + + 比較這兩個 物件的資料。 + + 要比較的物件。 + + 已簽署的編號,表示此執行個體及值的相對值。 + + + Thrown when the object passed in is not an instance of . + + + + + 傳回長度衍生自 Data 屬性的 + IEnumerator 物件。 + + IEnumerator 物件 + + + + 傳回等於目前物件的 + GenericParameterHelper 物件。 + + 複製的物件。 + + + + 讓使用者從單位測試記錄/寫入追蹤以進行診斷。 + + + + + LogMessage 的處理常式。 + + 要記錄的訊息。 + + + + 要接聽的事件。在單元測試寫入器寫入一些訊息時引發。 + 主要由配接器取用。 + + + + + API,供測試寫入者呼叫以記錄訊息。 + + 含預留位置的字串格式。 + 預留位置的參數。 + + + + TestCategory 屬性; 用來指定單元測試的分類。 + + + + + 初始化 類別的新執行個體,並將分類套用至測試。 + + + 測試「分類」。 + + + + + 取得已套用至測試的測試分類。 + + + + + "Category" 屬性的基底類別 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 初始化 類別的新執行個體。 + 將分類套用至測試。TestCategories 所傳回的字串 + 會與 /category 命令搭配使用,以篩選測試 + + + + + 取得已套用至測試的測試分類。 + + + + + AssertFailedException 類別。用來表示測試案例失敗 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 初始化 類別的新執行個體。 + + + + + 要測試單元測試內各種條件的協助程式類別集合。 + 如果不符合正在測試的條件,則會擲回 + 例外狀況。 + + + + + 取得 Assert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 false。訊息會顯示在測試結果中。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 false。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + Thrown if is true. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 true。訊息會顯示在測試結果中。 + + + Thrown if is true. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 true。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is true. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不為 null。訊息會顯示在測試結果中。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不為 null。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + Thrown if is null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 null。訊息會顯示在測試結果中。 + + + Thrown if is null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 null。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is null. + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者不同: 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者不同: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者相同: 。訊息會顯示在 + 測試結果中。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者相同: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + Thrown if is not equal to . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + Thrown if is equal to . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + Thrown if is not equal to + . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 擲回 AssertFailedException。 + + + Always thrown. + + + + + 擲回 AssertFailedException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Always thrown. + + + + + 擲回 AssertFailedException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Always thrown. + + + + + 「靜態等於多載」用於比較兩種類型的執行個體的參考 + 相等。這種方法不應該用於比較兩個執行個體是否 + 相等。這個物件一律會擲出 Assert.Fail。請在單元測試中使用 + Assert.AreEqual 和相關聯多載。 + + 物件 A + 物件 B + 一律為 False。 + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 測試委派 所指定的程式碼是否會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並於程式碼未擲回例外狀況或擲回非 類型的例外狀況時,擲回 AssertFailedException。 + + 委派給要進行測試且預期會擲回例外狀況的程式碼。 + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 測試委派 所指定的程式碼是否會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並於程式碼未擲回例外狀況或擲回非 類型的例外狀況時,擲回 AssertFailedException。 + + 委派給要進行測試且預期會擲回例外狀況的程式碼。 + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 以 "\\0" 取代 null 字元 ('\0')。 + + + 要搜尋的字串。 + + + null 字元以 "\\0" 取代的已轉換字串。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + 建立並擲回 AssertionFailedException 的 Helper 函數 + + + 擲回例外狀況的判斷提示名稱 + + + 描述判斷提示失敗條件的訊息 + + + 參數。 + + + + + 檢查參數的有效條件 + + + 參數。 + + + 判斷提示「名稱」。 + + + 參數名稱 + + + 無效參數例外狀況的訊息 + + + 參數。 + + + + + 將物件安全地轉換成字串,並處理 null 值和 null 字元。 + Null 值會轉換成 "(null)"。Null 字元會轉換成 "\\0"。 + + + 要轉換為字串的物件。 + + + 已轉換的字串。 + + + + + 字串判斷提示。 + + + + + 取得 CollectionAssert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + Thrown if is not found in + . + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not found in + . + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not found in + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的開頭不是 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的開頭不是 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + Thrown if does not end with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的結尾不是 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not end with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的結尾不是 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not end with + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不符合 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不符合 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + Thrown if matches . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 符合 。訊息會顯示在 + 測試結果中。 + + + Thrown if matches . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 符合 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if matches . + + + + + 要測試與單元測試內集合相關聯之各種條件的 + 協助程式類別集合。如果不符合正在測試的條件, + 則會擲回例外狀況。 + + + + + 取得 CollectionAssert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + Thrown if is found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is found in + . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含 null 元素。訊息會顯示在測試結果中。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含 null 元素。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含至少一個重複元素。訊息會顯示在 + 測試結果中。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含至少一個重複元素。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 在下者中找不到: 。 + 訊息會顯示在測試結果中。 + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 在下者中找不到: 。 + 訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + Thrown if every element in is also found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的每個元素: + 也會在下者中找到: 。 + 訊息會顯示在測試結果中。 + + + Thrown if every element in is also found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的每個元素: + 也會在下者中找到: 。 + 訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if every element in is also found in + . + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在其中一個集合中找到元素但在另一個集合中找不到元素時 + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在其中一個集合中找到元素但在另一個集合中找不到元素時 + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含與下者相同的元素: 。訊息 + 會顯示在測試結果中。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含與下者相同的元素: 。訊息 + 會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 不是下者的執行個體: + 。訊息會顯示在測試結果中。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 不是下者的執行個體: + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 參數陣列,使用時機為格式 。 + + + Thrown if is equal to . + + + + + 判斷第一個集合是否為第二個集合的子集。 + 如果任一個集合包含重複的元素,則元素 + 在子集中的出現次數必須小於或 + 等於在超集中的出現次數。 + + + 測試預期包含在下者中的集合: 。 + + + 測試預期包含下者的集合: 。 + + + True 的情況為 是下者的子集: + ,否則為 false。 + + + + + 建構字典,內含每個元素在所指定集合中 + 的出現次數。 + + + 要處理的集合。 + + + 集合中的 null 元素數目。 + + + 包含每個元素在所指定集合內之出現次數 + 的字典。 + + + + + 尋找兩個集合之間不相符的元素。不相符的元素 + 為出現在預期集合中的次數 + 不同於它在實際集合中出現的次數。 + 集合假設為具有數目相同之元素的不同非 null 參考。 + 呼叫者負責這個層級的驗證。 + 如果沒有不相符的元素,則函數會傳回 false, + 而且不應該使用 out 參數。 + + + 要比較的第一個集合。 + + + 要比較的第二個集合。 + + + 下者的預期出現次數: + 或 0 (如果沒有不相符的 + 元素)。 + + + 下者的實際出現次數: + 或 0 (如果沒有不相符的 + 元素)。 + + + 不相符的元素 (可能為 null) 或 null (如果沒有 + 不相符的元素)。 + + + 如果找到不相符的元素,則為 true,否則為 false。 + + + + + 使用 object.Equals 來比較物件 + + + + + 架構例外狀況的基底類別。 + + + + + 初始化 類別的新執行個體。 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 強型別資源類別,用於查詢當地語系化字串等。 + + + + + 傳回這個類別所使用的快取的 ResourceManager 執行個體。 + + + + + 針對使用這個強型別資源類別的所有資源查閱, + 覆寫目前執行緒的 CurrentUICulture 屬性。 + + + + + 查閱與「存取字串有無效的語法。」類似的當地語系化字串。 + + + + + 查閱與「預期在集合中包含 {1} 項 <{2}>,但實際的集合卻有 {3} 項。{0}」類似的當地語系化字串。 + + + + + 查閱與「找到重複的項目:<{1}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1}>。大小寫與下列實際值不同:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期值 <{1}> 和實際值 <{2}> 之間的預期差異不大於 <{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1} ({2})>。實際:<{3} ({4})>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1}>。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期值 <{1}> 和實際值 <{2}> 之間的預期差異大於 <{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期任何值 (<{1}> 除外)。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「不要將實值型別傳遞給 AreSame()。轉換成 Object 的值從此不再一樣。請考慮使用 AreEqual()。{0}」類似的當地語系化字串。 + + + + + 查閱與「{0} 失敗。{1}」類似的當地語系化字串。 + + + + + 不支援查詢類似非同步處理 TestMethod 與 UITestMethodAttribute 的當地語系化字串。移除非同步處理或使用 TestMethodAttribute。 + + + + + 查閱與「兩個集合都是空的。{0}」類似的當地語系化字串。 + + + + + 查閱與「兩個集合含有相同的元素。」類似的當地語系化字串。 + + + + + 查閱與「兩個集合參考都指向同一個集合物件。{0}」類似的當地語系化字串。 + + + + + 查閱與「兩個集合含有相同的元素。{0}」類似的當地語系化字串。 + + + + + 查閱與「{0}({1})」類似的當地語系化字串。 + + + + + 查閱與「(null)」類似的當地語系化字串。 + + + + + 查閱與「(物件)」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 未包含字串 '{1}'。{2}。」類似的當地語系化字串。 + + + + + 查閱與「{0}({1})」類似的當地語系化字串。 + + + + + 查閱與「Assert.Equals 不應使用於判斷提示。請改用 Assert.AreEqual 及多載。」類似的當地語系化字串。 + + + + + 查閱與「集合中的元素數目不符。預期:<{1}>。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {0} 的元素不符。」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {1} 的項目不是預期的類型。預期的類型:<{2}>。實際的類型:<{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {1} 的元素是 (null)。預期的類型:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 不是以字串 '{1}' 結尾。{2}。」類似的當地語系化字串。 + + + + + 查閱與「無效的引數 - EqualsTester 無法使用 null。」類似的當地語系化字串。 + + + + + 查閱與「無法將 {0} 類型的物件轉換為 {1}。」類似的當地語系化字串。 + + + + + 查閱與「所參考的內部物件已不再有效。」類似的當地語系化字串。 + + + + + 查閱與「參數 '{0}' 無效。{1}。」類似的當地語系化字串。 + + + + + 查閱與「屬性 {0} 具有類型 {1}; 預期為類型 {2}。」類似的當地語系化字串。 + + + + + 查閱與「{0} 預期的類型:<{1}>。實際的類型:<{2}>。」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 與模式 '{1}' 不符。{2}。」類似的當地語系化字串。 + + + + + 查閱與「錯誤的類型:<{1}>。實際的類型:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 與模式 '{1}' 相符。{2}。」類似的當地語系化字串。 + + + + + 查閱與「未指定 DataRowAttribute。至少一個 DataRowAttribute 必須配合 DataTestMethodAttribute 使用。」類似的當地語系化字串。 + + + + + 查閱與「未擲回任何例外狀況。預期為 {1} 例外狀況。{0}」類似的當地語系化字串。 + + + + + 查閱與「參數 '{0}' 無效。值不能為 null。{1}。」類似的當地語系化字串。 + + + + + 查閱與「元素數目不同。」類似的當地語系化字串。 + + + + + 查閱與「找不到具有所指定簽章的建構函式。 + 您可能必須重新產生私用存取子,或者該成員可能為私用, + 並且定義在基底類別上。如果是後者,您必須將定義 + 該成員的類型傳送至 PrivateObject 的建構函式。」 + 類似的當地語系化字串。 + + + + + 查閱與「找不到所指定的成員 ({0})。 + 您可能必須重新產生私用存取子, + 或者該成員可能為私用,並且定義在基底類別上。如果是後者,您必須將定義該成員的類型 + 傳送至 PrivateObject 的建構函式。」 + 類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 不是以字串 '{1}' 開頭。{2}。」類似的當地語系化字串。 + + + + + 查閱與「預期的例外狀況類型必須是 System.Exception 或衍生自 System.Exception 的類型。」類似的當地語系化字串。 + + + + + 查閱與「(由於發生例外狀況,所以無法取得 {0} 類型之例外狀況的訊息。)」類似的當地語系化字串。 + + + + + 查閱與「測試方法未擲回預期的例外狀況 {0}。{1}」類似的當地語系化字串。 + + + + + 查閱與「測試方法未擲回例外狀況。測試方法上定義的屬性 {0} 需要例外狀況。」類似的當地語系化字串。 + + + + + 查閱與「測試方法擲回例外狀況 {0},但是需要的是例外狀況 {1}。例外狀況訊息: {2}」類似的當地語系化字串。 + + + + + 查閱與「測試方法擲回例外狀況 {0},但是需要的是例外狀況 {1} 或由它衍生的類型。例外狀況訊息: {2}」類似的當地語系化字串。 + + + + + 查閱與「擲回例外狀況 {2},但需要的是例外狀況 {1}。{0} + 例外狀況訊息: {3} + 堆疊追蹤: {4}」類似的當地語系化字串。 + + + + + 單元測試結果 + + + + + 已執行測試,但發生問題。 + 問題可能包含例外狀況或失敗的判斷提示。 + + + + + 測試已完成,但是無法指出成功還是失敗。 + 可能用於已中止測試。 + + + + + 已執行測試且沒有任何問題。 + + + + + 目前正在執行測試。 + + + + + 嘗試執行測試時發生系統錯誤。 + + + + + 測試逾時。 + + + + + 使用者已中止測試。 + + + + + 測試處於未知狀態 + + + + + 提供單元測試架構的協助程式功能 + + + + + 遞迴地取得例外狀況訊息 (包含所有內部例外狀況 + 的訊息) + + 要為其取得訊息的例外狀況 + 含有錯誤訊息資訊的字串 + + + + 逾時的列舉,可以與 類別搭配使用。 + 列舉的類型必須相符 + + + + + 無限。 + + + + + 測試類別屬性。 + + + + + 取得可讓您執行此測試的測試方法屬性。 + + 此方法上所定義的測試方法屬性執行個體。 + 要用來執行此測試。 + Extensions can override this method to customize how all methods in a class are run. + + + + 測試方法屬性。 + + + + + 執行測試方法。 + + 要執行的測試方法。 + 代表測試結果的 TestResult 物件陣列。 + Extensions can override this method to customize running a TestMethod. + + + + 測試初始化屬性。 + + + + + 測試清除屬性。 + + + + + Ignore 屬性。 + + + + + 測試屬性 (property) 屬性 (attribute)。 + + + + + 初始化 類別的新執行個體。 + + + 名稱。 + + + 值。 + + + + + 取得名稱。 + + + + + 取得值。 + + + + + 類別會將屬性初始化。 + + + + + 類別清除屬性。 + + + + + 組件會將屬性初始化。 + + + + + 組件清除屬性。 + + + + + 測試擁有者 + + + + + 初始化 類別的新執行個體。 + + + 擁有者。 + + + + + 取得擁有者。 + + + + + Priority 屬性; 用來指定單元測試的優先順序。 + + + + + 初始化 類別的新執行個體。 + + + 優先順序。 + + + + + 取得優先順序。 + + + + + 測試描述 + + + + + 初始化 類別的新執行個體來描述測試。 + + 描述。 + + + + 取得測試的描述。 + + + + + CSS 專案結構 URI + + + + + 初始化用於 CSS 專案結構 URI 之 類別的新執行個體。 + + CSS 專案結構 URI。 + + + + 取得 CSS 專案結構 URI。 + + + + + CSS 反覆項目 URI + + + + + 初始化用於 CSS 反覆項目 URI 之 類別的新執行個體。 + + CSS 反覆項目 URI。 + + + + 取得 CSS 反覆項目 URI。 + + + + + 工作項目屬性; 用來指定與這個測試相關聯的工作項目。 + + + + + 初始化用於工作項目屬性之 類別的新執行個體。 + + 工作項目的識別碼。 + + + + 取得建立關聯之工作項目的識別碼。 + + + + + Timeout 屬性; 用來指定單元測試的逾時。 + + + + + 初始化 類別的新執行個體。 + + + 逾時。 + + + + + 初始化具有預設逾時之 類別的新執行個體 + + + 逾時 + + + + + 取得逾時。 + + + + + 要傳回給配接器的 TestResult 物件。 + + + + + 初始化 類別的新執行個體。 + + + + + 取得或設定結果的顯示名稱。適用於傳回多個結果時。 + 如果為 null,則使用「方法名稱」當成 DisplayName。 + + + + + 取得或設定測試執行的結果。 + + + + + 取得或設定測試失敗時所擲回的例外狀況。 + + + + + 取得或設定測試程式碼所記錄之訊息的輸出。 + + + + + 取得或設定測試程式碼所記錄之訊息的輸出。 + + + + + 透過測試程式碼取得或設定偵錯追蹤。 + + + + + Gets or sets the debug traces by test code. + + + + + 取得或設定測試執行的持續時間。 + + + + + 取得或設定資料來源中的資料列索引。僅針對個別執行資料驅動測試之資料列 + 的結果所設定。 + + + + + 取得或設定測試方法的傳回值 (目前一律為 null)。 + + + + + 取得或設定測試所附加的結果檔案。 + + + + + 指定連接字串、表格名稱和資料列存取方法來進行資料驅動測試。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + 資料來源的預設提供者名稱。 + + + + + 預設資料存取方法。 + + + + + 初始化 類別的新執行個體。將使用資料提供者、連接字串、運算列表和資料存取方法將這個執行個體初始化,以存取資料來源。 + + 非變異資料提供者名稱 (例如 System.Data.SqlClient) + + 資料提供者特定連接字串。 + 警告: 連接字串可能會包含敏感性資料 (例如,密碼)。 + 連接字串是以純文字形式儲存在原始程式碼中和編譯的組件中。 + 限制對原始程式碼和組件的存取,以保護這項機密資訊。 + + 運算列表的名稱。 + 指定資料的存取順序。 + + + + 初始化 類別的新執行個體。此執行個體將使用連接字串和表格名稱進行初始化。 + 指定連接字串和運算列表以存取 OLEDB 資料來源。 + + + 資料提供者特定連接字串。 + 警告: 連接字串可能會包含敏感性資料 (例如,密碼)。 + 連接字串是以純文字形式儲存在原始程式碼中和編譯的組件中。 + 限制對原始程式碼和組件的存取,以保護這項機密資訊。 + + 運算列表的名稱。 + + + + 初始化 類別的新執行個體。將使用與設定名稱相關聯的資料提供者和連接字串將這個執行個體初始化。 + + 在 app.config 檔案的 <microsoft.visualstudio.qualitytools> 區段中找到資料來源名稱。 + + + + 取得值,代表資料來源的資料提供者。 + + + 資料提供者名稱。如果未在物件初始化時指定資料提供者,將會傳回 System.Data.OleDb 的預設提供者。 + + + + + 取得值,代表資料來源的連接字串。 + + + + + 取得值,指出提供資料的表格名稱。 + + + + + 取得用來存取資料來源的方法。 + + + + 下列其中之一: 值。如果 未進行初始化,則這會傳回預設值 。 + + + + + 取得在 app.config 檔案 <microsoft.visualstudio.qualitytools> 區段中找到的資料來源名稱。 + + + + + 可在其中內嵌指定資料之資料驅動測試的屬性。 + + + + + 尋找所有資料列,並執行。 + + + 測試「方法」。 + + + 下列項目的陣列: 。 + + + + + 執行資料驅動測試方法。 + + 要執行的測試方法。 + 資料列。 + 執行結果。 + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML new file mode 100644 index 0000000..731cb46 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML @@ -0,0 +1,162 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Used to specify deployment item (file or directory) for per-test deployment. + Can be specified on test class or test method. + Can have multiple instances of the attribute to specify more than one item. + The item path can be absolute or relative, if relative, it is relative to RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + + + Initializes a new instance of the class. + + The file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. + + + + Initializes a new instance of the class + + The relative or absolute path to the file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. + The path of the directory to which the items are to be copied. It can be either absolute or relative to the deployment directory. All files and directories identified by will be copied to this directory. + + + + Gets the path of the source file or folder to be copied. + + + + + Gets the path of the directory to which the item is copied. + + + + + Used to store information that is provided to unit tests. + + + + + Gets test properties for a test. + + + + + Gets or sets the cancellation token source. This token source is canceled when test times out. Also when explicitly canceled the test will be aborted + + + + + Gets base directory for the test run, under which deployed files and result files are stored. + + + + + Gets directory for files deployed for the test run. Typically a subdirectory of . + + + + + Gets base directory for results from the test run. Typically a subdirectory of . + + + + + Gets directory for test run result files. Typically a subdirectory of . + + + + + Gets directory for test result files. + + + + + Gets base directory for the test run, under which deployed files and result files are stored. + Same as . Use that property instead. + + + + + Gets directory for files deployed for the test run. Typically a subdirectory of . + Same as . Use that property instead. + + + + + Gets directory for test run result files. Typically a subdirectory of . + Same as . Use that property for test run result files, or + for test-specific result files instead. + + + + + Gets the Fully-qualified name of the class containing the test method currently being executed + + + + + Gets the fully specified type name metadata format. + + + + + Gets the fully specified method name metadata format. + + + + + Gets the name of the test method currently being executed + + + + + Gets the current test outcome. + + + + + Adds a file name to the list in TestResult.ResultFileNames + + + The file Name. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + + 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/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..16aeafd539ef1ff10010b2ee931a3ff100e82089 GIT binary patch literal 18336 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 + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + The assembly cleanup attribute. + + + + + The assembly initialize attribute. + + + + + The class cleanup attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Specifies the ClassCleanup Inheritance Behavior + + + + + Initializes a new instance of the class. + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Initializes a new instance of the class. + + + Specifies the ClassCleanup Inheritance Behavior + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Initializes a new instance of the class. + + + Specifies the ClassCleanup Inheritance Behavior + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Gets the Inheritance Behavior + + + + + Gets when to run class cleanup methods. + + + + + When to run ClassCleanup during test execution + + + + + Run at end of assembly + + + + + Run at end of class + + + + + Specification for when to run class cleanup methods. + + + + + Default class cleanup execution + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Gets when to run class cleanup methods. + + + + + The class initialize attribute. + + + + + Initializes a new instance of the class. + ClassInitializeAttribute + + + + + Initializes a new instance of the class. + ClassInitializeAttribute + + + Specifies the ClassInitialize Inheritance Behavior + + + + + Gets the Inheritance Behavior + + + + + CSS Iteration URI + + + + + Initializes a new instance of the class for CSS Iteration URI. + + The CSS Iteration URI. + + + + Gets the CSS Iteration URI. + + + + + 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. + + + + + Attribute for data driven test where data can be specified in-line. + + + + + Description of the test + + + + + Initializes a new instance of the class to describe a test. + + The description. + + + + Gets the description of a test. + + + + + The presence of this attribute in a test assembly causes MSTest to discover test classes (i.e. classes having + the "TestClass" attribute) and test methods (i.e. methods having the "TestMethod" attribute) which are declared + internal in addition to test classes and test methods which are declared public. When this attribute is not + present in a test assembly the tests in such classes will not be discovered. + + + + + 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. + + + + + + + + + + + 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. + + + + + Enumeration for inheritance behavior, that can be used with both the class + and class. + Defines the behavior of the ClassInitialize and ClassCleanup methods of base classes. + The type of the enumeration must match + + + + + None. + + + + + Before each derived class. + + + + + Test Owner + + + + + Initializes a new instance of the class. + + + The owner. + + + + + Gets the owner. + + + + + 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. + + + + + Priority attribute; used to specify the priority of a unit test. + + + + + Initializes a new instance of the class. + + + The priority. + + + + + Gets the priority. + + + + + 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 cleanup attribute marks methods that are executed after every test marked with a . + + + + + Specifies how to discover ITestDataSource tests. + + + + + Initializes a new instance of the class. + + + Sets which to use when discovering ITestDataSource tests. + + + + + Gets specified discovery option. + + + + + Supported TestDataSource discovery modes + + + + + Discover tests during execution. + This was the default option on version 2.2.3 and before. + + + + + Discover and expand ITestDataSource based tests. + This is the default behavior after version 2.2.3. + + + + + The test initialize attribute. + + + + + The test method attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Display name for the test. + + + + + Gets display name for the test. + + + + + 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 property attribute. + + + + + Initializes a new instance of the class. + + + The name. + + + The value. + + + + + Gets the name. + + + + + Gets the value. + + + + + TestResult object to be returned to adapter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the display name of the result. Useful when returning multiple results. + If null then Method name is used as DisplayName. + + + + + Gets or sets the outcome of the test execution. + + + + + Gets or sets the exception thrown when test is failed. + + + + + Gets or sets the output of the message logged by test code. + + + + + Gets or sets the output of the message logged by test code. + + + + + Gets or sets the debug traces by test code. + + + + + Gets or sets the debug traces by test code. + + + + + Gets or sets the execution id of the result. + + + + + Gets or sets the parent execution id of the result. + + + + + Gets or sets the inner results count of the result. + + + + + Gets or sets the duration of test execution. + + + + + Gets or sets the data row index in data source. Set only for results of individual + run of data row of a data driven test. + + + + + Gets or sets the return value of the test method. (Currently null always). + + + + + Gets or sets the result files attached by the test. + + + + + Enumeration for timeouts, that can be used with the class. + The type of the enumeration must match + + + + + The infinite. + + + + + Timeout attribute; used to specify the timeout of a unit test. + + + + + Initializes a new instance of the class. + + + The timeout in milliseconds. + + + + + Initializes a new instance of the class with a preset timeout + + + The timeout + + + + + Gets the timeout in milliseconds. + + + + + 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 work item associated. + + + + + Test data source for data driven tests. + + + + + Gets the test data from custom test data source. + + + The method info of test method. + + + Test data for calling test method. + + + + + Gets the display name corresponding to test data row for displaying in TestResults. + + + The method info of test method. + + + The test data which is passed to test method. + + + The . + + + + + TestMethod for execution. + + + + + Gets the name of test method. + + + + + Gets the name of test class. + + + + + Gets the return type of test method. + + + + + Gets the arguments with which test method is invoked. + + + + + Gets the parameters of test method. + + + + + Gets the methodInfo for test method. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invokes the test method. + + + Arguments to pass to test method. (E.g. For data driven) + + + Result of test method invocation. + + + This call handles asynchronous test methods as well. + + + + + Get all attributes of the test method. + + + Whether attribute defined in parent class is valid. + + + All attributes. + + + + + Get attribute of specific type. + + System.Attribute type. + + Whether attribute defined in parent class is valid. + + + The attributes of the specified type. + + + + + The helper. + + + + + The check parameter not null. + + + The parameter. + + + The parameter name. + + + The message. + + Throws argument null exception when parameter is null. + + + + The check parameter not null or empty. + + + The parameter. + + + The parameter name. + + + The message. + + Throws ArgumentException when parameter is null. + + + + Enumeration for how we access data rows in data driven testing. + + + + + Rows are returned in sequential order. + + + + + Rows are returned in random order. + + + + + Attribute to define in-line data for a test method. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The data object. + + + + Initializes a new instance of the class which takes in an array of arguments. + + A data object. + More data. + + + + Gets data for calling test method. + + + + + Gets or sets display name in test results for customization. + + + + + + + + + + + The assert inconclusive exception. + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + InternalTestFailureException class. Used to indicate internal failure for a test case + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initializes a new instance of the class. + + The exception message. + The exception. + + + + Initializes a new instance of the class. + + The exception message. + + + + Initializes a new instance of the class. + + + + + Attribute that specifies to expect an exception of the specified type + + + + + Initializes a new instance of the class with the expected type + + Type of the expected exception + + + + Initializes a new instance of the class with + the expected type and the message to include when no exception is thrown by the test. + + Type of the expected exception + + Message to include in the test result if the test fails due to not throwing an exception + + + + + Gets a value indicating the Type of the expected exception + + + + + Gets or sets a value indicating whether to allow types derived from the type of the expected exception to + qualify as expected + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Verifies that the type of the exception thrown by the unit test is expected + + The exception thrown by the unit test + + + + Base class for attributes that specify to expect an exception from a unit test + + + + + Initializes a new instance of the class with a default no-exception message + + + + + Initializes a new instance of the class with a no-exception message + + + Message to include in the test result if the test fails due to not throwing an + exception + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Gets the default no-exception message + + The ExpectedException attribute type name + The default no-exception message + + + + Determines whether the exception is expected. If the method returns, then it is + understood that the exception was expected. If the method throws an exception, then it + is understood that the exception was not expected, and the thrown exception's message + is included in the test result. The class can be used for + convenience. If is used and the assertion fails, + then the test outcome is set to Inconclusive. + + The exception thrown by the unit test + + + + Rethrow the exception if it is an AssertFailedException or an AssertInconclusiveException + + The exception to rethrow if it is an assertion exception + + + + This class is designed to help user doing unit testing for types which uses generic types. + GenericParameterHelper satisfies some common generic type constraints + such as: + 1. public default constructor + 2. implements common interface: IComparable, IEnumerable + + + + + Initializes a new instance of the class that + satisfies the 'newable' constraint in C# generics. + + + This constructor initializes the Data property to a random value. + + + + + Initializes a new instance of the class that + initializes the Data property to a user-supplied value. + + Any integer value + + + + Gets or sets the Data + + + + + Do the value comparison for two GenericParameterHelper object + + object to do comparison with + true if obj has the same value as 'this' GenericParameterHelper object. + false otherwise. + + + + Returns a hashcode for this object. + + The hash code. + + + + Compares the data of the two objects. + + The object to compare with. + + A signed number indicating the relative values of this instance and value. + + + Thrown when the object passed in is not an instance of . + + + + + Returns an IEnumerator object whose length is derived from + the Data property. + + The IEnumerator object + + + + Returns a GenericParameterHelper object that is equal to + the current object. + + The cloned object. + + + + Enables users to log/write traces from unit tests for diagnostics. + + + + + Handler for LogMessage. + + Message to log. + + + + Event to listen. Raised when unit test writer writes some message. + Mainly to consume by adapter. + + + + + API for test writer to call to Log messages. + + String format with placeholders. + Parameters for placeholders. + + + + TestCategory attribute; used to specify the category of a unit test. + + + + + Initializes a new instance of the class and applies the category to the test. + + + The test Category. + + + + + Gets the test categories that has been applied to the test. + + + + + Base class for the "Category" attribute + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initializes a new instance of the class. + Applies the category to the test. The strings returned by TestCategories + are used with the /category command to filter tests + + + + + Gets the test category that has been applied to the test. + + + + + AssertFailedException class. Used to indicate failure for a test case + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + A collection of helper classes to test various conditions within + unit tests. If the condition being tested is not met, an exception + is thrown. + + + + + Gets the singleton instance of the Assert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + Thrown if is false. + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + 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. + + + 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 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. + + + 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. + + + 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 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 decimals are equal and throws an exception + if they are not equal. + + + The first decimal to compare. This is the decimal the tests expects. + + + The second decimal to compare. This is the decimal 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 decimals are equal and throws an exception + if they are not equal. + + + The first decimal to compare. This is the decimal the tests expects. + + + The second decimal to compare. This is the decimal 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 decimals are equal and throws an exception + if they are not equal. + + + The first decimal to compare. This is the decimal the tests expects. + + + The second decimal to compare. This is the decimal 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 decimals are unequal and throws an exception + if they are equal. + + + The first decimal to compare. This is the decimal the test expects not to + match . + + + The second decimal to compare. This is the decimal 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 decimals are unequal and throws an exception + if they are equal. + + + The first decimal to compare. This is the decimal the test expects not to + match . + + + The second decimal to compare. This is the decimal 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 decimals are unequal and throws an exception + if they are equal. + + + The first decimal to compare. This is the decimal the test expects not to + match . + + + The second decimal to compare. This is the decimal 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 longs are equal and throws an exception + if they are not equal. + + + The first long to compare. This is the long the tests expects. + + + The second long to compare. This is the long 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 longs are equal and throws an exception + if they are not equal. + + + The first long to compare. This is the long the tests expects. + + + The second long to compare. This is the long 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 longs are equal and throws an exception + if they are not equal. + + + The first long to compare. This is the long the tests expects. + + + The second long to compare. This is the long 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 longs are unequal and throws an exception + if they are equal. + + + The first long to compare. This is the long the test expects not to + match . + + + The second long to compare. This is the long 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 longs are unequal and throws an exception + if they are equal. + + + The first long to compare. This is the long the test expects not to + match . + + + The second long to compare. This is the long 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 longs are unequal and throws an exception + if they are equal. + + + The first long to compare. This is the long the test expects not to + match . + + + The second long to compare. This is the long produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + Thrown if is not equal to + . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Throws an AssertFailedException. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Static equals overloads are used for comparing instances of two types for reference + equality. This method should not be used for comparison of two instances for + equality. This object will always throw with Assert.Fail. Please use + Assert.AreEqual and associated overloads in your unit tests. + + Object A + Object B + False, always. + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + Delegate to code to be tested and which is expected to throw exception. + + The message to include in the exception when + does not throws exception of type . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + Delegate to code to be tested and which is expected to throw exception. + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Replaces null characters ('\0') with "\\0". + + + The string to search. + + + The converted string with null characters replaced by "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Helper function that creates and throws an AssertionFailedException + + + name of the assertion throwing an exception + + + message describing conditions for assertion failure + + + The parameters. + + + + + Checks the parameter for valid conditions + + + The parameter. + + + The assertion Name. + + + parameter name + + + message for the invalid parameter exception + + + The parameters. + + + + + Safely converts an object to a string, handling null values and null characters. + Null values are converted to "(null)". Null characters are converted to "\\0". + + + The object to convert to a string. + + + The converted string. + + + + + The string assert. + + + + + Gets the singleton instance of the CollectionAssert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert customAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + Thrown if is not found in + . + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + The comparison method to compare strings . + + + 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. + + + The comparison method to compare strings . + + + 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 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. + + + The comparison method to compare strings . + + + 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 comparison method to compare strings . + + + 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 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. + + + The comparison method to compare strings . + + + 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. + + + The comparison method to compare strings . + + + 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 comparison method to compare strings . + + + 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 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. + + + The comparison method to compare strings . + + + 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. + + + The comparison method to compare strings . + + + An array of parameters to use when formatting . + + + Thrown if does not end with + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if does not match + . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if matches . + + + + + A collection of helper classes to test various conditions associated + with collections within unit tests. If the condition being tested is not + met, an exception is thrown. + + + + + Gets the singleton instance of the CollectionAssert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert customAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if is found in + . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if every element in is also found in + . + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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} must derive from {1}!. + + + + + 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 UITestMethodAttribute.DispatcherQueue should not be null. To use UITestMethodAttribute within a WinUI Desktop App, remember to set the static UITestMethodAttribute.DispatcherQueue during the test initialization.. + + + + + Looks up a localized string similar to Both collections are empty. {0}. + + + + + Looks up a localized string similar to Both collection contain same elements.. + + + + + Looks up a localized string similar to Both collection references point to the same collection object. {0}. + + + + + Looks up a localized string similar to Both collections contain the same elements. {0}. + + + + + Looks up a localized string similar to {0}({1}). + + + + + Looks up a localized string similar to (null). + + + + + Looks up a localized string similar to (object). + + + + + Looks up a localized string similar to String '{0}' does not contain string '{1}'. {2}.. + + + + + Looks up a localized string similar to {0} ({1}). + + + + + Looks up a localized string similar to Assert.Equals should not be used for Assertions. Please use Assert.AreEqual & overloads instead.. + + + + + Looks up a localized string similar to Method {0} must match the expected signature: public static {1} {0}({2}).. + + + + + Looks up a localized string similar to Property or method {0} on {1} returns empty IEnumerable<object[]>.. + + + + + Looks up a localized string similar to Property or method {0} on {1} does not return IEnumerable<object[]>.. + + + + + Looks up a localized string similar to Value returned by property or method {0} shouldn't be null.. + + + + + Looks up a localized string similar to The number of elements in the collections do not match. Expected:<{1}>. Actual:<{2}>.{0}. + + + + + Looks up a localized string similar to Element at index {0} do not match.. + + + + + Looks up a localized string similar to Element at index {1} is not of expected type. Expected type:<{2}>. Actual type:<{3}>.{0}. + + + + + Looks up a localized string similar to Element at index {1} is (null). Expected type:<{2}>.{0}. + + + + + Looks up a localized string similar to String '{0}' does not end with string '{1}'. {2}.. + + + + + Looks up a localized string similar to Invalid argument- EqualsTester can't use nulls.. + + + + + Looks up a localized string similar to Cannot convert object of type {0} to {1}.. + + + + + Looks up a localized string similar to The internal object referenced is no longer valid.. + + + + + Looks up a localized string similar to The parameter '{0}' is invalid. {1}.. + + + + + Looks up a localized string similar to The property {0} has type {1}; expected type {2}.. + + + + + Looks up a localized string similar to {0} Expected type:<{1}>. Actual type:<{2}>.. + + + + + Looks up a localized string similar to String '{0}' does not match pattern '{1}'. {2}.. + + + + + Looks up a localized string similar to Wrong Type:<{1}>. Actual type:<{2}>. {0}. + + + + + Looks up a localized string similar to String '{0}' matches pattern '{1}'. {2}.. + + + + + Looks up a localized string similar to No test data source specified. Atleast one TestDataSource is required with DataTestMethodAttribute.. + + + + + Looks up a localized string similar to No exception thrown. {1} exception was expected. {0}. + + + + + Looks up a localized string similar to The parameter '{0}' is invalid. The value cannot be null. {1}.. + + + + + Looks up a localized string similar to Different number of elements.. + + + + + Looks up a localized string similar to + The constructor with the specified signature could not be found. You might need to regenerate your private accessor, + or the member may be private and defined on a base class. If the latter is true, you need to pass the type + that defines the member into PrivateObject's constructor. + . + + + + + Looks up a localized string similar to + The member specified ({0}) could not be found. You might need to regenerate your private accessor, + or the member may be private and defined on a base class. If the latter is true, you need to pass the type + that defines the member into PrivateObject's constructor. + . + + + + + Looks up a localized string similar to String '{0}' does not start with string '{1}'. {2}.. + + + + + Looks up a localized string similar to The expected exception type must be System.Exception or a type derived from System.Exception.. + + + + + Looks up a localized string similar to (Failed to get the message for an exception of type {0} due to an exception.). + + + + + Looks up a localized string similar to Test method did not throw expected exception {0}. {1}. + + + + + Looks up a localized string similar to Test method did not throw an exception. An exception was expected by attribute {0} defined on the test method.. + + + + + Looks up a localized string similar to Test method threw exception {0}, but exception {1} was expected. Exception message: {2}. + + + + + Looks up a localized string similar to Test method threw exception {0}, but exception {1} or a type derived from it was expected. Exception message: {2}. + + + + + Looks up a localized string similar to Threw exception {2}, but exception {1} was expected. {0} + Exception Message: {3} + Stack Trace: {4}. + + + + + unit test outcomes + + + + + Test was executed, but there were issues. + Issues may involve exceptions or failed assertions. + + + + + Test has completed, but we can't say if it passed or failed. + May be used for aborted tests. + + + + + Test was executed without any issues. + + + + + Test is currently executing. + + + + + There was a system error while we were trying to execute a test. + + + + + The test timed out. + + + + + Test was aborted by the user. + + + + + Test is in an unknown state + + + + + Test cannot be executed. + + + + + Provides helper functionality for the unit test framework + + + + + Gets the exception messages, including the messages for all inner exceptions + recursively + + Exception to get messages for + string with error message information + + + + 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. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll new file mode 100644 index 0000000000000000000000000000000000000000..e0ab0d015150f2852335346562d66a9f4f0120bb GIT binary patch literal 74128 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..5b20a57 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Používá se pro určení položky nasazení (souboru nebo adresáře) za účelem nasazení podle testu. + Lze zadat na testovací třídě nebo testovací metodě. + Může mít více instancí atributu pro zadání více než jedné položky. + Cesta k položce může být absolutní nebo relativní. Pokud je relativní, je relativní ve vztahu k RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Inicializuje novou instanci třídy . + + Soubor nebo adresář, který se má nasadit. Cesta je relativní ve vztahu k adresáři výstupu sestavení. Položka bude zkopírována do adresáře, ve kterém jsou nasazená testovací sestavení. + + + + Inicializuje novou instanci třídy . + + Relativní nebo absolutní cesta k souboru nebo adresáři, který se má nasadit. Cesta je relativní ve vztahu k adresáři výstupu sestavení. Položka bude zkopírována do stejného adresáře jako nasazená testovací sestavení. + Cesta k adresáři, do kterého se mají položky kopírovat. Může být absolutní nebo relativní ve vztahu k adresáři nasazení. Všechny soubory a adresáře určené cestou budou zkopírovány do tohoto adresáře. + + + + Získá cestu ke zdrojovému souboru nebo složce, které se mají kopírovat. + + + + + Získá cestu adresáře, do kterého se položka zkopíruje. + + + + + Třída TestContext. Tato třída by měla být zcela abstraktní a neměla by obsahovat žádné + členy. Členy implementuje adaptér. Uživatelé rozhraní by měli + k této funkci přistupovat jenom prostřednictvím dobře definovaného rozhraní. + + + + + Získá vlastnosti testu. + + + + + Získá plně kvalifikovaný název třídy obsahující aktuálně prováděnou testovací metodu. + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Získá název aktuálně prováděné testovací metody. + + + + + Získá aktuální výsledek testu. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..3f446b4 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4197 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Atribut TestMethod pro provádění + + + + + Získá název testovací metody. + + + + + Získá název třídy testu. + + + + + Získá návratový typ testovací metody. + + + + + Získá parametry testovací metody. + + + + + Získá methodInfo pro testovací metodu. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Vyvolá testovací metodu. + + + Argumenty pro testovací metodu (např. pro testování řízené daty) + + + Výsledek vyvolání testovací metody + + + This call handles asynchronous test methods as well. + + + + + Získá všechny atributy testovací metody. + + + Jestli je platný atribut definovaný v nadřazené třídě + + + Všechny atributy + + + + + Získá atribut konkrétního typu. + + System.Attribute type. + + Jestli je platný atribut definovaný v nadřazené třídě + + + Atributy zadaného typu + + + + + Pomocná služba + + + + + Kontrolní parametr není null. + + + Parametr + + + Název parametru + + + Zpráva + + Throws argument null exception when parameter is null. + + + + Ověřovací parametr není null nebo prázdný. + + + Parametr + + + Název parametru + + + Zpráva + + Throws ArgumentException when parameter is null. + + + + Výčet způsobů přístupu k datovým řádkům při testování řízeném daty + + + + + Řádky se vrací v sekvenčním pořadí. + + + + + Řádky se vrátí v náhodném pořadí. + + + + + Atribut pro definování vložených dat pro testovací metodu + + + + + Inicializuje novou instanci třídy . + + Datový objekt + + + + Inicializuje novou instanci třídy , která přijímá pole argumentů. + + Datový objekt + Další data + + + + Získá data pro volání testovací metody. + + + + + Získá nebo nastaví zobrazovaný název ve výsledcích testu pro přizpůsobení. + + + + + Výjimka s neprůkazným kontrolním výrazem + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Inicializuje novou instanci třídy . + + + + + Třída InternalTestFailureException. Používá se pro označení interní chyby testovacího případu. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializuje novou instanci třídy . + + Zpráva o výjimce + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva o výjimce + + + + Inicializuje novou instanci třídy . + + + + + Atribut, podle kterého se má očekávat výjimka zadaného typu + + + + + Inicializuje novou instanci třídy s očekávaným typem. + + Typ očekávané výjimky + + + + Inicializuje novou instanci třídy + s očekávaným typem a zprávou, která se zahrne v případě, že test nevyvolá žádnou výjimku. + + Typ očekávané výjimky + + Zpráva, která má být zahrnuta do výsledku testu, pokud se test nezdaří z důvodu nevyvolání výjimky + + + + + Načte hodnotu, která označuje typ očekávané výjimky. + + + + + Získá nebo načte hodnotu, která označuje, jestli je možné typy odvozené od typu očekávané výjimky + považovat za očekávané. + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Ověří, jestli se očekává typ výjimky vyvolané testem jednotek. + + Výjimka vyvolaná testem jednotek + + + + Základní třída pro atributy, které určují, že se má očekávat výjimka testu jednotek + + + + + Inicializuje novou instanci třídy s výchozí zprávou no-exception. + + + + + Inicializuje novou instanci třídy se zprávou no-exception. + + + Zprávy, které mají být zahrnuty ve výsledku testu, pokud se test nezdaří z důvodu nevyvolání + výjimky + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Získá výchozí zprávu no-exception. + + Název typu atributu ExpectedException + Výchozí zpráva neobsahující výjimku + + + + Určuje, jestli se daná výjimka očekává. Pokud metoda skončí, rozumí se tomu tak, + že se výjimka očekávala. Pokud metoda vyvolá výjimku, rozumí se tím, + že se výjimka neočekávala a součástí výsledku testu + je zpráva vyvolané výjimky. Pomocí třídy je možné si usnadnit + práci. Pokud se použije a kontrolní výraz selže, + výsledek testu se nastaví na Neprůkazný. + + Výjimka vyvolaná testem jednotek + + + + Znovu vyvolá výjimku, pokud se jedná o atribut AssertFailedException nebo AssertInconclusiveException. + + Výjimka, která se má znovu vyvolat, pokud se jedná výjimku kontrolního výrazu + + + + Tato třída je koncipovaná tak, aby uživatelům pomáhala při testování jednotek typů, které využívá obecné typy. + Atribut GenericParameterHelper řeší některá běžná omezení obecných typů, + jako jsou: + 1. veřejný výchozí konstruktor + 2. implementace společného rozhraní: IComparable, IEnumerable + + + + + Inicializuje novou instanci třídy , která + splňuje omezení newable v obecných typech jazyka C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializuje novou instanci třídy , která + inicializuje vlastnost Data na hodnotu zadanou uživatelem. + + Libovolné celé číslo + + + + Získá nebo nastaví data. + + + + + Provede porovnání hodnot pro dva objekty GenericParameterHelper. + + objekt, se kterým chcete porovnávat + pravda, pokud má objekt stejnou hodnotu jako „tento“ objekt GenericParameterHelper. + V opačném případě nepravda. + + + + Vrátí pro tento objekt hodnotu hash. + + Kód hash + + + + Porovná data daných dvou objektů . + + Objekt pro porovnání + + Číslo se znaménkem označující relativní hodnoty této instance a hodnoty + + + Thrown when the object passed in is not an instance of . + + + + + Vrátí objekt IEnumerator, jehož délka je odvozená od + vlastnosti dat. + + Objekt IEnumerator + + + + Vrátí objekt GenericParameterHelper, který se rovná + aktuálnímu objektu. + + Klonovaný objekt + + + + Umožňuje uživatelům protokolovat/zapisovat trasování z testů jednotek pro účely diagnostiky. + + + + + Obslužná rutina pro LogMessage + + Zpráva, kterou chcete zaprotokolovat + + + + Událost pro naslouchání. Dojde k ní, když autor testů jednotek napíše zprávu. + Určeno především pro použití adaptérem. + + + + + Rozhraní API pro volání zpráv protokolu zapisovačem testu + + Formátovací řetězec se zástupnými symboly + Parametry pro zástupné symboly + + + + Atribut TestCategory, používá se pro zadání kategorie testu jednotek. + + + + + Inicializuje novou instanci třídy a zavede pro daný test kategorii. + + + Kategorie testu + + + + + Získá kategorie testu, které se nastavily pro test. + + + + + Základní třída atributu Category + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializuje novou instanci třídy . + Tuto kategorii zavede pro daný test. Řetězce vrácené z TestCategories + se použijí spolu s příkazem /category k filtrování testů. + + + + + Získá kategorii testu, která se nastavila pro test. + + + + + Třída AssertFailedException. Používá se pro značení chyby testovacího případu. + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Inicializuje novou instanci třídy . + + + + + Kolekce pomocných tříd pro testování nejrůznějších podmínek v rámci + testů jednotek. Pokud se testovaná podmínka nesplní, vyvolá se + výjimka. + + + + + Získá instanci typu singleton funkce Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Thrown if is false. + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je nepravda. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is false. + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je nepravda. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is false. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Thrown if is true. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je pravda. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is true. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je pravda. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is true. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Thrown if is null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is null. + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není instancí . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není instancí . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je instancí . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je instancí . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Vyvolá výjimku AssertFailedException. + + + Always thrown. + + + + + Vyvolá výjimku AssertFailedException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Always thrown. + + + + + Vyvolá výjimku AssertFailedException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Always thrown. + + + + + Statická přetížení operátoru rovnosti se používají k porovnání rovnosti odkazů na instance + dvou typů. Tato metoda by se neměla používat k porovnání rovnosti dvou + instancí. Tento objekt vždy vyvolá Assert.Fail. Ve svých testech + jednotek prosím použijte Assert.AreEqual a přidružená přetížení. + + Objekt A + Objekt B + Vždy nepravda. + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá AssertFailedException, pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá AssertFailedException, pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Nahradí znaky null ('\0') řetězcem "\\0". + + + Řetězec, který se má hledat + + + Převedený řetězec se znaky Null nahrazený řetězcem "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Pomocná funkce, která vytváří a vyvolává výjimku AssertionFailedException + + + název kontrolního výrazu, který vyvolává výjimku + + + zpráva popisující podmínky neplatnosti kontrolního výrazu + + + Parametry + + + + + Ověří parametr pro platné podmínky. + + + Parametr + + + Název kontrolního výrazu + + + název parametru + + + zpráva pro neplatnou výjimku parametru + + + Parametry + + + + + Bezpečně převede objekt na řetězec, včetně zpracování hodnot null a znaků null. + Hodnoty null se převádějí na formát (null). Znaky null se převádějí na \\0. + + + Objekt, který chcete převést na řetězec + + + Převedený řetězec + + + + + Kontrolní výraz řetězce + + + + + Získá instanci typu singleton funkce CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nezačíná na . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nezačíná na . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Thrown if does not end with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nekončí na . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if does not end with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nekončí na . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not end with + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + neodpovídá . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + neodpovídá . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Thrown if matches . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + odpovídá . Zpráva je zobrazena ve výsledcích + testu. + + + Thrown if matches . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + odpovídá . Zpráva je zobrazena ve výsledcích + testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if matches . + + + + + Kolekce tříd pomocných služeb pro ověřování nejrůznějších podmínek vztahujících se + na kolekce v rámci testů jednotek. Pokud se testovaná podmínka + nesplní, vyvolá se výjimka. + + + + + Získá instanci typu singleton funkce CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Thrown if is found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je v kolekci . Zpráva je zobrazena ve výsledcích + testu. + + + Thrown if is found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je v kolekci . Zpráva je zobrazena ve výsledcích + testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is found in + . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Thrown if a null element is found in . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje prvek Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if a null element is found in . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje prvek Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if a null element is found in . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje alespoň jeden duplicitní prvek. Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje alespoň jeden duplicitní prvek. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + se nenachází v podmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + se nenachází v podmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Zpráva, kterou chcete zahrnout do výjimky, pokud každý prvek v podmnožině + se nachází také v nadmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Zpráva, kterou chcete zahrnout do výjimky, pokud každý prvek v podmnožině + se nachází také v nadmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud byl nalezen prvek + v jedné z kolekcí, ale ne ve druhé. Zpráva je zobrazena + ve výsledcích testu. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud byl nalezen prvek + v jedné z kolekcí, ale ne ve druhé. Zpráva je zobrazena + ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje stejný prvek jako . Zpráva + je zobrazena ve výsledcích testu. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje stejný prvek jako . Zpráva + je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + není instancí typu + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + není instancí typu + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, když + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, když + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Určuje, jestli první kolekce je podmnožinou druhé + kolekce. Pokud některá z množin obsahuje duplicitní prvky, musí počet + výskytů prvku v podmnožině být menší, nebo + se musí rovnat počtu výskytů v nadmnožině. + + + Kolekce, která podle testu má být obsažena v nadmnožině . + + + Kolekce, která podle testu má obsahovat . + + + Pravda, pokud je podmnožinou + , jinak nepravda. + + + + + Vytvoří slovník obsahující počet výskytů jednotlivých + prvků v zadané kolekci. + + + Kolekce, kterou chcete zpracovat + + + Počet prvků Null v kolekci + + + Slovník obsahující počet výskytů jednotlivých prvků + v zadané kolekci. + + + + + Najde mezi dvěma kolekcemi neshodný prvek. Neshodný + prvek je takový, který má v očekávané kolekci + odlišný počet výskytů ve srovnání se skutečnou kolekcí. Kolekce + se považují za rozdílné reference bez hodnoty null se + stejným počtem prvků. Za tuto úroveň ověření odpovídá + volající. Pokud neexistuje žádný neshodný prvek, funkce vrátí + false a neměli byste použít parametry Out. + + + První kolekce, která se má porovnat + + + Druhá kolekce k porovnání + + + Očekávaný počet výskytů prvku + nebo 0, pokud není žádný nevyhovující + prvek. + + + Skutečný počet výskytů prvku + nebo 0, pokud není žádný nevyhovující + prvek. + + + Neshodný prvek (může být Null) nebo Null, pokud neexistuje žádný + neshodný prvek. + + + pravda, pokud je nalezen nevyhovující prvek; v opačném případě nepravda. + + + + + Porovná objekt pomocí atributu object.Equals. + + + + + Základní třída pro výjimky architektury + + + + + Inicializuje novou instanci třídy . + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Třída prostředků se silnými typy pro vyhledávání lokalizovaných řetězců atd. + + + + + Vrátí v mezipaměti uloženou instanci ResourceManager použitou touto třídou. + + + + + Přepíše vlastnost CurrentUICulture aktuálního vlákna pro všechna + vyhledávání prostředků pomocí této třídy prostředků silného typu. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Přístupový řetězec má neplatnou syntaxi. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Očekávaná kolekce obsahuje počet výskytů {1} <{2}>. Skutečná kolekce obsahuje tento počet výskytů: {3}. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Našla se duplicitní položka:<{1}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Očekáváno:<{1}>. Případ je rozdílný pro skutečnou hodnotu:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Mezi očekávanou hodnotou <{1}> a skutečnou hodnotou <{2}> se očekává rozdíl maximálně <{3}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekáváno:<{1} ({2})>. Skutečnost:<{3} ({4})>. {0}. + + + + + Vyhledá řetězec podobný řetězci Očekáváno:<{1}>. Skutečnost:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Mezi očekávanou hodnotou <{1}> a skutečnou hodnotou <{2}> se očekával rozdíl větší než <{3}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekávala se libovolná hodnota s výjimkou:<{1}>. Skutečnost:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nevkládejte hodnotu typů do AreSame(). Hodnoty převedené na typ Object nebudou nikdy stejné. Zvažte možnost použít AreEqual(). {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Chyba {0}. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: async TestMethod s atributem UITestMethodAttribute se nepodporují. Buď odeberte async, nebo použijte TestMethodAttribute. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce jsou prázdné. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce obsahují stejný prvek. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě reference kolekce odkazují na stejný objekt kolekce. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce obsahují stejné prvky. {0}. + + + + + Vyhledá řetězec podobný řetězci {0}({1}). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (null). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (objekt). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} neobsahuje řetězec {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci {0} ({1}). + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Atribut Assert.Equals by se neměl používat pro kontrolní výrazy. Použijte spíše Assert.AreEqual a přetížení. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Počet prvků v kolekci se neshoduje. Očekáváno:<{1}>. Skutečnost:<{2}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Prvek indexu {0} se neshoduje. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Prvek indexu {1} je neočekávaného typu. Očekávaný typ:<{2}>. Skutečný typ:<{3}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Prvek indexu {1} je (null). Očekávaný typ:<{2}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} nekončí řetězcem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Neplatný argument: EqualsTester nemůže použít hodnoty null. + + + + + Vyhledá řetězec podobný řetězci Nejde převést objekt typu {0} na {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Interní odkazovaný objekt už není platný. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Parametr {0} je neplatný. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Vlastnost {0} má typ {1}; očekávaný typ {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci {0} Očekávaný typ:<{1}>. Skutečný typ:<{2}>. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} se neshoduje se vzorkem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Nesprávný typ:<{1}>. Skutečný typ:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} se shoduje se vzorkem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nezadal se žádný atribut DataRowAttribute. K atributu DataTestMethodAttribute se vyžaduje aspoň jeden atribut DataRowAttribute. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nevyvolala se žádná výjimka. Očekávala se výjimka {1}. {0}. + + + + + Vyhledá lokalizované řetězce podobné tomuto: Parametr {0} je neplatný. Hodnota nemůže být null. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Rozdílný počet prvků. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci + Konstruktor se zadaným podpisem se nenašel. Pravděpodobně budete muset obnovit privátní přístupový objekt, + nebo je člen pravděpodobně privátní a založený na základní třídě. Pokud je pravdivý druhý zmíněný případ, musíte vložit typ + definující člen do konstruktoru objektu PrivateObject. + + + + + + Vyhledá lokalizovaný řetězec podobný řetězci + Zadaný člen ({0}) se nenašel. Pravděpodobně budete muset obnovit privátní přístupový objekt, + nebo je člen pravděpodobně privátní a založený na základní třídě. Pokud je pravdivý druhý zmíněný případ, musíte vložit typ + definující člen do konstruktoru atributu PrivateObject. + + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} nezačíná řetězcem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekávaný typ výjimky musí být System.Exception nebo typ odvozený od System.Exception. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (Z důvodu výjimky se nepodařilo získat zprávu pro výjimku typu {0}.). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Testovací metoda nevyvolala očekávanou výjimku {0}. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda nevyvolala výjimku. Atribut {0} definovaný testovací metodou očekával výjimku. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda vyvolala výjimku {0}, ale očekávala se výjimka {1}. Zpráva o výjimce: {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda vyvolala výjimku {0}, očekávala se ale odvozená výjimka {1} nebo typ. Zpráva o výjimce: {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Vyvolala se výjimka {2}, ale očekávala se výjimka {1}. {0} + Zpráva o výjimce: {3} + Trasování zásobníku: {4} + + + + + Výsledky testu jednotek + + + + + Test se provedl, ale došlo k problémům. + Problémy se můžou týkat výjimek nebo neúspěšných kontrolních výrazů. + + + + + Test se dokončil, ale není možné zjistit, jestli byl úspěšný, nebo ne. + Dá se použít pro zrušené testy. + + + + + Test se provedl zcela bez problémů. + + + + + V tuto chvíli probíhá test. + + + + + Při provádění testu došlo k chybě systému. + + + + + Časový limit testu vypršel. + + + + + Test byl zrušen uživatelem. + + + + + Test je v neznámém stavu. + + + + + Poskytuje pomocnou funkci pro systém pro testy jednotek. + + + + + Rekurzivně získá zprávy o výjimce, včetně zpráv pro všechny vnitřní + výjimky. + + Výjimka pro načítání zpráv pro + řetězec s informacemi v chybové zprávě + + + + Výčet pro časové limity, který se dá použít spolu s třídou . + Typ výčtu musí odpovídat + + + + + Nekonečno + + + + + Atribut třídy testu + + + + + Získá atribut testovací metody, který umožní spustit tento test. + + Instance atributu testovací metody definované v této metodě. + Typ Použije se ke spuštění tohoto testu. + Extensions can override this method to customize how all methods in a class are run. + + + + Atribut testovací metody + + + + + Spustí testovací metodu. + + Testovací metoda, která se má spustit. + Pole objektů TestResult, které představuje výsledek (nebo výsledky) daného testu. + Extensions can override this method to customize running a TestMethod. + + + + Atribut inicializace testu + + + + + Atribut vyčištění testu + + + + + Atribut ignore + + + + + Atribut vlastnosti testu + + + + + Inicializuje novou instanci třídy . + + + Název + + + Hodnota + + + + + Získá název. + + + + + Získá hodnotu. + + + + + Atribut inicializace třídy + + + + + Atribut vyčištění třídy + + + + + Atribut inicializace sestavení + + + + + Atribut vyčištění sestavení + + + + + Vlastník testu + + + + + Inicializuje novou instanci třídy . + + + Vlastník + + + + + Získá vlastníka. + + + + + Atribut priority, používá se pro určení priority testu jednotek. + + + + + Inicializuje novou instanci třídy . + + + Priorita + + + + + Získá prioritu. + + + + + Popis testu + + + + + Inicializuje novou instanci třídy , která popíše test. + + Popis + + + + Získá popis testu. + + + + + Identifikátor URI struktury projektů CSS + + + + + Inicializuje novou instanci třídy pro identifikátor URI struktury projektů CSS. + + Identifikátor URI struktury projektů CSS + + + + Získá identifikátor URI struktury projektů CSS. + + + + + Identifikátor URI iterace CSS + + + + + Inicializuje novou instanci třídy pro identifikátor URI iterace CSS. + + Identifikátor URI iterace CSS + + + + Získá identifikátor URI iterace CSS. + + + + + Atribut WorkItem, používá se pro zadání pracovní položky přidružené k tomuto testu. + + + + + Inicializuje novou instanci třídy pro atribut WorkItem. + + ID pro pracovní položku + + + + Získá ID k přidružené pracovní položce. + + + + + Atribut časového limitu, používá se pro zadání časového limitu testu jednotek. + + + + + Inicializuje novou instanci třídy . + + + Časový limit + + + + + Inicializuje novou instanci třídy s předem nastaveným časovým limitem. + + + Časový limit + + + + + Získá časový limit. + + + + + Objekt TestResult, který se má vrátit adaptéru + + + + + Inicializuje novou instanci třídy . + + + + + Získá nebo nastaví zobrazovaný název výsledku. Vhodné pro vrácení většího počtu výsledků. + Pokud je null, jako DisplayName se použije název metody. + + + + + Získá nebo nastaví výsledek provedení testu. + + + + + Získá nebo nastaví výjimku vyvolanou při chybě testu. + + + + + Získá nebo nastaví výstup zprávy zaprotokolované testovacím kódem. + + + + + Získá nebo nastaví výstup zprávy zaprotokolované testovacím kódem. + + + + + Získá nebo načte trasování ladění testovacího kódu. + + + + + Gets or sets the debug traces by test code. + + + + + Získá nebo nastaví délku trvání testu. + + + + + Získá nebo nastaví index řádku dat ve zdroji dat. Nastavte pouze pro výsledky jednoho + spuštění řádku dat v testu řízeném daty. + + + + + Získá nebo nastaví návratovou hodnotu testovací metody. (Aktuálně vždy null) + + + + + Získá nebo nastaví soubory s výsledky, které připojil test. + + + + + Určuje připojovací řetězec, název tabulky a metodu přístupu řádku pro testování řízené daty. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Název výchozího poskytovatele pro DataSource + + + + + Výchozí metoda pro přístup k datům + + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s poskytovatelem dat, připojovacím řetězcem, tabulkou dat a přístupovou metodou k datům, pomocí kterých se získá přístup ke zdroji dat. + + Název poskytovatele neutrálních dat, jako je System.Data.SqlClient + + Připojovací řetězec specifický pro poskytovatele dat. + UPOZORNĚNÍ: Připojovací řetězec může obsahovat citlivé údaje (třeba heslo). + Připojovací řetězec se ukládá v podobě prostého textu ve zdrojovém kódu a v kompilovaném sestavení. + Tyto citlivé údaje zabezpečíte omezením přístupu ke zdrojovému kódu a sestavení. + + Název tabulky dat + Určuje pořadí přístupu k datům. + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s připojovacím řetězcem a názvem tabulky. + Zadejte připojovací řetězec a tabulku dat, pomocí kterých se získá přístup ke zdroji dat OLEDB. + + + Připojovací řetězec specifický pro poskytovatele dat. + UPOZORNĚNÍ: Připojovací řetězec může obsahovat citlivé údaje (třeba heslo). + Připojovací řetězec se ukládá v podobě prostého textu ve zdrojovém kódu a v kompilovaném sestavení. + Tyto citlivé údaje zabezpečíte omezením přístupu ke zdrojovému kódu a sestavení. + + Název tabulky dat + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s poskytovatelem dat a připojovacím řetězcem přidruženým k názvu nastavení. + + Název zdroje dat nalezený v oddílu <microsoft.visualstudio.qualitytools> souboru app.config. + + + + Získá hodnotu představující poskytovatele dat zdroje dat. + + + Název poskytovatele dat. Pokud poskytovatel dat nebyl při inicializaci objektu zadán, bude vrácen výchozí poskytovatel System.Data.OleDb. + + + + + Získá hodnotu představující připojovací řetězec zdroje dat. + + + + + Získá hodnotu označující název tabulky poskytující data. + + + + + Získá metodu používanou pro přístup ke zdroji dat. + + + + Jedna z těchto položek: . Pokud není inicializován, vrátí výchozí hodnotu . + + + + + Získá název zdroje dat nalezeného v části <microsoft.visualstudio.qualitytools> v souboru app.config. + + + + + Atribut testu řízeného daty, kde se data dají zadat jako vložená. + + + + + Vyhledá všechny datové řádky a spustí je. + + + Testovací metoda + + + Pole . + + + + + Spustí testovací metodu řízenou daty. + + Testovací metoda, kterou chcete provést. + Datový řádek + Výsledek provedení + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..81af003 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Wird zum Angeben des Bereitstellungselements (Datei oder Verzeichnis) für eine Bereitstellung pro Test verwendet. + Kann für eine Testklasse oder Testmethode angegeben werden. + Kann mehrere Instanzen des Attributs besitzen, um mehrere Elemente anzugeben. + Der Elementpfad kann absolut oder relativ sein. Wenn er relativ ist, dann relativ zu "RunConfig.RelativePathRoot". + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die bereitzustellende Datei oder das Verzeichnis. Der Pfad ist relativ zum Buildausgabeverzeichnis. Das Element wird in das gleiche Verzeichnis wie die bereitgestellten Testassemblys kopiert. + + + + Initialisiert eine neue Instanz der -Klasse. + + Der relative oder absolute Pfad zur bereitzustellenden Datei oder zum Verzeichnis. Der Pfad ist relativ zum Buildausgabeverzeichnis. Das Element wird in das gleiche Verzeichnis wie die bereitgestellten Testassemblys kopiert. + Der Pfad des Verzeichnisses, in das die Elemente kopiert werden sollen. Er kann absolut oder relativ zum Bereitstellungsverzeichnis sein. Alle Dateien und Verzeichnisse, die identifiziert werden durch werden in dieses Verzeichnis kopiert. + + + + Ruft den Pfad der Quelldatei oder des -ordners ab, die bzw. der kopiert werden soll. + + + + + Ruft den Pfad des Verzeichnisses ab, in das das Element kopiert werden soll. + + + + + Die TestContext-Klasse. Diese Klasse muss vollständig abstrakt sein und keine + Member enthalten. Der Adapter implementiert die Member. Benutzer im Framework sollten + darauf nur über eine klar definierte Schnittstelle zugreifen. + + + + + Ruft Testeigenschaften für einen Test ab. + + + + + Ruft den vollqualifizierten Namen der Klasse ab, die die Testmethode enthält, die zurzeit ausgeführt wird. + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Ruft den Namen der zurzeit ausgeführten Testmethode ab. + + + + + Ruft das aktuelle Testergebnis ab. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..ae68026 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod für die Ausführung. + + + + + Ruft den Namen der Testmethode ab. + + + + + Ruft den Namen der Testklasse ab. + + + + + Ruft den Rückgabetyp der Testmethode ab. + + + + + Ruft die Parameter der Testmethode ab. + + + + + Ruft die methodInfo der Testmethode ab. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Ruft die Testmethode auf. + + + An die Testmethode zu übergebende Argumente (z. B. für datengesteuerte Tests). + + + Das Ergebnis des Testmethodenaufrufs. + + + This call handles asynchronous test methods as well. + + + + + Ruft alle Attribute der Testmethode ab. + + + Gibt an, ob das in der übergeordneten Klasse definierte Attribut gültig ist. + + + Alle Attribute. + + + + + Ruft ein Attribut eines bestimmten Typs ab. + + System.Attribute type. + + Gibt an, ob das in der übergeordneten Klasse definierte Attribut gültig ist. + + + Die Attribute des angegebenen Typs. + + + + + Das Hilfsprogramm. + + + + + Der check-Parameter ungleich null. + + + Der Parameter. + + + Der Parametername. + + + Die Meldung. + + Throws argument null exception when parameter is null. + + + + Der check-Parameter ungleich null oder leer. + + + Der Parameter. + + + Der Parametername. + + + Die Meldung. + + Throws ArgumentException when parameter is null. + + + + Enumeration für die Art des Zugriffs auf Datenzeilen in datengesteuerten Tests. + + + + + Zeilen werden in sequenzieller Reihenfolge zurückgegeben. + + + + + Zeilen werden in zufälliger Reihenfolge zurückgegeben. + + + + + Attribut zum Definieren von Inlinedaten für eine Testmethode. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Das Datenobjekt. + + + + Initialisiert eine neue Instanz der -Klasse, die ein Array aus Argumenten akzeptiert. + + Ein Datenobjekt. + Weitere Daten. + + + + Ruft Daten für den Aufruf der Testmethode ab. + + + + + Ruft den Anzeigenamen in den Testergebnissen für die Anpassung ab. + + + + + Die nicht eindeutige Assert-Ausnahme. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Die InternalTestFailureException-Klasse. Wird zum Angeben eines internen Fehlers für einen Testfall verwendet. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Ausnahmemeldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Ausnahmemeldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Ein Attribut, das angibt, dass eine Ausnahme des angegebenen Typs erwartet wird + + + + + Initialisiert eine neue Instanz der -Klasse mit dem erwarteten Typ + + Der Typ der erwarteten Ausnahme. + + + + Initialisiert eine neue Instanz der-Klasse mit + dem erwarteten Typ und der einzuschließenden Meldung, wenn vom Test keine Ausnahme ausgelöst wurde. + + Der Typ der erwarteten Ausnahme. + + Die Meldung, die in das Testergebnis eingeschlossen werden soll, wenn beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft einen Wert ab, der den Typ der erwarteten Ausnahme angibt. + + + + + Ruft einen Wert ab, der angibt, ob es zulässig ist, dass vom Typ der erwarteten Ausnahme abgeleitete Typen + als erwartet qualifiziert werden. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Überprüft, ob der Typ der vom Komponententest ausgelösten Ausnahme erwartet wird. + + Die vom Komponententest ausgelöste Ausnahme. + + + + Basisklasse für Attribute, die angeben, dass eine Ausnahme aus einem Komponententest erwartet wird. + + + + + Initialisiert eine neue Instanz der -Klasse mit einer standardmäßigen "no-exception"-Meldung. + + + + + Initialisiert eine neue Instanz der -Klasse mit einer 2no-exception"-Meldung + + + Die Meldung, die in das Testergebnis eingeschlossen werden soll, wenn beim Test ein Fehler auftritt, + weil keine Ausnahme ausgelöst wird. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft die standardmäßige Nichtausnahmemeldung ab. + + Der Typname des ExpectedException-Attributs. + Die standardmäßige Nichtausnahmemeldung. + + + + Ermittelt, ob die Annahme erwartet ist. Wenn die Methode zurückkehrt, wird davon ausgegangen, + dass die Annahme erwartet war. Wenn die Methode eine Ausnahme auslöst, + wird davon ausgegangen, dass die Ausnahme nicht erwartet war, und die Meldung + der ausgelösten Ausnahme wird in das Testergebnis eingeschlossen. Die -Klasse wird aus Gründen der + Zweckmäßigkeit bereitgestellt. Wenn verwendet wird und ein Fehler der Assertion auftritt, + wird das Testergebnis auf Inconclusive festgelegt. + + Die vom Komponententest ausgelöste Ausnahme. + + + + Löst die Ausnahme erneut aus, wenn es sich um eine AssertFailedException oder eine AssertInconclusiveException handelt. + + Die Ausnahme, die erneut ausgelöst werden soll, wenn es sich um eine Assertionausnahme handelt. + + + + Diese Klasse unterstützt Benutzer beim Ausführen von Komponententests für Typen, die generische Typen verwenden. + GenericParameterHelper erfüllt einige allgemeine generische Typeinschränkungen, + beispielsweise: + 1. öffentlicher Standardkonstruktor + 2. implementiert allgemeine Schnittstellen: IComparable, IEnumerable + + + + + Initialisiert eine neue Instanz der -Klasse, die + die Einschränkung "newable" in C#-Generika erfüllt. + + + This constructor initializes the Data property to a random value. + + + + + Initialisiert eine neue Instanz der-Klasse, die + die Data-Eigenschaft mit einem vom Benutzer bereitgestellten Wert initialisiert. + + Ein Integerwert + + + + Ruft die Daten ab oder legt sie fest. + + + + + Führt den Wertvergleich für zwei GenericParameterHelper-Objekte aus. + + Das Objekt, mit dem der Vergleich ausgeführt werden soll. + TRUE, wenn das Objekt den gleichen Wert wie "dieses" GenericParameterHelper-Objekt aufweist. + Andernfalls FALSE. + + + + Gibt einen Hashcode für diese Objekt zurück. + + Der Hash. + + + + Vergleicht die Daten der beiden -Objekte. + + Das Objekt, mit dem verglichen werden soll. + + Eine signierte Zahl, die die relativen Werte dieser Instanz und dieses Werts angibt. + + + Thrown when the object passed in is not an instance of . + + + + + Gibt ein IEnumerator-Objekt zurück, dessen Länge aus + der Data-Eigenschaft abgeleitet ist. + + Das IEnumerator-Objekt + + + + Gibt ein GenericParameterHelper-Objekt zurück, das gleich + dem aktuellen Objekt ist. + + Das geklonte Objekt. + + + + Ermöglicht Benutzern das Protokollieren/Schreiben von Ablaufverfolgungen aus Komponententests für die Diagnose. + + + + + Handler für LogMessage. + + Die zu protokollierende Meldung. + + + + Zu überwachendes Ereignis. Wird ausgelöst, wenn der Komponententestwriter eine Meldung schreibt. + Wird hauptsächlich von Adaptern verwendet. + + + + + Vom Testwriter aufzurufende API zum Protokollieren von Meldungen. + + Das Zeichenfolgenformat mit Platzhaltern. + Parameter für Platzhalter. + + + + Das TestCategory-Attribut. Wird zum Angeben der Kategorie eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse und wendet die Kategorie auf den Test an. + + + Die test-Kategorie. + + + + + Ruft die Testkategorien ab, die auf den Test angewendet wurden. + + + + + Die Basisklasse für das Category-Attribut. + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initialisiert eine neue Instanz der -Klasse. + Wendet die Kategorie auf den Test an. Die von TestCategories + zurückgegebenen Zeichenfolgen werden mit dem Befehl "/category" zum Filtern von Tests verwendet. + + + + + Ruft die Testkategorie ab, die auf den Test angewendet wurde. + + + + + Die AssertFailedException-Klasse. Wird zum Angeben eines Fehlers für einen Testfall verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Eine Sammlung von Hilfsklassen zum Testen verschiedener Bedingungen in + Komponententests. Wenn die getestete Bedingung nicht erfüllt wird, wird eine Ausnahme + ausgelöst. + + + + + Ruft die Singleton-Instanz der Assert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + FALSE ist. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + FALSE ist. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Thrown if is true. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist TRUE. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is true. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist TRUE. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is true. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Thrown if is null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is null. + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Löst eine AssertFailedException aus. + + + Always thrown. + + + + + Löst eine AssertFailedException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Always thrown. + + + + + Löst eine AssertFailedException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Always thrown. + + + + + Statische equals-Überladungen werden zum Vergleichen von Instanzen zweier Typen für + Verweisgleichheit verwendet. Diese Methode sollte nicht zum Vergleichen von zwei Instanzen auf + Gleichheit verwendet werden. Dieses Objekt löst immer einen Assert.Fail aus. Verwenden Sie + Assert.AreEqual und zugehörige Überladungen in Ihren Komponententests. + + Objekt A + Objekt B + Immer FALSE. + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Testet, ob der von Delegat angegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und AssertFailedException auslöst, wenn der Code keine Ausnahme auslöst oder einen anderen Typ als auslöst. + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Testet, ob der von Delegat angegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und AssertFailedException auslöst, wenn der Code keine Ausnahme auslöst oder einen anderen Typ als auslöst. + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Ersetzt Nullzeichen ("\0") durch "\\0". + + + Die Zeichenfolge, nach der gesucht werden soll. + + + Die konvertierte Zeichenfolge, in der Nullzeichen durch "\\0" ersetzt wurden. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Eine Hilfsfunktion, die eine AssertionFailedException erstellt und auslöst. + + + Der Name der Assertion, die eine Ausnahme auslöst. + + + Eine Meldung, die Bedingungen für den Assertionfehler beschreibt. + + + Die Parameter. + + + + + Überprüft den Parameter auf gültige Bedingungen. + + + Der Parameter. + + + Der Name der Assertion. + + + Parametername + + + Meldung für die ungültige Parameterausnahme. + + + Die Parameter. + + + + + Konvertiert ein Objekt sicher in eine Zeichenfolge und verarbeitet dabei NULL-Werte und Nullzeichen. + NULL-Werte werden in "(null)" konvertiert. Nullzeichen werden in "\\0" konvertiert". + + + Das Objekt, das in eine Zeichenfolge konvertiert werden soll. + + + Die konvertierte Zeichenfolge. + + + + + Die Zeichenfolgenassertion. + + + + + Ruft die Singleton-Instanz der CollectionAssert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + beginnt nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + beginnt nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + endet nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + endet nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + keine Übereinstimmung vorliegt. . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + keine Übereinstimmung vorliegt. . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Thrown if matches . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + Übereinstimmungen . Die Meldung wird in den Testergebnissen + angezeigt. + + + Thrown if matches . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + Übereinstimmungen . Die Meldung wird in den Testergebnissen + angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if matches . + + + + + Eine Sammlung von Hilfsklassen zum Testen verschiedener Bedingungen, die + Sammlungen in Komponententests zugeordnet sind. Wenn die getestete Bedingung nicht + erfüllt wird, wird eine Ausnahme ausgelöst. + + + + + Ruft die Singleton-Instanz der CollectionAssert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Thrown if is found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist in . Die Meldung wird in den Testergebnissen + angezeigt. + + + Thrown if is found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist in . Die Meldung wird in den Testergebnissen + angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält ein Nullelement. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält ein Nullelement. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält mindestens ein Elementduplikat. Die Meldung wird in + den Testergebnissen angezeigt. + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält mindestens ein Elementduplikat. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + wurde nicht gefunden in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + wurde nicht gefunden in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Thrown if every element in is also found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn jedes Element in + auch gefunden wird in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if every element in is also found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn jedes Element in + auch gefunden wird in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if every element in is also found in + . + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in einer + der Sammlungen gefunden wurde, aber nicht in der anderen. Die Meldung wird in + den Testergebnissen angezeigt. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in einer + der Sammlungen gefunden wurde, aber nicht in der anderen. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält die gleichen Elemente wie . Die Meldung + wird in den Testergebnissen angezeigt. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält die gleichen Elemente wie . Die Meldung + wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + ist keine Instanz von + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + ist keine Instanz von + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Ermittelt, ob die erste Sammlung eine Teilmenge der zweiten + Sammlung ist. Wenn eine der Mengen Elementduplikate enthält, muss die Anzahl + der Vorkommen des Elements in der Teilmenge kleiner oder + gleich der Anzahl der Vorkommen in der Obermenge sein. + + + Die Sammlung, von der der Test erwartet, dass sie enthalten ist in . + + + Die Sammlung, von der der Test erwartet, dass sie Folgendes enthält: . + + + TRUE, wenn: eine Teilmenge ist von + , andernfalls FALSE. + + + + + Generiert ein Wörterbuch, das Anzahl der Vorkommen jedes + Elements in der angegebenen Sammlung enthält. + + + Die zu verarbeitende Sammlung. + + + Die Anzahl der Nullelemente in der Sammlung. + + + Ein Wörterbuch, das Anzahl der Vorkommen jedes + Elements in der angegebenen Sammlung enthält. + + + + + Findet ein nicht übereinstimmendes Element in den beiden Sammlungen. Ein nicht übereinstimmendes + Element ist ein Element, für das sich die Anzahl der Vorkommen in der + erwarteten Sammlung von der Anzahl der Vorkommen in der tatsächlichen Sammlung unterscheidet. Von den + Sammlungen wird angenommen, dass unterschiedliche Verweise ungleich null mit der + gleichen Anzahl von Elementen vorhanden sind. Der Aufrufer ist für diese Ebene + der Überprüfung verantwortlich. Wenn kein nicht übereinstimmendes Element vorhanden ist, gibt die Funktion FALSE + zurück, und die out-Parameter sollten nicht verwendet werden. + + + Die erste zu vergleichende Sammlung. + + + Die zweite zu vergleichende Sammlung. + + + Die erwartete Anzahl von Vorkommen von + oder 0, wenn kein nicht übereinstimmendes + Element vorhanden ist. + + + Die tatsächliche Anzahl von Vorkommen von + oder 0, wenn kein nicht übereinstimmendes + Element vorhanden ist. + + + Das nicht übereinstimmende Element (kann NULL sein) oder NULL, wenn kein nicht + übereinstimmendes Element vorhanden ist. + + + TRUE, wenn ein nicht übereinstimmendes Element gefunden wurde, andernfalls FALSE. + + + + + vergleicht die Objekte mithilfe von object.Equals + + + + + Basisklasse für Frameworkausnahmen. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Eine stark typisierte Ressourcenklasse zum Suchen nach lokalisierten Zeichenfolgen usw. + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcensuchen mithilfe dieser stark typisierten Ressourcenklasse. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zugriffszeichenfolge weist ungültige Syntax auf." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartete Sammlung enthält {1} Vorkommen von <{2}>. Die tatsächliche Sammlung enthält {3} Vorkommen. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Elementduplikat gefunden: <{1}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1}>. Groß-/Kleinschreibung unterscheidet sich für den tatsächlichen Wert: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Differenz nicht größer als <{3}> zwischen erwartetem Wert <{1}> und tatsächlichem Wert <{2}> erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1} ({2})>. Tatsächlich: <{3} ({4})>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Differenz größer als <{3}> zwischen erwartetem Wert <{1}> und tatsächlichem Wert <{2}> erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beliebiger Wert erwartet, ausgenommen: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Übergeben Sie keine Werttypen an AreSame(). In Object konvertierte Werte sind nie gleich. Verwenden Sie ggf. AreEqual(). {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Fehler von {0}. {1}" nach. + + + + + Sucht nach einer lokalisierten Zeichenfolge ähnlich der folgenden: "async TestMethod" wird mit UITestMethodAttribute nicht unterstützt. Entfernen Sie "async", oder verwenden Sie TestMethodAttribute. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen sind leer. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen enthalten die gleichen Elemente." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungsverweise zeigen auf das gleiche Sammlungsobjekt. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen enthalten die gleichen Elemente. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0}({1})." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(null)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(object)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' enthält nicht Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0} ({1})." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Assert.Equals sollte für Assertionen nicht verwendet werden. Verwenden Sie stattdessen Assert.AreEqual & Überladungen." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Anzahl der Elemente in den Sammlungen stimmt nicht überein. Erwartet: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {0} stimmt nicht überein." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {1} weist nicht den erwarteten Typ auf. Erwarteter Typ: <{2}>. Tatsächlicher Typ: <{3}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {1} ist (null). Erwarteter Typ: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' endet nicht mit Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Ungültiges Argument: EqualsTester darf keine NULL-Werte verwenden." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Objekt vom Typ {0} kann nicht in {1} konvertiert werden." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Das referenzierte interne Objekt ist nicht mehr gültig." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der Parameter '{0}' ist ungültig. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Eigenschaft {0} weist den Typ {1} auf. Erwartet wurde der Typ {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0} Erwarteter Typ: <{1}>. Tatsächlicher Typ: <{2}>." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' stimmt nicht mit dem Muster '{1}' überein. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Falscher Typ: <{1}>. Tatsächlicher Typ: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' stimmt mit dem Muster '{1}' überein. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Kein DataRowAttribute angegeben. Mindestens ein DataRowAttribute ist mit DataTestMethodAttribute erforderlich." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Keine Ausnahme ausgelöst. {1}-Ausnahme wurde erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der Parameter '{0}' ist ungültig. Der Wert darf nicht NULL sein. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Unterschiedliche Anzahl von Elementen." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich + "Der Konstruktor mit der angegebenen Signatur wurde nicht gefunden. Möglicherweise müssen Sie Ihren privaten Accessor erneut generieren, + oder der Member ist ggf. privat und für eine Basisklasse definiert. Wenn Letzteres zutrifft, müssen Sie den Typ an den + Konstruktor von PrivateObject übergeben, der den Member definiert." nach. + . + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich + "Der angegebene Member ({0}) wurde nicht gefunden. Möglicherweise müssen Sie Ihren privaten Accessor erneut generieren, + oder der Member ist ggf. privat und für eine Basisklasse definiert. Wenn Letzteres zutrifft, müssen Sie den Typ an den + Konstruktor von PrivateObject übergeben, der den Member definiert." nach. + . + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Zeichenfolge '{0}' beginnt nicht mit der Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der erwartete Ausnahmetyp muss System.Exception oder ein von System.Exception abgeleiteter Typ sein." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(Fehler beim Abrufen der Meldung vom Typ {0} aufgrund einer Ausnahme.)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat erwartete Ausnahme {0} nicht ausgelöst. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Testmethode hat keine Ausnahme ausgelöst. Vom Attribut {0}, das für die Testmethode definiert ist, wurde eine Ausnahme erwartet." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat Ausnahme {0} ausgelöst, aber Ausnahme {1} wurde erwartet. Ausnahmemeldung: {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat Ausnahme {0} ausgelöst, aber Ausnahme {1} oder ein davon abgeleiteter Typ wurde erwartet. Ausnahmemeldung: {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Ausnahme {2} wurde ausgelöst, aber Ausnahme {1} wurde erwartet. {0} + Ausnahmemeldung: {3} + Stapelüberwachung: {4}" nach. + + + + + Ergebnisse des Komponententests + + + + + Der Test wurde ausgeführt, aber es gab Probleme. + Möglicherweise liegen Ausnahmen oder Assertionsfehler vor. + + + + + Der Test wurde abgeschlossen, es lässt sich aber nicht sagen, ob er bestanden wurde oder fehlerhaft war. + Kann für abgebrochene Tests verwendet werden. + + + + + Der Test wurde ohne Probleme ausgeführt. + + + + + Der Test wird zurzeit ausgeführt. + + + + + Systemfehler beim Versuch, einen Test auszuführen. + + + + + Timeout des Tests. + + + + + Der Test wurde vom Benutzer abgebrochen. + + + + + Der Test weist einen unbekannten Zustand auf. + + + + + Stellt Hilfsfunktionen für das Komponententestframework bereit. + + + + + Ruft die Ausnahmemeldungen (einschließlich der Meldungen für alle inneren Ausnahmen) + rekursiv ab. + + Ausnahme, für die Meldungen abgerufen werden sollen + Zeichenfolge mit Fehlermeldungsinformationen + + + + Enumeration für Timeouts, die mit der -Klasse verwendet werden kann. + Der Typ der Enumeration muss entsprechen: + + + + + Unendlich. + + + + + Das Testklassenattribut. + + + + + Erhält ein Testmethodenattribut, das die Ausführung des Tests ermöglicht. + + Die für diese Methode definierte Attributinstanz der Testmethode. + Diezum Ausführen dieses Tests + Extensions can override this method to customize how all methods in a class are run. + + + + Das Testmethodenattribut. + + + + + Führt eine Testmethode aus. + + Die auszuführende Textmethode. + Ein Array aus TestResult-Objekten, die für die Ergebnisses des Tests stehen. + Extensions can override this method to customize running a TestMethod. + + + + Das Testinitialisierungsattribut. + + + + + Das Testbereinigungsattribut. + + + + + Das Ignorierattribut. + + + + + Das Testeigenschaftattribut. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Der Name. + + + Der Wert. + + + + + Ruft den Namen ab. + + + + + Ruft den Wert ab. + + + + + Das Klasseninitialisierungsattribut. + + + + + Das Klassenbereinigungsattribut. + + + + + Das Assemblyinitialisierungsattribut. + + + + + Das Assemblybereinigungsattribut. + + + + + Der Testbesitzer. + + + + + Initialisiert eine neue Instanz der-Klasse. + + + Der Besitzer. + + + + + Ruft den Besitzer ab. + + + + + Prioritätsattribut. Wird zum Angeben der Priorität eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Die Priorität. + + + + + Ruft die Priorität ab. + + + + + Die Beschreibung des Tests. + + + + + Initialisiert eine neue Instanz der -Klasse zum Beschreiben eines Tests. + + Die Beschreibung. + + + + Ruft die Beschreibung eines Tests ab. + + + + + Der URI der CSS-Projektstruktur. + + + + + Initialisiert eine neue Instanz der -Klasse der CSS Projektstruktur-URI. + + Der CSS-Projektstruktur-URI. + + + + Ruft den CSS-Projektstruktur-URI ab. + + + + + Der URI der CSS-Iteration. + + + + + Initialisiert eine neue Instanz der-Klasse für den CSS Iterations-URI. + + Der CSS-Iterations-URI. + + + + Ruft den CSS-Iterations-URI ab. + + + + + WorkItem-Attribut. Wird zum Angeben eines Arbeitselements verwendet, das diesem Test zugeordnet ist. + + + + + Initialisiert eine neue Instanz der-Klasse für das WorkItem-Attribut. + + Die ID eines Arbeitselements. + + + + Ruft die ID für ein zugeordnetes Arbeitselement ab. + + + + + Timeoutattribut. Wird zum Angeben des Timeouts eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Das Timeout. + + + + + Initialisiert eine neue Instanz der -Klasse mit einem voreingestellten Timeout. + + + Das Timeout. + + + + + Ruft das Timeout ab. + + + + + Das TestResult-Objekt, das an den Adapter zurückgegeben werden soll. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Ruft den Anzeigenamen des Ergebnisses ab oder legt ihn fest. Hilfreich, wenn mehrere Ergebnisse zurückgegeben werden. + Wenn NULL, wird der Methodenname als DisplayName verwendet. + + + + + Ruft das Ergebnis der Testausführung ab oder legt es fest. + + + + + Ruft die Ausnahme ab, die bei einem Testfehler ausgelöst wird, oder legt sie fest. + + + + + Ruft die Ausgabe der Meldung ab, die vom Testcode protokolliert wird, oder legt sie fest. + + + + + Ruft die Ausgabe der Meldung ab, die vom Testcode protokolliert wird, oder legt sie fest. + + + + + Ruft die Debugablaufverfolgungen nach Testcode fest oder legt sie fest. + + + + + Gets or sets the debug traces by test code. + + + + + Ruft die Dauer der Testausführung ab oder legt sie fest. + + + + + Ruft den Datenzeilenindex in der Datenquelle ab, oder legt ihn fest. Nur festgelegt für Ergebnisse einer individuellen + Ausführung einer Datenzeile eines datengesteuerten Tests. + + + + + Ruft den Rückgabewert der Testmethode ab (zurzeit immer NULL). + + + + + Ruft die vom Test angehängten Ergebnisdateien ab, oder legt sie fest. + + + + + Gibt die Verbindungszeichenfolge, den Tabellennamen und die Zeilenzugriffsmethode für datengesteuerte Tests an. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Der Standardanbietername für DataSource. + + + + + Die standardmäßige Datenzugriffsmethode. + + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einem Datenanbieter, einer Verbindungszeichenfolge, einer Datentabelle und einer Datenzugriffsmethode für den Zugriff auf die Daten initialisiert. + + Invarianter Datenanbietername, z. B. "System.Data.SqlClient" + + Die für den Datenanbieter spezifische Verbindungszeichenfolge. + WARNUNG: Die Verbindungszeichenfolge kann sensible Daten (z. B. ein Kennwort) enthalten. + Die Verbindungszeichenfolge wird als Nur-Text im Quellcode und in der kompilierten Assembly gespeichert. + Schränken Sie den Zugriff auf den Quellcode und die Assembly ein, um diese vertraulichen Informationen zu schützen. + + Der Name der Datentabelle. + Gibt die Reihenfolge für den Datenzugriff an. + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einer Verbindungszeichenfolge und einem Tabellennamen initialisiert. + Geben Sie eine Verbindungszeichenfolge und Datentabelle an, um auf die OLEDB-Datenquelle zuzugreifen. + + + Die für den Datenanbieter spezifische Verbindungszeichenfolge. + WARNUNG: Die Verbindungszeichenfolge kann sensible Daten (z. B. ein Kennwort) enthalten. + Die Verbindungszeichenfolge wird als Nur-Text im Quellcode und in der kompilierten Assembly gespeichert. + Schränken Sie den Zugriff auf den Quellcode und die Assembly ein, um diese vertraulichen Informationen zu schützen. + + Der Name der Datentabelle. + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einem Datenanbieter und einer Verbindungszeichenfolge mit dem Namen der Einstellung initialisiert. + + Der Name einer Datenquelle, die im Abschnitt <microsoft.visualstudio.qualitytools> in der Datei "app.config" gefunden wurde. + + + + Ruft einen Wert ab, der den Datenanbieter der Datenquelle darstellt. + + + Der Name des Datenanbieters. Wenn kein Datenanbieter während der Objektinitialisierung festgelegt wurde, wird der Standardanbieter "System.Data.OleDb" zurückgegeben. + + + + + Ruft einen Wert ab, der die Verbindungszeichenfolge für die Datenquelle darstellt. + + + + + Ruft einen Wert ab, der den Tabellennamen angibt, der Daten bereitstellt. + + + + + Ruft die Methode ab, die für den Zugriff auf die Datenquelle verwendet wird. + + + + Einer der-Werte. Wenn das nicht initialisiert wurde, wird der Standardwert zurückgegeben. . + + + + + Ruft den Namen einer Datenquelle ab, die im Abschnitt <microsoft.visualstudio.qualitytools> in der Datei "app.config" gefunden wurde. + + + + + Ein Attribut für datengesteuerte Tests, in denen Daten inline angegeben werden können. + + + + + Ermittelt alle Datenzeilen und beginnt mit der Ausführung. + + + Die test-Methode. + + + Ein Array aus . + + + + + Führt die datengesteuerte Testmethode aus. + + Die auszuführende Testmethode. + Die Datenzeile. + Ergebnisse der Ausführung. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..47b3d8c --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Se usa para especificar el elemento (archivo o directorio) para la implementación por prueba. + Puede especificarse en la clase de prueba o en el método de prueba. + Puede tener varias instancias del atributo para especificar más de un elemento. + La ruta de acceso del elemento puede ser absoluta o relativa. Si es relativa, lo es respecto a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Inicializa una nueva instancia de la clase . + + Archivo o directorio para implementar. La ruta de acceso es relativa al directorio de salida de compilación. El elemento se copiará en el mismo directorio que los ensamblados de prueba implementados. + + + + Inicializa una nueva instancia de la clase . + + Ruta de acceso relativa o absoluta al archivo o directorio para implementar. La ruta de acceso es relativa al directorio de salida de compilación. El elemento se copiará en el mismo directorio que los ensamblados de prueba implementados. + Ruta de acceso del directorio en el que se van a copiar los elementos. Puede ser absoluta o relativa respecto al directorio de implementación. Todos los archivos y directorios que identifica se copiarán en este directorio. + + + + Obtiene la ruta de acceso al archivo o carpeta de origen que se debe copiar. + + + + + Obtiene la ruta de acceso al directorio donde se copia el elemento. + + + + + Clase TestContext. Esta clase debe ser totalmente abstracta y no contener ningún + miembro. El adaptador implementará los miembros. Los usuarios del marco solo deben + tener acceso a esta clase a través de una interfaz bien definida. + + + + + Obtiene las propiedades de una prueba. + + + + + Obtiene el nombre completo de la clase que contiene el método de prueba que se está ejecutando. + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Obtiene el nombre del método de prueba que se está ejecutando. + + + + + Obtiene el resultado de la prueba actual. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..5b05af9 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4199 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Atributo TestMethod para la ejecución. + + + + + Obtiene el nombre del método de prueba. + + + + + Obtiene el nombre de la clase de prueba. + + + + + Obtiene el tipo de valor devuelto del método de prueba. + + + + + Obtiene los parámetros del método de prueba. + + + + + Obtiene el valor de methodInfo para el método de prueba. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invoca el método de prueba. + + + Argumentos que se pasan al método de prueba (por ejemplo, controlada por datos) + + + Resultado de la invocación del método de prueba. + + + This call handles asynchronous test methods as well. + + + + + Obtiene todos los atributos del método de prueba. + + + Indica si el atributo definido en la clase primaria es válido. + + + Todos los atributos. + + + + + Obtiene un atributo de un tipo específico. + + System.Attribute type. + + Indica si el atributo definido en la clase primaria es válido. + + + Atributos del tipo especificado. + + + + + Elemento auxiliar. + + + + + Parámetro de comprobación no NULL. + + + El parámetro. + + + El nombre del parámetro. + + + El mensaje. + + Throws argument null exception when parameter is null. + + + + Parámetro de comprobación no NULL o vacío. + + + El parámetro. + + + El nombre del parámetro. + + + El mensaje. + + Throws ArgumentException when parameter is null. + + + + Enumeración de cómo se accede a las filas de datos en las pruebas controladas por datos. + + + + + Las filas se devuelven en orden secuencial. + + + + + Las filas se devuelven en orden aleatorio. + + + + + Atributo para definir los datos insertados de un método de prueba. + + + + + Inicializa una nueva instancia de la clase . + + Objeto de datos. + + + + Inicializa una nueva instancia de la clase , que toma una matriz de argumentos. + + Objeto de datos. + Más datos. + + + + Obtiene datos para llamar al método de prueba. + + + + + Obtiene o establece el nombre para mostrar en los resultados de pruebas para personalizarlo. + + + + + Excepción de aserción no concluyente. + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Inicializa una nueva instancia de la clase . + + + + + Clase InternalTestFailureException. Se usa para indicar un error interno de un caso de prueba. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializa una nueva instancia de la clase . + + Mensaje de la excepción. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + Mensaje de la excepción. + + + + Inicializa una nueva instancia de la clase . + + + + + Atributo que indica que debe esperarse una excepción del tipo especificado. + + + + + Inicializa una nueva instancia de la clase con el tipo esperado. + + Tipo de la excepción esperada + + + + Inicializa una nueva instancia de la clase + con el tipo esperado y el mensaje para incluir cuando la prueba no produce una excepción. + + Tipo de la excepción esperada + + Mensaje que se incluye en el resultado de la prueba si esta no se supera debido a que no se inicia una excepción + + + + + Obtiene un valor que indica el tipo de la excepción esperada. + + + + + Obtiene o establece un valor que indica si se permite que los tipos derivados del tipo de la excepción esperada + se consideren también como esperados. + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Comprueba que el tipo de la excepción producida por la prueba unitaria es el esperado. + + Excepción que inicia la prueba unitaria + + + + Clase base para atributos que especifican que se espere una excepción de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase con un mensaje de ausencia de excepción predeterminado. + + + + + Inicializa una nueva instancia de la clase con un mensaje de ausencia de excepción. + + + Mensaje para incluir en el resultado de la prueba si esta no se supera debido a que no se inicia una + excepción + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Obtiene el mensaje de ausencia de excepción predeterminado. + + Nombre del tipo de atributo ExpectedException + Mensaje de ausencia de excepción predeterminado + + + + Determina si se espera la excepción. Si el método devuelve un valor, se entiende + que se esperaba la excepción. Si el método produce una excepción, + se entiende que no se esperaba la excepción y se incluye el mensaje + de la misma en el resultado de la prueba. Se puede usar para mayor + comodidad. Si se utiliza y la aserción no funciona, + el resultado de la prueba se establece como No concluyente. + + Excepción que inicia la prueba unitaria + + + + Produce de nuevo la excepción si es de tipo AssertFailedException o AssertInconclusiveException. + + La excepción que se va a reiniciar si es una excepción de aserción + + + + Esta clase está diseñada para ayudar al usuario a realizar pruebas unitarias para tipos con tipos genéricos. + GenericParameterHelper satisface algunas de las restricciones de tipo genérico comunes, + como: + 1. Constructor predeterminado público. + 2. Implementa una interfaz común: IComparable, IEnumerable. + + + + + Inicializa una nueva instancia de la clase que + satisface la restricción "renovable" en genéricos de C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializa una nueva instancia de la clase que + inicializa la propiedad Data con un valor proporcionado por el usuario. + + Cualquier valor entero + + + + Obtiene o establece los datos. + + + + + Compara el valor de dos objetos GenericParameterHelper. + + objeto con el que hacer la comparación + Es true si el objeto tiene el mismo valor que el objeto GenericParameterHelper "this". + De lo contrario, false. + + + + Devuelve un código hash para este objeto. + + El código hash. + + + + Compara los datos de los dos objetos . + + Objeto con el que se va a comparar. + + Número con signo que indica los valores relativos de esta instancia y valor. + + + Thrown when the object passed in is not an instance of . + + + + + Devuelve un objeto IEnumerator cuya longitud se deriva de + la propiedad Data. + + El objeto IEnumerator + + + + Devuelve un objeto GenericParameterHelper que es igual al + objeto actual. + + El objeto clonado. + + + + Permite a los usuarios registrar o escribir el seguimiento de las pruebas unitarias con fines de diagnóstico. + + + + + Controlador para LogMessage. + + Mensaje para registrar. + + + + Evento que se debe escuchar. Se genera cuando el autor de las pruebas unitarias escribe algún mensaje. + Lo consume principalmente el adaptador. + + + + + API del escritor de la prueba para llamar a los mensajes de registro. + + Formato de cadena con marcadores de posición. + Parámetros para los marcadores de posición. + + + + Atributo TestCategory. Se usa para especificar la categoría de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase y le aplica la categoría a la prueba. + + + Categoría de prueba. + + + + + Obtiene las categorías que se le han aplicado a la prueba. + + + + + Clase base del atributo "Category". + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializa una nueva instancia de la clase . + Aplica la categoría a la prueba. Las cadenas que devuelve TestCategories + se usan con el comando /category para filtrar las pruebas. + + + + + Obtiene la categoría que se le ha aplicado a la prueba. + + + + + Clase AssertFailedException. Se usa para indicar el error de un caso de prueba. + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Inicializa una nueva instancia de la clase . + + + + + Colección de clases auxiliares para probar varias condiciones en las + pruebas unitarias. Si la condición que se está probando no se cumple, se produce + una excepción. + + + + + Obtiene la instancia de singleton de la funcionalidad de Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Thrown if is false. + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Mensaje que se va a incluir en la excepción cuando + es false. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is false. + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Mensaje que se va a incluir en la excepción cuando + es false. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is false. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Thrown if is true. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Mensaje que se va a incluir en la excepción cuando + es true. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is true. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Mensaje que se va a incluir en la excepción cuando + es true. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is true. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + no es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + no es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Thrown if is null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is null. + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual que . El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual que . El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual que . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual que . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if is not equal to . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Mensaje que se va a incluir en la excepción cuando + no es una instancia de . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Mensaje que se va a incluir en la excepción cuando + no es una instancia de . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Mensaje que se va a incluir en la excepción cuando + es una instancia de . El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Mensaje que se va a incluir en la excepción cuando + es una instancia de . El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Produce una excepción AssertFailedException. + + + Always thrown. + + + + + Produce una excepción AssertFailedException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Always thrown. + + + + + Produce una excepción AssertFailedException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Always thrown. + + + + + Las sobrecargas de igualdad estáticas se usan para comparar la igualdad de referencia de + instancias de dos tipos. Este método no debe usarse para comparar la igualdad de dos instancias. + Este objeto se devolverá siempre con Assert.Fail. Utilice + Assert.AreEqual y las sobrecargas asociadas en pruebas unitarias. + + Objeto A + Objeto B + False, siempre. + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción AssertFailedException si el código no produce la excepción dada o produce otra de un tipo que no sea . + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción AssertFailedException si el código no produce la excepción dada o produce otra de un tipo que no sea . + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Reemplaza los caracteres NULL "\0" por "\\0". + + + Cadena para buscar. + + + La cadena convertida con los caracteres NULL reemplazados por "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Función auxiliar que produce una excepción AssertionFailedException. + + + nombre de la aserción que inicia una excepción + + + mensaje que describe las condiciones del error de aserción + + + Los parámetros. + + + + + Comprueba el parámetro para las condiciones válidas. + + + El parámetro. + + + Nombre de la aserción. + + + nombre de parámetro + + + mensaje de la excepción de parámetro no válido + + + Los parámetros. + + + + + Convierte un objeto en cadena de forma segura, con control de los valores y caracteres NULL. + Los valores NULL se convierten en "NULL". Los caracteres NULL se convierten en "\\0". + + + Objeto que se va a convertir en cadena. + + + La cadena convertida. + + + + + Aserción de cadena. + + + + + Obtiene la instancia de singleton de la funcionalidad CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Mensaje que se va a incluir en la excepción cuando + no empieza por . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Mensaje que se va a incluir en la excepción cuando + no empieza por . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Mensaje que se va a incluir en la excepción cuando + no termina con . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Mensaje que se va a incluir en la excepción cuando + no termina con . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Mensaje que se va a incluir en la excepción cuando + no coincide con . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Mensaje que se va a incluir en la excepción cuando + no coincide con . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Thrown if matches . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Mensaje que se va a incluir en la excepción cuando + coincide con . El mensaje se muestra en los resultados de las + pruebas. + + + Thrown if matches . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Mensaje que se va a incluir en la excepción cuando + coincide con . El mensaje se muestra en los resultados de las + pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if matches . + + + + + Colección de clases auxiliares para probar varias condiciones asociadas + a las colecciones en las pruebas unitarias. Si la condición que se está probando no se + cumple, se produce una excepción. + + + + + Obtiene la instancia de singleton de la funcionalidad CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Thrown if is found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + se encuentra en . El mensaje se muestra en los resultados de las + pruebas. + + + Thrown if is found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + se encuentra en . El mensaje se muestra en los resultados de las + pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is found in + . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Thrown if a null element is found in . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Mensaje que se va a incluir en la excepción cuando + contiene un elemento NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if a null element is found in . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Mensaje que se va a incluir en la excepción cuando + contiene un elemento NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if a null element is found in . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Mensaje que se va a incluir en la excepción cuando + contiene al menos un elemento duplicado. El mensaje se muestra en los + resultados de las pruebas. + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Mensaje que se va a incluir en la excepción cuando + contiene al menos un elemento duplicado. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Thrown if every element in is also found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando cada elemento de + también se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Thrown if every element in is also found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando cada elemento de + también se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if every element in is also found in + . + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando un elemento se encontró + en una de las colecciones pero no en la otra. El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando un elemento se encontró + en una de las colecciones pero no en la otra. El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + contiene los mismos elementos que . El mensaje + se muestra en los resultados de las pruebas. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + contiene los mismos elementos que . El mensaje + se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no es una instancia de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no es una instancia de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Determina si la primera colección es un subconjunto de la + segunda. Si cualquiera de los conjuntos contiene elementos duplicados, el número + de repeticiones del elemento en el subconjunto debe ser inferior o + igual al número de repeticiones en el superconjunto. + + + Colección que la prueba espera que esté incluida en . + + + Colección que la prueba espera que contenga . + + + True si es un subconjunto de + , de lo contrario false. + + + + + Construye un diccionario que contiene el número de repeticiones de cada + elemento en la colección especificada. + + + Colección que se va a procesar. + + + Número de elementos NULL de la colección. + + + Diccionario que contiene el número de repeticiones de cada elemento + en la colección especificada. + + + + + Encuentra un elemento no coincidente entre ambas colecciones. Un elemento + no coincidente es aquel que aparece un número distinto de veces en la + colección esperada de lo que aparece en la colección real. Se + supone que las colecciones son referencias no NULL diferentes con el + mismo número de elementos. El autor de la llamada es el responsable de + este nivel de comprobación. Si no hay ningún elemento no coincidente, + la función devuelve false y no deben usarse parámetros out. + + + La primera colección para comparar. + + + La segunda colección para comparar. + + + Número esperado de repeticiones de + o 0 si no hay ningún elemento no + coincidente. + + + El número real de repeticiones de + o 0 si no hay ningún elemento no + coincidente. + + + El elemento no coincidente (puede ser nulo) o NULL si no hay ningún + elemento no coincidente. + + + Es true si se encontró un elemento no coincidente. De lo contrario, false. + + + + + compara los objetos con object.Equals. + + + + + Clase base para las excepciones de marco. + + + + + Inicializa una nueva instancia de la clase . + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Clase de recurso fuertemente tipado para buscar cadenas traducidas, etc. + + + + + Devuelve la instancia de ResourceManager almacenada en caché que usa esta clase. + + + + + Invalida la propiedad CurrentUICulture del subproceso actual para todas + las búsquedas de recursos que usan esta clase de recursos fuertemente tipados. + + + + + Busca una cadena traducida similar a "La cadena de acceso tiene una sintaxis no válida". + + + + + Busca una cadena traducida similar a "La colección esperada contiene {1} repeticiones de <{2}>. La colección actual contiene {3} repeticiones. {0}". + + + + + Busca una cadena traducida similar a "Se encontró un elemento duplicado: <{1}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1}>. El caso es distinto para el valor real: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba una diferencia no superior a <{3}> entre el valor esperado <{1}> y el valor real <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1} ({2})>, pero es: <{3} ({4})>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba una diferencia mayor que <{3}> entre el valor esperado <{1}> y el valor real <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba cualquier valor excepto: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "No pase tipos de valor a AreSame(). Los valores convertidos a Object no serán nunca iguales. Considere el uso de AreEqual(). {0}". + + + + + Busca una cadena traducida similar a "Error de {0}. {1}". + + + + + Busca una cadena traducida similar a "No se admite un método de prueba asincrónico con UITestMethodAttribute. Quite el método asincrónico o use TestMethodAttribute. + + + + + Busca una cadena traducida similar a "Ambas colecciones están vacías". {0}. + + + + + Busca una cadena traducida similar a "Ambas colecciones tienen los mismos elementos". + + + + + Busca una cadena traducida similar a "Las referencias de ambas colecciones apuntan al mismo objeto de colección. {0}". + + + + + Busca una cadena traducida similar a "Ambas colecciones tienen los mismos elementos. {0}". + + + + + Busca una cadena traducida similar a "{0}({1})". + + + + + Busca una cadena traducida similar a "(NULL)". + + + + + Busca una cadena traducida similar a "(objeto)". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no contiene la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "{0} ({1})". + + + + + Busca una cadena traducida similar a "No se debe usar Assert.Equals para aserciones. Use Assert.AreEqual y Overloads en su lugar". + + + + + Busca una cadena traducida similar a "El número de elementos de las colecciones no coincide. Se esperaba: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "El elemento del índice {0} no coincide". + + + + + Busca una cadena traducida similar a "El elemento del índice {1} no es del tipo esperado. Tipo esperado: <{2}>, tipo real: <{3}>. {0}". + + + + + Busca una cadena traducida similar a "El elemento del índice {1} es (NULL). Se esperaba el tipo: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no termina con la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "Argumento no válido: EqualsTester no puede utilizar valores NULL". + + + + + Busca una cadena traducida similar a "El objeto de tipo {0} no se puede convertir en {1}". + + + + + Busca una cadena traducida similar a "El objeto interno al que se hace referencia ya no es válido". + + + + + Busca una cadena traducida similar a "El parámetro "{0}" no es válido. {1}". + + + + + Busca una cadena traducida similar a "La propiedad {0} tiene el tipo {1}; se esperaba el tipo {2}". + + + + + Busca una cadena traducida similar a "{0} Tipo esperado: <{1}>. Tipo real: <{2}>". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no coincide con el patrón "{1}". {2}". + + + + + Busca una cadena traducida similar a "Tipo incorrecto: <{1}>. Tipo real: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "La cadena "{0}" coincide con el patrón "{1}". {2}". + + + + + Busca una cadena traducida similar a "No se especificó ningún atributo DataRowAttribute. Se requiere al menos un elemento DataRowAttribute con DataTestMethodAttribute". + + + + + Busca una cadena traducida similar a "No se produjo ninguna excepción. Se esperaba la excepción {1}. {0}". + + + + + Busca una cadena traducida similar a "El parámetro "{0}" no es válido. El valor no puede ser NULL. {1}". + + + + + Busca una cadena traducida similar a "Número diferente de elementos". + + + + + Busca una cadena traducida similar a + "No se encontró el constructor con la signatura especificada. Es posible que tenga que regenerar el descriptor de acceso privado, + o que el miembro sea privado y esté definido en una clase base. Si se trata de esto último, debe pasar el tipo + que define el miembro al constructor de PrivateObject". + + + + + Busca una cadena traducida similar a + "No se encontró el miembro especificado ({0}). Es posible que tenga que regenerar el descriptor de acceso privado, + o que el miembro sea privado y esté definido en una clase base. Si se trata de esto último, debe pasar el tipo + que define el miembro al constructor de PrivateObject". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no empieza con la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "El tipo de excepción esperado debe ser System.Exception o un tipo derivado de System.Exception". + + + + + Busca una cadena traducida similar a "No se pudo obtener el mensaje para una excepción del tipo {0} debido a una excepción". + + + + + Busca una cadena traducida similar a "El método de prueba no inició la excepción esperada {0}. {1}". + + + + + Busca una cadena traducida similar a "El método de prueba no inició una excepción. El atributo {0} definido en el método de prueba esperaba una excepción". + + + + + Busca una cadena traducida similar a "El método de prueba inició la excepción {0}, pero se esperaba la excepción {1}. Mensaje de la excepción: {2}". + + + + + Busca una cadena traducida similar a "El método de prueba inició la excepción {0}, pero se esperaba la excepción {1} o un tipo derivado de ella. Mensaje de la excepción: {2}". + + + + + Busca una cadena traducida similar a "Se produjo la excepción {2}, pero se esperaba la excepción {1}. {0} + Mensaje de excepción: {3} + Seguimiento de la pila: {4}". + + + + + Resultados de la prueba unitaria. + + + + + La prueba se ejecutó, pero hubo problemas. + Entre estos, puede haber excepciones o aserciones con errores. + + + + + La prueba se completó, pero no podemos determinar si el resultado fue correcto o no. + Se puede usar para pruebas anuladas. + + + + + La prueba se ejecutó sin problemas. + + + + + La prueba se está ejecutando. + + + + + Error del sistema al intentar ejecutar una prueba. + + + + + Se agotó el tiempo de espera de la prueba. + + + + + El usuario anuló la prueba. + + + + + La prueba tiene un estado desconocido + + + + + Proporciona funcionalidad auxiliar para el marco de pruebas unitarias. + + + + + Obtiene los mensajes de excepción, incluidos los mensajes de todas las excepciones internas, + de forma recursiva. + + Excepción para la que se obtienen los mensajes + la cadena con información del mensaje de error + + + + Enumeración para cuando se agota el tiempo de espera que se puede usar con el atributo . + El tipo de la enumeración debe coincidir. + + + + + Infinito. + + + + + Atributo de la clase de prueba. + + + + + Obtiene un atributo de método de prueba que habilita la ejecución de esta prueba. + + La instancia de atributo de método de prueba definida en este método. + Tipo que se utilizará para ejecutar esta prueba. + Extensions can override this method to customize how all methods in a class are run. + + + + Atributo del método de prueba. + + + + + Ejecuta un método de prueba. + + El método de prueba para ejecutar. + Una matriz de objetos de TestResult que representan los resultados de la prueba. + Extensions can override this method to customize running a TestMethod. + + + + Atributo para inicializar la prueba. + + + + + Atributo de limpieza de la prueba. + + + + + Atributo de omisión. + + + + + Atributo de propiedad de la prueba. + + + + + Inicializa una nueva instancia de la clase . + + + El nombre. + + + El valor. + + + + + Obtiene el nombre. + + + + + Obtiene el valor. + + + + + Atributo de inicialización de la clase. + + + + + Atributo de limpieza de la clase. + + + + + Atributo de inicialización del ensamblado. + + + + + Atributo de limpieza del ensamblado. + + + + + Propietario de la prueba. + + + + + Inicializa una nueva instancia de la clase . + + + El propietario. + + + + + Obtiene el propietario. + + + + + Atributo de prioridad. Se usa para especificar la prioridad de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase . + + + La prioridad. + + + + + Obtiene la prioridad. + + + + + Descripción de la prueba. + + + + + Inicializa una nueva instancia de la clase para describir una prueba. + + La descripción. + + + + Obtiene la descripción de una prueba. + + + + + URI de estructura de proyectos de CSS. + + + + + Inicializa una nueva instancia de la clase para el URI de estructura de proyecto de CSS. + + URI de estructura de proyectos de CSS. + + + + Obtiene el URI de estructura de proyectos de CSS. + + + + + URI de iteración de CSS. + + + + + Inicializa una nueva instancia de la clase para el URI de iteración de CSS. + + URI de iteración de CSS. + + + + Obtiene el URI de iteración de CSS. + + + + + Atributo WorkItem. Se usa para especificar un elemento de trabajo asociado a esta prueba. + + + + + Inicializa una nueva instancia de la clase para el atributo WorkItem. + + Identificador de un elemento de trabajo. + + + + Obtiene el identificador de un elemento de trabajo asociado. + + + + + Atributo de tiempo de espera. Se usa para especificar el tiempo de espera de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase . + + + Tiempo de espera. + + + + + Inicializa una nueva instancia de la clase con un tiempo de espera preestablecido. + + + Tiempo de espera + + + + + Obtiene el tiempo de espera. + + + + + Objeto TestResult que debe devolverse al adaptador. + + + + + Inicializa una nueva instancia de la clase . + + + + + Obtiene o establece el nombre para mostrar del resultado. Es útil cuando se devuelven varios resultados. + Si es NULL, se utiliza el nombre del método como nombre para mostrar. + + + + + Obtiene o establece el resultado de la ejecución de pruebas. + + + + + Obtiene o establece la excepción que se inicia cuando la prueba da error. + + + + + Obtiene o establece la salida del mensaje registrado por el código de la prueba. + + + + + Obtiene o establece la salida del mensaje registrado por el código de la prueba. + + + + + Obtiene o establece el seguimiento de depuración que realiza el código de la prueba. + + + + + Gets or sets the debug traces by test code. + + + + + Obtiene o establece la duración de la ejecución de la prueba. + + + + + Obtiene o establece el índice de la fila de datos en el origen de datos. Se establece solo para resultados + de ejecuciones individuales de filas de datos de una prueba controlada por datos. + + + + + Obtiene o establece el valor devuelto del método de prueba. Actualmente es siempre NULL. + + + + + Obtiene o establece los archivos de resultados que adjunta la prueba. + + + + + Especifica la cadena de conexión, el nombre de tabla y el método de acceso a fila para las pruebas controladas por datos. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nombre de proveedor predeterminado del origen de datos. + + + + + Método de acceso a datos predeterminado. + + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con un proveedor de datos, una cadena de conexión, una tabla de datos y un método de acceso a datos para acceder al origen de datos. + + Nombre invariable del proveedor de datos, como System.Data.SqlClient + + Cadena de conexión específica del proveedor de datos. + ADVERTENCIA: La cadena de conexión puede contener información confidencial (por ejemplo, una contraseña). + La cadena de conexión se almacena en texto sin formato en el código fuente y en el ensamblado compilado. + Restrinja el acceso al código fuente y al ensamblado para proteger esta información confidencial. + + Nombre de la tabla de datos. + Especifica el orden de acceso a los datos. + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con una cadena de conexión y un nombre de tabla. + Especifique la cadena de conexión y la tabla de datos para acceder al origen de datos OLEDB. + + + Cadena de conexión específica del proveedor de datos. + ADVERTENCIA: La cadena de conexión puede contener información confidencial (por ejemplo, una contraseña). + La cadena de conexión se almacena en texto sin formato en el código fuente y en el ensamblado compilado. + Restrinja el acceso al código fuente y al ensamblado para proteger esta información confidencial. + + Nombre de la tabla de datos. + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con un proveedor de datos y una cadena de conexión asociada al nombre del valor de configuración. + + El nombre de un origen de datos que se encuentra en la sección <microsoft.visualstudio.qualitytools> del archivo app.config. + + + + Obtiene un valor que representa el proveedor de datos del origen de datos. + + + Nombre del proveedor de datos. Si no se designó un proveedor de datos al inicializar el objeto, se devolverá el proveedor predeterminado de System.Data.OleDb. + + + + + Obtiene un valor que representa la cadena de conexión para el origen de datos. + + + + + Obtiene un valor que indica el nombre de la tabla que proporciona los datos. + + + + + Obtiene el método usado para tener acceso al origen de datos. + + + + Uno de los . Si no se ha inicializado, devolverá el valor predeterminado . + + + + + Obtiene el nombre del origen de datos que se encuentra en la sección <microsoft.visualstudio.qualitytools> del archivo app.config. + + + + + Atributo para una prueba controlada por datos donde los datos pueden especificarse insertados. + + + + + Busca todas las filas de datos y las ejecuta. + + + El método de prueba. + + + Una matriz de . + + + + + Ejecuta el método de prueba controlada por datos. + + Método de prueba para ejecutar. + Fila de datos. + Resultados de la ejecución. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..2c1d88a --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Permet de spécifier l'élément de déploiement (fichier ou répertoire) pour un déploiement par test. + Peut être spécifié sur une classe de test ou une méthode de test. + Peut avoir plusieurs instances de l'attribut pour spécifier plusieurs éléments. + Le chemin de l'élément peut être absolu ou relatif. S'il est relatif, il l'est par rapport à RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Initialise une nouvelle instance de la classe . + + Fichier ou répertoire à déployer. Le chemin est relatif au répertoire de sortie de build. L'élément est copié dans le même répertoire que les assemblys de tests déployés. + + + + Initialise une nouvelle instance de la classe + + Chemin relatif ou absolu du fichier ou du répertoire à déployer. Le chemin est relatif au répertoire de sortie de build. L'élément est copié dans le même répertoire que les assemblys de tests déployés. + Chemin du répertoire dans lequel les éléments doivent être copiés. Il peut être absolu ou relatif au répertoire de déploiement. Tous les fichiers et répertoires identifiés par vont être copiés dans ce répertoire. + + + + Obtient le chemin du fichier ou dossier source à copier. + + + + + Obtient le chemin du répertoire dans lequel l'élément est copié. + + + + + Classe TestContext. Cette classe doit être complètement abstraite, et ne doit contenir aucun + membre. L'adaptateur va implémenter les membres. Les utilisateurs du framework ne doivent + y accéder que via une interface bien définie. + + + + + Obtient les propriétés de test d'un test. + + + + + Obtient le nom complet de la classe contenant la méthode de test en cours d'exécution + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Obtient le nom de la méthode de test en cours d'exécution + + + + + Obtient le résultat de test actuel. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..2d63dc0 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod pour exécution. + + + + + Obtient le nom de la méthode de test. + + + + + Obtient le nom de la classe de test. + + + + + Obtient le type de retour de la méthode de test. + + + + + Obtient les paramètres de la méthode de test. + + + + + Obtient le methodInfo de la méthode de test. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Appelle la méthode de test. + + + Arguments à passer à la méthode de test. (Exemple : pour un test piloté par les données) + + + Résultat de l'appel de la méthode de test. + + + This call handles asynchronous test methods as well. + + + + + Obtient tous les attributs de la méthode de test. + + + Indique si l'attribut défini dans la classe parente est valide. + + + Tous les attributs. + + + + + Obtient l'attribut du type spécifique. + + System.Attribute type. + + Indique si l'attribut défini dans la classe parente est valide. + + + Attributs du type spécifié. + + + + + Assistance. + + + + + Paramètre de vérification non null. + + + Paramètre. + + + Nom du paramètre. + + + Message. + + Throws argument null exception when parameter is null. + + + + Paramètre de vérification non null ou vide. + + + Paramètre. + + + Nom du paramètre. + + + Message. + + Throws ArgumentException when parameter is null. + + + + Énumération liée à la façon dont nous accédons aux lignes de données dans les tests pilotés par les données. + + + + + Les lignes sont retournées dans un ordre séquentiel. + + + + + Les lignes sont retournées dans un ordre aléatoire. + + + + + Attribut permettant de définir les données inline d'une méthode de test. + + + + + Initialise une nouvelle instance de la classe . + + Objet de données. + + + + Initialise une nouvelle instance de la classe qui accepte un tableau d'arguments. + + Objet de données. + Plus de données. + + + + Obtient les données permettant d'appeler la méthode de test. + + + + + Obtient ou définit le nom d'affichage dans les résultats des tests à des fins de personnalisation. + + + + + Exception d'assertion non concluante. + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Initialise une nouvelle instance de la classe . + + + + + Classe InternalTestFailureException. Sert à indiquer l'échec interne d'un cas de test + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initialise une nouvelle instance de la classe . + + Message d'exception. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message d'exception. + + + + Initialise une nouvelle instance de la classe . + + + + + Attribut indiquant d'attendre une exception du type spécifié + + + + + Initialise une nouvelle instance de la classe avec le type attendu + + Type de l'exception attendue + + + + Initialise une nouvelle instance de la classe avec + le type attendu et le message à inclure quand aucune exception n'est levée par le test. + + Type de l'exception attendue + + Message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient une valeur indiquant le type de l'exception attendue + + + + + Obtient ou définit une valeur indiquant si les types dérivés du type de l'exception attendue peuvent + être éligibles comme prévu + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Vérifie que le type de l'exception levée par le test unitaire est bien attendu + + Exception levée par le test unitaire + + + + Classe de base des attributs qui spécifient d'attendre une exception d'un test unitaire + + + + + Initialise une nouvelle instance de la classe avec un message d'absence d'exception par défaut + + + + + Initialise une nouvelle instance de la classe avec un message d'absence d'exception + + + Message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une + exception + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient le message d'absence d'exception par défaut + + Nom du type de l'attribut ExpectedException + Message d'absence d'exception par défaut + + + + Détermine si l'exception est attendue. Si la méthode est retournée, cela + signifie que l'exception est attendue. Si la méthode lève une exception, cela + signifie que l'exception n'est pas attendue, et que le message de l'exception levée + est inclus dans le résultat de test. La classe peut être utilisée par + commodité. Si est utilisé et si l'assertion est un échec, + le résultat de test a la valeur Non concluant. + + Exception levée par le test unitaire + + + + Lève à nouveau l'exception, s'il s'agit de AssertFailedException ou de AssertInconclusiveException + + Exception à lever de nouveau, s'il s'agit d'une exception d'assertion + + + + Cette classe permet à l'utilisateur d'effectuer des tests unitaires pour les types basés sur des types génériques. + GenericParameterHelper répond à certaines contraintes usuelles des types génériques, + exemple : + 1. constructeur par défaut public + 2. implémentation d'une interface commune : IComparable, IEnumerable + + + + + Initialise une nouvelle instance de la classe qui + répond à la contrainte 'newable' dans les génériques C#. + + + This constructor initializes the Data property to a random value. + + + + + Initialise une nouvelle instance de la classe qui + initialise la propriété Data en lui assignant une valeur fournie par l'utilisateur. + + Valeur entière + + + + Obtient ou définit les données + + + + + Compare la valeur de deux objets GenericParameterHelper + + objet à comparer + true si obj a la même valeur que l'objet GenericParameterHelper de 'this'. + sinon false. + + + + Retourne un code de hachage pour cet objet. + + Code de hachage. + + + + Compare les données des deux objets . + + Objet à comparer. + + Nombre signé indiquant les valeurs relatives de cette instance et de cette valeur. + + + Thrown when the object passed in is not an instance of . + + + + + Retourne un objet IEnumerator dont la longueur est dérivée de + la propriété Data. + + Objet IEnumerator + + + + Retourne un objet GenericParameterHelper égal à + l'objet actuel. + + Objet cloné. + + + + Permet aux utilisateurs de journaliser/d'écrire des traces de tests unitaires à des fins de diagnostic. + + + + + Gestionnaire de LogMessage. + + Message à journaliser. + + + + Événement à écouter. Déclenché quand le writer de test unitaire écrit un message. + Sert principalement à être consommé par un adaptateur. + + + + + API à appeler par le writer de test pour journaliser les messages. + + Format de chaîne avec des espaces réservés. + Paramètres des espaces réservés. + + + + Attribut TestCategory utilisé pour spécifier la catégorie d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe et applique la catégorie au test. + + + Catégorie de test. + + + + + Obtient les catégories de test appliquées au test. + + + + + Classe de base de l'attribut "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initialise une nouvelle instance de la classe . + Applique la catégorie au test. Les chaînes retournées par TestCategories + sont utilisées avec la commande /category pour filtrer les tests + + + + + Obtient la catégorie de test appliquée au test. + + + + + Classe AssertFailedException. Sert à indiquer l'échec d'un cas de test + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Initialise une nouvelle instance de la classe . + + + + + Collection de classes d'assistance permettant de tester diverses conditions dans + des tests unitaires. Si la condition testée n'est pas remplie, une exception + est levée. + + + + + Obtient l'instance singleton de la fonctionnalité Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Message à inclure dans l'exception quand + est false. Le message s'affiche dans les résultats des tests. + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Message à inclure dans l'exception quand + est false. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Thrown if is true. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Message à inclure dans l'exception quand + est true. Le message s'affiche dans les résultats des tests. + + + Thrown if is true. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Message à inclure dans l'exception quand + est true. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is true. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + n'a pas une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + n'a pas une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Thrown if is null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + a une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if is null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + a une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is null. + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas identique à . Le message s'affiche + dans les résultats des tests. + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas identique à . Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if refers to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est identique à . Le message s'affiche dans + les résultats des tests. + + + Thrown if refers to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est identique à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if refers to the same object + as . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if is not equal to . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if is equal to . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Message à inclure dans l'exception quand + n'est pas une instance de . Le message + s'affiche dans les résultats des tests. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Message à inclure dans l'exception quand + n'est pas une instance de . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Message à inclure dans l'exception quand + est une instance de . Le message s'affiche + dans les résultats des tests. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Message à inclure dans l'exception quand + est une instance de . Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Lève AssertFailedException. + + + Always thrown. + + + + + Lève AssertFailedException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Always thrown. + + + + + Lève AssertFailedException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Always thrown. + + + + + Les surcharges statiques d'equals comparent les instances de deux types pour déterminer si leurs références sont + égales entre elles. Cette méthode ne doit pas être utilisée pour évaluer si deux instances sont + égales entre elles. Cet objet est toujours levé avec Assert.Fail. Utilisez + Assert.AreEqual et les surcharges associées dans vos tests unitaires. + + Objet A + Objet B + False, toujours. + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève AssertFailedException si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + Délégué du code à tester et censé lever une exception. + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève AssertFailedException si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + Délégué du code à tester et censé lever une exception. + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Remplace les caractères Null ('\0') par "\\0". + + + Chaîne à rechercher. + + + Chaîne convertie où les caractères null sont remplacés par "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Fonction d'assistance qui crée et lève AssertionFailedException + + + nom de l'assertion levant une exception + + + message décrivant les conditions de l'échec d'assertion + + + Paramètres. + + + + + Vérifie la validité des conditions du paramètre + + + Paramètre. + + + Nom de l'assertion. + + + nom du paramètre + + + message d'exception liée à un paramètre non valide + + + Paramètres. + + + + + Convertit en toute sécurité un objet en chaîne, en gérant les valeurs null et les caractères Null. + Les valeurs null sont converties en "(null)". Les caractères Null sont convertis en "\\0". + + + Objet à convertir en chaîne. + + + Chaîne convertie. + + + + + Assertion de chaîne. + + + + + Obtient l'instance singleton de la fonctionnalité CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Message à inclure dans l'exception quand + ne commence pas par . Le message + s'affiche dans les résultats des tests. + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Message à inclure dans l'exception quand + ne commence pas par . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Thrown if does not end with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Message à inclure dans l'exception quand + ne finit pas par . Le message + s'affiche dans les résultats des tests. + + + Thrown if does not end with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Message à inclure dans l'exception quand + ne finit pas par . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not end with + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Message à inclure dans l'exception quand + ne correspond pas . Le message s'affiche dans + les résultats des tests. + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Message à inclure dans l'exception quand + ne correspond pas . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Thrown if matches . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Message à inclure dans l'exception quand + correspond à . Le message s'affiche dans les + résultats des tests. + + + Thrown if matches . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Message à inclure dans l'exception quand + correspond à . Le message s'affiche dans les + résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if matches . + + + + + Collection de classes d'assistance permettant de tester diverses conditions associées + à des collections dans les tests unitaires. Si la condition testée n'est pas + remplie, une exception est levée. + + + + + Obtient l'instance singleton de la fonctionnalité CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Thrown if is found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Message à inclure dans l'exception quand + est dans . Le message s'affiche dans les + résultats des tests. + + + Thrown if is found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Message à inclure dans l'exception quand + est dans . Le message s'affiche dans les + résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is found in + . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Message à inclure dans l'exception quand + contient un élément ayant une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Message à inclure dans l'exception quand + contient un élément ayant une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Message à inclure dans l'exception quand + contient au moins un élément dupliqué. Le message s'affiche dans + les résultats des tests. + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Message à inclure dans l'exception quand + contient au moins un élément dupliqué. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Thrown if an element in is not found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Message à inclure dans l'exception quand un élément présent dans + est introuvable dans . + Le message s'affiche dans les résultats des tests. + + + Thrown if an element in is not found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Message à inclure dans l'exception quand un élément présent dans + est introuvable dans . + Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element in is not found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Thrown if every element in is also found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Message à inclure dans l'exception quand chaque élément présent dans + est également trouvé dans . + Le message s'affiche dans les résultats des tests. + + + Thrown if every element in is also found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Message à inclure dans l'exception quand chaque élément présent dans + est également trouvé dans . + Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if every element in is also found in + . + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand un élément est trouvé + dans l'une des collections mais pas l'autre. Le message s'affiche + dans les résultats des tests. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand un élément est trouvé + dans l'une des collections mais pas l'autre. Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand + contient les mêmes éléments que . Le message + s'affiche dans les résultats des tests. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand + contient les mêmes éléments que . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Message à inclure dans l'exception quand un élément présent dans + n'est pas une instance de + . Le message s'affiche dans les résultats des tests. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Message à inclure dans l'exception quand un élément présent dans + n'est pas une instance de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Détermine si la première collection est un sous-ensemble de la seconde + collection. Si l'un des deux ensembles contient des éléments dupliqués, le nombre + d'occurrences de l'élément dans le sous-ensemble doit être inférieur ou + égal au nombre d'occurrences dans le sur-ensemble. + + + Collection dans laquelle le test est censé être contenu . + + + Collection que le test est censé contenir . + + + True si est un sous-ensemble de + , sinon false. + + + + + Construit un dictionnaire contenant le nombre d'occurrences de chaque + élément dans la collection spécifiée. + + + Collection à traiter. + + + Nombre d'éléments de valeur null dans la collection. + + + Dictionnaire contenant le nombre d'occurrences de chaque élément + dans la collection spécifiée. + + + + + Recherche un élément incompatible parmi les deux collections. Un élément incompatible + est un élément qui n'apparaît pas avec la même fréquence dans la + collection attendue et dans la collection réelle. Les + collections sont supposées être des références non null distinctes ayant le + même nombre d'éléments. L'appelant est responsable de ce niveau de + vérification. S'il n'existe aucun élément incompatible, la fonction retourne + la valeur false et les paramètres out ne doivent pas être utilisés. + + + Première collection à comparer. + + + Seconde collection à comparer. + + + Nombre attendu d'occurrences de + ou 0, s'il n'y a aucune incompatibilité + des éléments. + + + Nombre réel d'occurrences de + ou 0, s'il n'y a aucune incompatibilité + des éléments. + + + Élément incompatible (pouvant avoir une valeur null), ou valeur null s'il n'existe aucun + élément incompatible. + + + true si un élément incompatible est trouvé ; sinon, false. + + + + + compare les objets via object.Equals + + + + + Classe de base pour les exceptions de framework. + + + + + Initialise une nouvelle instance de la classe . + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. + + + + + Retourne l'instance ResourceManager mise en cache utilisée par cette classe. + + + + + Remplace la propriété CurrentUICulture du thread actuel pour toutes + les recherches de ressources à l'aide de cette classe de ressource fortement typée. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne Access comporte une syntaxe non valide. + + + + + Recherche une chaîne localisée semblable à celle-ci : La collection attendue contient {1} occurrence(s) de <{2}>. La collection réelle contient {3} occurrence(s). {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Un élément dupliqué a été trouvé : <{1}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1}>. La casse est différente pour la valeur réelle : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Différence attendue non supérieure à <{3}> comprise entre la valeur attendue <{1}> et la valeur réelle <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1} ({2})>. Réel : <{3} ({4})>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1}>. Réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Différence attendue supérieure à <{3}> comprise entre la valeur attendue <{1}> et la valeur réelle <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Toute valeur attendue sauf : <{1}>. Réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Ne passez pas de types valeur à AreSame(). Les valeurs converties en Object ne seront plus jamais les mêmes. Si possible, utilisez AreEqual(). {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Échec de {0}. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : async TestMethod utilisé avec UITestMethodAttribute n'est pas pris en charge. Supprimez async ou utilisez TestMethodAttribute. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections sont vides. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections contiennent des éléments identiques. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections Reference pointent vers le même objet Collection. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections contiennent les mêmes éléments. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0}({1}). + + + + + Recherche une chaîne localisée semblable à celle-ci : (null). + + + + + Recherche une chaîne localisée semblable à celle-ci : (objet). + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne contient pas la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0} ({1}). + + + + + Recherche une chaîne localisée semblable à celle-ci : Assert.Equals ne doit pas être utilisé pour les assertions. Utilisez Assert.AreEqual et des surcharges à la place. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le nombre d'éléments dans les collections ne correspond pas. Attendu : <{1}>. Réel : <{2}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les éléments à l'index {0} ne correspondent pas. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'élément à l'index {1} n'est pas du type attendu. Type attendu : <{2}>. Type réel : <{3}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'élément à l'index {1} est (null). Type attendu : <{2}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne se termine pas par la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Argument non valide - EqualsTester ne peut pas utiliser de valeurs null. + + + + + Recherche une chaîne localisée semblable à celle-ci : Impossible de convertir un objet de type {0} en {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'objet interne référencé n'est plus valide. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le paramètre '{0}' est non valide. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La propriété {0} a le type {1} ; type attendu {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0} Type attendu : <{1}>. Type réel : <{2}>. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne correspond pas au modèle '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Type incorrect : <{1}>. Type réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' correspond au modèle '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Aucun DataRowAttribute spécifié. Au moins un DataRowAttribute est nécessaire avec DataTestMethodAttribute. + + + + + Recherche une chaîne localisée semblable à celle-ci : Aucune exception levée. Exception {1} attendue. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le paramètre '{0}' est non valide. La valeur ne peut pas être null. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Nombre d'éléments différent. + + + + + Recherche une chaîne localisée semblable à celle-ci : + Le constructeur doté de la signature spécifiée est introuvable. Vous devrez peut-être régénérer votre accesseur private, + ou le membre est peut-être private et défini sur une classe de base. Si le dernier cas est vrai, vous devez transmettre le type + qui définit le membre dans le constructeur de PrivateObject. + . + + + + + Recherche une chaîne localisée semblable à celle-ci : + Le membre spécifié ({0}) est introuvable. Vous devrez peut-être régénérer votre accesseur private, + ou le membre est peut-être private et défini sur une classe de base. Si le dernier cas est vrai, vous devez transmettre le type + qui définit le membre dans le constructeur de PrivateObject. + . + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne commence pas par la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le type de l'exception attendue doit être System.Exception ou un type dérivé de System.Exception. + + + + + Recherche une chaîne localisée semblable à celle-ci : (Échec de la réception du message pour une exception de type {0} en raison d'une exception.). + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test n'a pas levé l'exception attendue {0}. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test n'a pas levé d'exception. Une exception était attendue par l'attribut {0} défini sur la méthode de test. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test a levé l'exception {0}, mais l'exception {1} était attendue. Message d'exception : {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test a levé l'exception {0}, mais l'exception {1} (ou un type dérivé de cette dernière) était attendue. Message d'exception : {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'exception {2} a été levée, mais l'exception {1} était attendue. {0} + Message d'exception : {3} + Arborescence des appels de procédure : {4}. + + + + + résultats du test unitaire + + + + + Le test a été exécuté mais des problèmes se sont produits. + Il peut s'agir de problèmes liés à des exceptions ou des échecs d'assertion. + + + + + Test effectué, mais nous ne pouvons pas dire s'il s'agit d'une réussite ou d'un échec. + Utilisable éventuellement pour les tests abandonnés. + + + + + Le test a été exécuté sans problème. + + + + + Le test est en cours d'exécution. + + + + + Une erreur système s'est produite pendant que nous tentions d'exécuter un test. + + + + + Délai d'expiration du test. + + + + + Test abandonné par l'utilisateur. + + + + + Le test est dans un état inconnu + + + + + Fournit une fonctionnalité d'assistance pour le framework de tests unitaires + + + + + Obtient les messages d'exception, notamment les messages de toutes les exceptions internes + de manière récursive + + Exception pour laquelle les messages sont obtenus + chaîne avec les informations du message d'erreur + + + + Énumération des délais d'expiration, qui peut être utilisée avec la classe . + Le type de l'énumération doit correspondre + + + + + Infini. + + + + + Attribut de la classe de test. + + + + + Obtient un attribut de méthode de test qui permet d'exécuter ce test. + + Instance d'attribut de méthode de test définie sur cette méthode. + Le à utiliser pour exécuter ce test. + Extensions can override this method to customize how all methods in a class are run. + + + + Attribut de la méthode de test. + + + + + Exécute une méthode de test. + + Méthode de test à exécuter. + Tableau d'objets TestResult qui représentent le ou les résultats du test. + Extensions can override this method to customize running a TestMethod. + + + + Attribut d'initialisation du test. + + + + + Attribut de nettoyage du test. + + + + + Attribut ignore. + + + + + Attribut de la propriété de test. + + + + + Initialise une nouvelle instance de la classe . + + + Nom. + + + Valeur. + + + + + Obtient le nom. + + + + + Obtient la valeur. + + + + + Attribut d'initialisation de la classe. + + + + + Attribut de nettoyage de la classe. + + + + + Attribut d'initialisation de l'assembly. + + + + + Attribut de nettoyage de l'assembly. + + + + + Propriétaire du test + + + + + Initialise une nouvelle instance de la classe . + + + Propriétaire. + + + + + Obtient le propriétaire. + + + + + Attribut Priority utilisé pour spécifier la priorité d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe . + + + Priorité. + + + + + Obtient la priorité. + + + + + Description du test + + + + + Initialise une nouvelle instance de la classe pour décrire un test. + + Description. + + + + Obtient la description d'un test. + + + + + URI de structure de projet CSS + + + + + Initialise une nouvelle instance de la classe pour l'URI de structure de projet CSS. + + URI de structure de projet CSS. + + + + Obtient l'URI de structure de projet CSS. + + + + + URI d'itération CSS + + + + + Initialise une nouvelle instance de la classe pour l'URI d'itération CSS. + + URI d'itération CSS. + + + + Obtient l'URI d'itération CSS. + + + + + Attribut WorkItem permettant de spécifier un élément de travail associé à ce test. + + + + + Initialise une nouvelle instance de la classe pour l'attribut WorkItem. + + ID d'un élément de travail. + + + + Obtient l'ID d'un élément de travail associé. + + + + + Attribut Timeout utilisé pour spécifier le délai d'expiration d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe . + + + Délai d'expiration. + + + + + Initialise une nouvelle instance de la classe avec un délai d'expiration prédéfini + + + Délai d'expiration + + + + + Obtient le délai d'attente. + + + + + Objet TestResult à retourner à l'adaptateur. + + + + + Initialise une nouvelle instance de la classe . + + + + + Obtient ou définit le nom d'affichage du résultat. Utile pour retourner plusieurs résultats. + En cas de valeur null, le nom de la méthode est utilisé en tant que DisplayName. + + + + + Obtient ou définit le résultat de l'exécution du test. + + + + + Obtient ou définit l'exception levée en cas d'échec du test. + + + + + Obtient ou définit la sortie du message journalisé par le code de test. + + + + + Obtient ou définit la sortie du message journalisé par le code de test. + + + + + Obtient ou définit les traces de débogage du code de test. + + + + + Gets or sets the debug traces by test code. + + + + + Obtient ou définit la durée de l'exécution du test. + + + + + Obtient ou définit l'index de ligne de données dans la source de données. Défini uniquement pour les résultats de + l'exécution individuelle de la ligne de données d'un test piloté par les données. + + + + + Obtient ou définit la valeur renvoyée de la méthode de test. (Toujours null). + + + + + Obtient ou définit les fichiers de résultats attachés par le test. + + + + + Spécifie la chaîne de connexion, le nom de la table et la méthode d'accès aux lignes pour les tests pilotés par les données. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nom du fournisseur par défaut de DataSource. + + + + + Méthode d'accès aux données par défaut. + + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec un fournisseur de données, une chaîne de connexion, une table de données et une méthode d'accès aux données pour accéder à la source de données. + + Nom du fournisseur de données invariant, par exemple System.Data.SqlClient + + Chaîne de connexion spécifique au fournisseur de données. + AVERTISSEMENT : La chaîne de connexion peut contenir des données sensibles (par exemple, un mot de passe). + La chaîne de connexion est stockée en texte brut dans le code source et dans l'assembly compilé. + Restreignez l'accès au code source et à l'assembly pour protéger ces informations sensibles. + + Nom de la table de données. + Spécifie l'ordre d'accès aux données. + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec une chaîne de connexion et un nom de table. + Spécifiez la chaîne de connexion et la table de données permettant d'accéder à la source de données OLEDB. + + + Chaîne de connexion spécifique au fournisseur de données. + AVERTISSEMENT : La chaîne de connexion peut contenir des données sensibles (par exemple, un mot de passe). + La chaîne de connexion est stockée en texte brut dans le code source et dans l'assembly compilé. + Restreignez l'accès au code source et à l'assembly pour protéger ces informations sensibles. + + Nom de la table de données. + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec un fournisseur de données et une chaîne de connexion associés au nom du paramètre. + + Nom d'une source de données trouvée dans la section <microsoft.visualstudio.qualitytools> du fichier app.config. + + + + Obtient une valeur représentant le fournisseur de données de la source de données. + + + Nom du fournisseur de données. Si aucun fournisseur de données n'a été désigné au moment de l'initialisation de l'objet, le fournisseur par défaut de System.Data.OleDb est retourné. + + + + + Obtient une valeur représentant la chaîne de connexion de la source de données. + + + + + Obtient une valeur indiquant le nom de la table qui fournit les données. + + + + + Obtient la méthode utilisée pour accéder à la source de données. + + + + Une des valeurs possibles. Si n'est pas initialisé, ce qui entraîne le retour de la valeur par défaut . + + + + + Obtient le nom d'une source de données trouvée dans la section <microsoft.visualstudio.qualitytools> du fichier app.config. + + + + + Attribut du test piloté par les données, où les données peuvent être spécifiées inline. + + + + + Recherche toutes les lignes de données et les exécute. + + + Méthode de test. + + + Tableau des . + + + + + Exécute la méthode de test piloté par les données. + + Méthode de test à exécuter. + Ligne de données. + Résultats de l'exécution. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..45a5e13 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Usato per specificare l'elemento di distribuzione (file o directory) per la distribuzione per singolo test. + Può essere specificato in classi o metodi di test. + Può contenere più istanze dell'attributo per specificare più di un elemento. + Il percorso dell'elemento può essere assoluto o relativo; se è relativo, è relativo rispetto a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Inizializza una nuova istanza della classe . + + File o directory per la distribuzione. Il percorso è relativo alla directory di output della compilazione. L'elemento verrà copiato nella stessa directory degli assembly di test distribuiti. + + + + Inizializza una nuova istanza della classe + + Percorso relativo o assoluto del file o della directory per la distribuzione. Il percorso è relativo alla directory di output della compilazione. L'elemento verrà copiato nella stessa directory degli assembly di test distribuiti. + Percorso della directory in cui vengono copiati gli elementi. Può essere assoluto o relativo rispetto alla directory di distribuzione. Tutte le directory e tutti i file identificati da verranno copiati in questa directory. + + + + Ottiene il percorso della cartella o del file di origine da copiare. + + + + + Ottiene il percorso della directory in cui viene copiato l'elemento. + + + + + Classe TestContext. Questa classe deve essere completamente astratta e non deve + contenere membri. I membri verranno implementati dall'adattatore. Gli utenti del framework devono + accedere a questa classe solo tramite un'interfaccia correttamente definita. + + + + + Ottiene le proprietà di un test. + + + + + Ottiene il nome completo della classe contenente il metodo di test attualmente in esecuzione + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Ottiene il nome del metodo di test attualmente in esecuzione + + + + + Ottiene il risultato del test corrente. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..d3540c8 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Metodo di test per l'esecuzione. + + + + + Ottiene il nome del metodo di test. + + + + + Ottiene il nome della classe di test. + + + + + Ottiene il tipo restituito del metodo di test. + + + + + Ottiene i parametri del metodo di test. + + + + + Ottiene l'oggetto methodInfo per il metodo di test. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Richiama il metodo di test. + + + Argomenti da passare al metodo di test, ad esempio per test basati sui dati + + + Risultato della chiamata del metodo di test. + + + This call handles asynchronous test methods as well. + + + + + Ottiene tutti gli attributi del metodo di test. + + + Indica se l'attributo definito nella classe padre è valido. + + + Tutti gli attributi. + + + + + Ottiene l'attributo di tipo specifico. + + System.Attribute type. + + Indica se l'attributo definito nella classe padre è valido. + + + Attributi del tipo specificato. + + + + + Helper. + + + + + Parametro check non Null. + + + Parametro. + + + Nome del parametro. + + + Messaggio. + + Throws argument null exception when parameter is null. + + + + Parametro check non Null o vuoto. + + + Parametro. + + + Nome del parametro. + + + Messaggio. + + Throws ArgumentException when parameter is null. + + + + Enumerazione relativa alla modalità di accesso alle righe di dati nei test basati sui dati. + + + + + Le righe vengono restituite in ordine sequenziale. + + + + + Le righe vengono restituite in ordine casuale. + + + + + Attributo per definire i dati inline per un metodo di test. + + + + + Inizializza una nuova istanza della classe . + + Oggetto dati. + + + + Inizializza una nuova istanza della classe che accetta una matrice di argomenti. + + Oggetto dati. + Altri dati. + + + + Ottiene i dati per chiamare il metodo di test. + + + + + Ottiene o imposta il nome visualizzato nei risultati del test per la personalizzazione. + + + + + Eccezione senza risultati dell'asserzione. + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Inizializza una nuova istanza della classe . + + + + + Classe InternalTestFailureException. Usata per indicare un errore interno per un test case + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inizializza una nuova istanza della classe . + + Messaggio dell'eccezione. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio dell'eccezione. + + + + Inizializza una nuova istanza della classe . + + + + + Attributo che specifica di presupporre un'eccezione del tipo specificato + + + + + Inizializza una nuova istanza della classe con il tipo previsto + + Tipo dell'eccezione prevista + + + + Inizializza una nuova istanza della classe con + il tipo previsto e il messaggio da includere quando il test non genera alcuna eccezione. + + Tipo dell'eccezione prevista + + Messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene un valore che indica il tipo dell'eccezione prevista + + + + + Ottiene o imposta un valore che indica se consentire a tipi derivati dal tipo dell'eccezione prevista + di qualificarsi come previsto + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Verifica che il tipo dell'eccezione generata dallo unit test sia prevista + + Eccezione generata dallo unit test + + + + Classe di base per attributi che specificano se prevedere che uno unit test restituisca un'eccezione + + + + + Inizializza una nuova istanza della classe con un messaggio per indicare nessuna eccezione + + + + + Inizializza una nuova istanza della classe con un messaggio che indica nessuna eccezione + + + Messaggio da includere nel risultato del test se il test non riesce perché non + viene generata un'eccezione + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene il messaggio predefinito per indicare nessuna eccezione + + Nome del tipo di attributo di ExpectedException + Messaggio predefinito per indicare nessuna eccezione + + + + Determina se l'eccezione è prevista. Se il metodo viene completato, si + presuppone che l'eccezione era prevista. Se il metodo genera un'eccezione, si + presuppone che l'eccezione non era prevista e il messaggio dell'eccezione generata + viene incluso nel risultato del test. Si può usare la classe per + comodità. Se si usa e l'asserzione non riesce, + il risultato del test viene impostato su Senza risultati. + + Eccezione generata dallo unit test + + + + Genera di nuovo l'eccezione se si tratta di un'eccezione AssertFailedException o AssertInconclusiveException + + Eccezione da generare di nuovo se si tratta di un'eccezione di asserzione + + + + Questa classe consente all'utente di eseguire testing unità per tipi che usano tipi generici. + GenericParameterHelper soddisfa alcuni dei vincoli di tipo generici più comuni, + ad esempio: + 1. costruttore predefinito pubblico + 2. implementa l'interfaccia comune: IComparable, IEnumerable + + + + + Inizializza una nuova istanza della classe che + soddisfa il vincolo 'newable' nei generics C#. + + + This constructor initializes the Data property to a random value. + + + + + Inizializza una nuova istanza della classe che + inizializza la proprietà Data con un valore fornito dall'utente. + + Qualsiasi valore Integer + + + + Ottiene o imposta i dati + + + + + Esegue il confronto dei valori di due oggetti GenericParameterHelper + + oggetto con cui eseguire il confronto + true se il valore di obj è uguale a quello dell'oggetto GenericParameterHelper 'this'; + in caso contrario, false. + + + + Restituisce un codice hash per questo oggetto. + + Codice hash. + + + + Confronta i dati dei due oggetti . + + Oggetto con cui eseguire il confronto. + + Numero con segno che indica i valori relativi di questa istanza e di questo valore. + + + Thrown when the object passed in is not an instance of . + + + + + Restituisce un oggetto IEnumerator la cui lunghezza viene derivata dalla + proprietà Data. + + L'oggetto IEnumerator + + + + Restituisce un oggetto GenericParameterHelper uguale a + quello corrente. + + Oggetto clonato. + + + + Consente agli utenti di registrare/scrivere tracce degli unit test per la diagnostica. + + + + + Gestore per LogMessage. + + Messaggio da registrare. + + + + Evento di cui rimanere in ascolto. Generato quando il writer di unit test scrive alcuni messaggi. + Utilizzato principalmente dall'adattatore. + + + + + API del writer di test da chiamare per registrare i messaggi. + + Formato stringa con segnaposto. + Parametri per segnaposto. + + + + Attributo TestCategory; usato per specificare la categoria di uno unit test. + + + + + Inizializza una nuova istanza della classe e applica la categoria al test. + + + Categoria di test. + + + + + Ottiene le categorie di test applicate al test. + + + + + Classe di base per l'attributo "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inizializza una nuova istanza della classe . + Applica la categoria al test. Le stringhe restituite da TestCategories + vengono usate con il comando /category per filtrare i test + + + + + Ottiene la categoria di test applicata al test. + + + + + Classe AssertFailedException. Usata per indicare un errore per un test case + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Inizializza una nuova istanza della classe . + + + + + Raccolta di classi helper per testare diverse condizioni + negli unit test. Se la condizione da testare non viene soddisfatta, + viene generata un'eccezione. + + + + + Ottiene l'istanza singleton della funzionalità Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Thrown if is false. + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Messaggio da includere nell'eccezione quando + è false. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is false. + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Messaggio da includere nell'eccezione quando + è false. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is false. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Thrown if is true. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Messaggio da includere nell'eccezione quando + è true. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is true. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Messaggio da includere nell'eccezione quando + è true. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is true. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Messaggio da includere nell'eccezione quando + non è Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Messaggio da includere nell'eccezione quando + non è Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Thrown if is null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Messaggio da includere nell'eccezione quando + è Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Messaggio da includere nell'eccezione quando + è Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is null. + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if refers to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if refers to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if refers to the same object + as . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if is not equal to . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Thrown if is not equal to + . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Messaggio da includere nell'eccezione quando + non è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Messaggio da includere nell'eccezione quando + non è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Messaggio da includere nell'eccezione quando + è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Messaggio da includere nell'eccezione quando + è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Genera un'eccezione AssertFailedException. + + + Always thrown. + + + + + Genera un'eccezione AssertFailedException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Always thrown. + + + + + Genera un'eccezione AssertFailedException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Always thrown. + + + + + Gli overload di uguaglianza statici vengono usati per confrontare istanze di due tipi e stabilire se + i riferimenti sono uguali. Questo metodo non deve essere usato per il confronto di uguaglianza tra due + istanze. Questo oggetto verrà sempre generato con Assert.Fail. Usare + Assert.AreEqual e gli overload associati negli unit test. + + Oggetto A + Oggetto B + Sempre false. + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione AssertFailedException se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione AssertFailedException se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Sostituisce caratteri Null ('\0') con "\\0". + + + Stringa da cercare. + + + Stringa convertita con caratteri Null sostituiti da "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Funzione helper che crea e genera un'eccezione AssertionFailedException + + + nome dell'asserzione che genera un'eccezione + + + messaggio che descrive le condizioni per l'errore di asserzione + + + Parametri. + + + + + Verifica la validità delle condizioni nel parametro + + + Parametro. + + + Nome dell'asserzione. + + + nome del parametro + + + messaggio per l'eccezione di parametro non valido + + + Parametri. + + + + + Converte in modo sicuro un oggetto in una stringa, gestendo valori e caratteri Null. + I valori Null vengono convertiti in "(null)". I caratteri Null vengono convertiti in "\\0". + + + Oggetto da convertire in una stringa. + + + Stringa convertita. + + + + + Asserzione della stringa. + + + + + Ottiene l'istanza singleton della funzionalità CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Messaggio da includere nell'eccezione quando + non inizia con . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Messaggio da includere nell'eccezione quando + non inizia con . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Messaggio da includere nell'eccezione quando + non termina con . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Messaggio da includere nell'eccezione quando + non termina con . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Messaggio da includere nell'eccezione quando + non corrisponde a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Messaggio da includere nell'eccezione quando + non corrisponde a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Thrown if matches . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Messaggio da includere nell'eccezione quando + corrisponde a . Il messaggio viene visualizzato nei risultati + del test. + + + Thrown if matches . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Messaggio da includere nell'eccezione quando + corrisponde a . Il messaggio viene visualizzato nei risultati + del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if matches . + + + + + Raccolta di classi helper per testare diverse condizioni associate + alle raccolte negli unit test. Se la condizione da testare non viene + soddisfatta, viene generata un'eccezione. + + + + + Ottiene l'istanza singleton della funzionalità CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Thrown if is found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + è presente in . Il messaggio viene visualizzato nei risultati + del test. + + + Thrown if is found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + è presente in . Il messaggio viene visualizzato nei risultati + del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Messaggio da includere nell'eccezione quando + contiene un elemento Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Messaggio da includere nell'eccezione quando + contiene un elemento Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Messaggio da includere nell'eccezione quando + contiene almeno un elemento duplicato. Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Messaggio da includere nell'eccezione quando + contiene almeno un elemento duplicato. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando un elemento in + non è presente in . + Il messaggio viene visualizzato nei risultati del test. + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando un elemento in + non è presente in . + Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Thrown if every element in is also found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando ogni elemento in + è presente anche in . + Il messaggio viene visualizzato nei risultati del test. + + + Thrown if every element in is also found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando ogni elemento in + è presente anche in . + Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if every element in is also found in + . + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando un elemento viene trovato + in una delle raccolte ma non nell'altra. Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando un elemento viene trovato + in una delle raccolte ma non nell'altra. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + contiene gli stessi elementi di . Il messaggio + viene visualizzato nei risultati del test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + contiene gli stessi elementi di . Il messaggio + viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Messaggio da includere nell'eccezione quando un elemento in + non è un'istanza di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Messaggio da includere nell'eccezione quando un elemento in + non è un'istanza di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Determina se la prima raccolta è un subset della seconda raccolta. + Se entrambi i set contengono elementi duplicati, il numero delle + occorrenze dell'elemento nel subset deve essere minore o uguale + a quello delle occorrenze nel superset. + + + Raccolta che il test presuppone debba essere contenuta in . + + + Raccolta che il test presuppone debba contenere . + + + True se è un subset di + ; in caso contrario, false. + + + + + Costruisce un dizionario contenente il numero di occorrenze di ogni + elemento nella raccolta specificata. + + + Raccolta da elaborare. + + + Numero di elementi Null presenti nella raccolta. + + + Dizionario contenente il numero di occorrenze di ogni elemento + nella raccolta specificata. + + + + + Trova un elemento senza corrispondenza tra le due raccolte. Per elemento + senza corrispondenza si intende un elemento che appare nella raccolta prevista + un numero di volte diverso rispetto alla raccolta effettiva. Si presuppone + che le raccolte siano riferimenti non Null diversi con lo stesso + numero di elementi. Il chiamante è responsabile di questo livello di + verifica. Se non ci sono elementi senza corrispondenza, la funzione + restituisce false e i parametri out non devono essere usati. + + + Prima raccolta da confrontare. + + + Seconda raccolta da confrontare. + + + Numero previsto di occorrenze di + o 0 se non ci sono elementi senza + corrispondenza. + + + Numero effettivo di occorrenze di + o 0 se non ci sono elementi senza + corrispondenza. + + + Elemento senza corrispondenza (può essere Null) o Null se non ci sono elementi + senza corrispondenza. + + + true se è stato trovato un elemento senza corrispondenza; in caso contrario, false. + + + + + confronta gli oggetti usando object.Equals + + + + + Classe di base per le eccezioni del framework. + + + + + Inizializza una nuova istanza della classe . + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Classe di risorse fortemente tipizzata per la ricerca di stringhe localizzate e così via. + + + + + Restituisce l'istanza di ResourceManager nella cache usata da questa classe. + + + + + Esegue l'override della proprietà CurrentUICulture del thread corrente per tutte + le ricerche di risorse eseguite usando questa classe di risorse fortemente tipizzata. + + + + + Cerca una stringa localizzata simile a La sintassi della stringa di accesso non è valida. + + + + + Cerca una stringa localizzata simile a La raccolta prevista contiene {1} occorrenza/e di <{2}>, mentre quella effettiva ne contiene {3}. {0}. + + + + + Cerca una stringa localizzata simile a È stato trovato un elemento duplicato:<{1}>. {0}. + + + + + Cerca una stringa localizzata simile a Il valore previsto è <{1}>, ma la combinazione di maiuscole/minuscole è diversa per il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È prevista una differenza minore di <{3}> tra il valore previsto <{1}> e il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a Valore previsto: <{1} ({2})>. Valore effettivo: <{3} ({4})>. {0}. + + + + + Cerca una stringa localizzata simile a Valore previsto: <{1}>. Valore effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È prevista una differenza maggiore di <{3}> tra il valore previsto <{1}> e il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È previsto un valore qualsiasi eccetto <{1}>. Valore effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a Non passare tipi valore a AreSame(). I valori convertiti in Object non saranno mai uguali. Usare AreEqual(). {0}. + + + + + Cerca una stringa localizzata simile a {0} non riuscita. {1}. + + + + + Cerca una stringa localizzata simile ad async TestMethod con UITestMethodAttribute non supportata. Rimuovere async o usare TestMethodAttribute. + + + + + Cerca una stringa localizzata simile a Le raccolte sono entrambe vuote. {0}. + + + + + Cerca una stringa localizzata simile a Le raccolte contengono entrambe gli stessi elementi. + + + + + Cerca una stringa localizzata simile a I riferimenti a raccolte puntano entrambi allo stesso oggetto Collection. {0}. + + + + + Cerca una stringa localizzata simile a Le raccolte contengono entrambe gli stessi elementi. {0}. + + + + + Cerca una stringa localizzata simile a {0}({1}). + + + + + Cerca una stringa localizzata simile a (Null). + + + + + Cerca una stringa localizzata simile a (oggetto). + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non contiene la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a {0} ({1}). + + + + + Cerca una stringa localizzata simile a Per le asserzioni non usare Assert.Equals, ma preferire Assert.AreEqual e gli overload. + + + + + Cerca una stringa localizzata simile a Il numero di elementi nelle raccolte non corrisponde. Valore previsto: <{1}>. Valore effettivo: <{2}>.{0}. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {0} non corrisponde. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {1} non è del tipo previsto. Tipo previsto: <{2}>. Tipo effettivo: <{3}>.{0}. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {1} è (Null). Tipo previsto: <{2}>.{0}. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non termina con la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Argomento non valido: EqualsTester non può usare valori Null. + + + + + Cerca una stringa localizzata simile a Non è possibile convertire un oggetto di tipo {0} in {1}. + + + + + Cerca una stringa localizzata simile a L'oggetto interno a cui si fa riferimento non è più valido. + + + + + Cerca una stringa localizzata simile a Il parametro '{0}' non è valido. {1}. + + + + + Cerca una stringa localizzata simile a Il tipo della proprietà {0} è {1}, ma quello previsto è {2}. + + + + + Cerca una stringa localizzata simile a Tipo previsto di {0}: <{1}>. Tipo effettivo: <{2}>. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non corrisponde al criterio '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Tipo errato: <{1}>. Tipo effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' corrisponde al criterio '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Non è stato specificato alcun elemento DataRowAttribute. Con DataTestMethodAttribute è necessario almeno un elemento DataRowAttribute. + + + + + Cerca una stringa localizzata simile a Non è stata generata alcuna eccezione. Era prevista un'eccezione {1}. {0}. + + + + + Cerca una stringa localizzata simile a Il parametro '{0}' non è valido. Il valore non può essere Null. {1}. + + + + + Cerca una stringa localizzata simile a Il numero di elementi è diverso. + + + + + Cerca una stringa localizzata simile a + Il costruttore con la firma specificata non è stato trovato. Potrebbe essere necessario rigenerare la funzione di accesso privata + oppure il membro potrebbe essere privato e definito per una classe di base. In quest'ultimo caso, è necessario passare il tipo + che definisce il membro nel costruttore di PrivateObject. + . + + + + + Cerca una stringa localizzata simile a + Il membro specificato ({0}) non è stato trovato. Potrebbe essere necessario rigenerare la funzione di accesso privata + oppure il membro potrebbe essere privato e definito per una classe di base. In quest'ultimo caso, è necessario passare il tipo + che definisce il membro nel costruttore di PrivateObject. + . + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non inizia con la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Il tipo di eccezione previsto deve essere System.Exception o un tipo derivato da System.Exception. + + + + + Cerca una stringa localizzata simile a Non è stato possibile ottenere il messaggio per un'eccezione di tipo {0} a causa di un'eccezione. + + + + + Cerca una stringa localizzata simile a Il metodo di test non ha generato l'eccezione prevista {0}. {1}. + + + + + Cerca una stringa localizzata simile a Il metodo di test non ha generato un'eccezione. È prevista un'eccezione dall'attributo {0} definito nel metodo di test. + + + + + Cerca una stringa localizzata simile a Il metodo di test ha generato l'eccezione {0}, ma era prevista l'eccezione {1}. Messaggio dell'eccezione: {2}. + + + + + Cerca una stringa localizzata simile a Il metodo di test ha generato l'eccezione {0}, ma era prevista l'eccezione {1} o un tipo derivato da essa. Messaggio dell'eccezione: {2}. + + + + + Cerca una stringa localizzata simile a È stata generata l'eccezione {2}, ma era prevista un'eccezione {1}. {0} + Messaggio dell'eccezione: {3} + Analisi dello stack: {4}. + + + + + risultati degli unit test + + + + + Il test è stato eseguito, ma si sono verificati errori. + Gli errori possono implicare eccezioni o asserzioni non riuscite. + + + + + Il test è stato completato, ma non è possibile determinare se è stato o meno superato. + Può essere usato per test interrotti. + + + + + Il test è stato eseguito senza problemi. + + + + + Il test è attualmente in corso. + + + + + Si è verificato un errore di sistema durante il tentativo di eseguire un test. + + + + + Timeout del test. + + + + + Il test è stato interrotto dall'utente. + + + + + Il test si trova in uno stato sconosciuto + + + + + Fornisce la funzionalità di helper per il framework degli unit test + + + + + Ottiene i messaggi di eccezione in modo ricorsivo, inclusi quelli relativi a + tutte le eccezioni interne + + Eccezione per cui ottenere i messaggi + stringa con le informazioni sul messaggio di errore + + + + Enumerazione per i timeout, che può essere usata con la classe . + Il tipo dell'enumerazione deve corrispondere + + + + + Valore infinito. + + + + + Attributo della classe di test. + + + + + Ottiene un attributo di metodo di test che consente di eseguire questo test. + + Istanza di attributo del metodo di test definita in questo metodo. + Oggetto da usare per eseguire questo test. + Extensions can override this method to customize how all methods in a class are run. + + + + Attributo del metodo di test. + + + + + Esegue un metodo di test. + + Metodo di test da eseguire. + Matrice di oggetti TestResult che rappresentano il risultato o i risultati del test. + Extensions can override this method to customize running a TestMethod. + + + + Attributo di inizializzazione test. + + + + + Attributo di pulizia dei test. + + + + + Attributo ignore. + + + + + Attributo della proprietà di test. + + + + + Inizializza una nuova istanza della classe . + + + Nome. + + + Valore. + + + + + Ottiene il nome. + + + + + Ottiene il valore. + + + + + Attributo di inizializzazione classi. + + + + + Attributo di pulizia delle classi. + + + + + Attributo di inizializzazione assembly. + + + + + Attributo di pulizia degli assembly. + + + + + Proprietario del test + + + + + Inizializza una nuova istanza della classe . + + + Proprietario. + + + + + Ottiene il proprietario. + + + + + Attributo Priority; usato per specificare la priorità di uno unit test. + + + + + Inizializza una nuova istanza della classe . + + + Priorità. + + + + + Ottiene la priorità. + + + + + Descrizione del test + + + + + Inizializza una nuova istanza della classe per descrivere un test. + + Descrizione. + + + + Ottiene la descrizione di un test. + + + + + URI della struttura di progetto CSS + + + + + Inizializza una nuova istanza della classe per l'URI della struttura di progetto CSS. + + URI della struttura di progetto CSS. + + + + Ottiene l'URI della struttura di progetto CSS. + + + + + URI dell'iterazione CSS + + + + + Inizializza una nuova istanza della classe per l'URI dell'iterazione CSS. + + URI dell'iterazione CSS. + + + + Ottiene l'URI dell'iterazione CSS. + + + + + Attributo WorkItem; usato per specificare un elemento di lavoro associato a questo test. + + + + + Inizializza una nuova istanza della classe per l'attributo WorkItem. + + ID di un elemento di lavoro. + + + + Ottiene l'ID di un elemento di lavoro associato. + + + + + Attributo Timeout; usato per specificare il timeout di uno unit test. + + + + + Inizializza una nuova istanza della classe . + + + Timeout. + + + + + Inizializza una nuova istanza della classe con un timeout preimpostato + + + Timeout + + + + + Ottiene il timeout. + + + + + Oggetto TestResult da restituire all'adattatore. + + + + + Inizializza una nuova istanza della classe . + + + + + Ottiene o imposta il nome visualizzato del risultato. Utile quando vengono restituiti più risultati. + Se è Null, come nome visualizzato viene usato il nome del metodo. + + + + + Ottiene o imposta il risultato dell'esecuzione dei test. + + + + + Ottiene o imposta l'eccezione generata quando il test non viene superato. + + + + + Ottiene o imposta l'output del messaggio registrato dal codice del test. + + + + + Ottiene o imposta l'output del messaggio registrato dal codice del test. + + + + + Ottiene o imposta le tracce di debug in base al codice del test. + + + + + Gets or sets the debug traces by test code. + + + + + Ottiene o imposta la durata dell'esecuzione dei test. + + + + + Ottiene o imposta l'indice della riga di dati nell'origine dati. Impostare solo per risultati di singole + esecuzioni della riga di dati di un test basato sui dati. + + + + + Ottiene o imposta il valore restituito del metodo di test. Attualmente è sempre Null. + + + + + Ottiene o imposta i file di risultati allegati dal test. + + + + + Specifica la stringa di connessione, il nome tabella e il metodo di accesso alle righe per test basati sui dati. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nome del provider predefinito per DataSource. + + + + + Metodo predefinito di accesso ai dati. + + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con un provider di dati, la stringa di connessione, la tabella dati e il metodo di accesso ai dati per accedere all'origine dati. + + Nome del provider di dati non dipendente da paese/area geografica, ad esempio System.Data.SqlClient + + Stringa di connessione specifica del provider di dati. + AVVISO: la stringa di connessione può contenere dati sensibili, ad esempio una password. + La stringa di connessione è archiviata in formato testo normale nel codice sorgente e nell'assembly compilato. + Limitare l'accesso al codice sorgente e all'assembly per proteggere questi dati sensibili. + + Nome della tabella dati. + Specifica l'ordine per l'accesso ai dati. + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con una stringa di connessione e un nome tabella. + Specificare la stringa di connessione e la tabella dati per accedere all'origine dati OLEDB. + + + Stringa di connessione specifica del provider di dati. + AVVISO: la stringa di connessione può contenere dati sensibili, ad esempio una password. + La stringa di connessione è archiviata in formato testo normale nel codice sorgente e nell'assembly compilato. + Limitare l'accesso al codice sorgente e all'assembly per proteggere questi dati sensibili. + + Nome della tabella dati. + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con un provider di dati e la stringa di connessione associata al nome dell'impostazione. + + Nome di un'origine dati trovata nella sezione <microsoft.visualstudio.qualitytools> del file app.config. + + + + Ottiene un valore che rappresenta il provider di dati dell'origine dati. + + + Nome del provider di dati. Se non è stato designato un provider di dati durante l'inizializzazione dell'oggetto, verrà restituito il provider predefinito di System.Data.OleDb. + + + + + Ottiene un valore che rappresenta la stringa di connessione per l'origine dati. + + + + + Ottiene un valore che indica il nome della tabella che fornisce i dati. + + + + + Ottiene il metodo usato per accedere all'origine dati. + + + + Uno dei valori di . Se non è inizializzato, restituirà il valore predefinito . + + + + + Ottiene il nome di un'origine dati trovata nella sezione <microsoft.visualstudio.qualitytools> del file app.config. + + + + + Attributo per il test basato sui dati in cui è possibile specificare i dati inline. + + + + + Trova tutte le righe di dati e le esegue. + + + Metodo di test. + + + Matrice di istanze di . + + + + + Esegue il metodo di test basato sui dati. + + Metodo di test da eseguire. + Riga di dati. + Risultati dell'esecuzione. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..c863ca9 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + テスト配置ごとに配置項目 (ファイルまたはディレクトリ) を指定するために使用されます。 + テスト クラスまたはテスト メソッドで指定できます。 + 属性に複数のインスタンスを指定して、2 つ以上の項目を指定することができます。 + 項目のパスには絶対パスまたは相対パスを指定できます。相対パスの場合は、RunConfig.RelativePathRoot からの相対パスです。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + クラスの新しいインスタンスを初期化します。 + + 配置するファイルまたはディレクトリ。パスはビルドの出力ディレクトリの相対パスです。項目は配置されたテスト アセンブリと同じディレクトリにコピーされます。 + + + + クラスの新しいインスタンスを初期化する + + 配置するファイルまたはディレクトリへの相対パスまたは絶対パス。パスはビルドの出力ディレクトリの相対パスです。項目は配置されたテスト アセンブリと同じディレクトリにコピーされます。 + アイテムのコピー先のディレクトリのパス。配置ディレクトリへの絶対パスまたは相対パスのいずれかを指定できます。次で識別されるすべてのファイルとディレクトリは このディレクトリにコピーされます。 + + + + コピーするソース ファイルまたはフォルダーのパスを取得します。 + + + + + 項目のコピー先のディレクトリのパスを取得します。 + + + + + TestContext クラス。このクラスは完全に抽象的でなければならず、かつメンバー + を含んでいてはなりません。アダプターはメンバーを実装します。フレームワーク内のユーザーは + 正しく定義されたインターフェイスを介してのみこのクラスにアクセスする必要があります。 + + + + + テストのテスト プロパティを取得します。 + + + + + 現在実行中のテスト メソッドを含むクラスの完全修飾名を取得する + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + 現在実行中のテスト メソッドの名前を取得する + + + + + 現在のテスト成果を取得します。 + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..922b5b1 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 実行用の TestMethod。 + + + + + テスト メソッドの名前を取得します。 + + + + + テスト クラスの名前を取得します。 + + + + + テスト メソッドの戻り値の型を取得します。 + + + + + テスト メソッドのパラメーターを取得します。 + + + + + テスト メソッドの methodInfo を取得します。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + テスト メソッドを呼び出します。 + + + テスト メソッドに渡す引数。(データ ドリブンの場合など) + + + テスト メソッド呼び出しの結果。 + + + This call handles asynchronous test methods as well. + + + + + テスト メソッドのすべての属性を取得します。 + + + 親クラスで定義されている属性が有効かどうか。 + + + すべての属性。 + + + + + 特定の型の属性を取得します。 + + System.Attribute type. + + 親クラスで定義されている属性が有効かどうか。 + + + 指定した種類の属性。 + + + + + ヘルパー。 + + + + + null でない確認パラメーター。 + + + パラメーター。 + + + パラメーター名。 + + + メッセージ。 + + Throws argument null exception when parameter is null. + + + + null または空でない確認パラメーター。 + + + パラメーター。 + + + パラメーター名。 + + + メッセージ。 + + Throws ArgumentException when parameter is null. + + + + データ ドリブン テストのデータ行にアクセスする方法の列挙型。 + + + + + 行は順番に返されます。 + + + + + 行はランダムに返されます。 + + + + + テスト メソッドのインライン データを定義する属性。 + + + + + クラスの新しいインスタンスを初期化します。 + + データ オブジェクト。 + + + + 引数の配列を受け入れる クラスの新しいインスタンスを初期化します。 + + データ オブジェクト。 + 追加のデータ。 + + + + テスト メソッドを呼び出すデータを取得します。 + + + + + カスタマイズするために、テスト結果の表示名を取得または設定します。 + + + + + assert inconclusive 例外。 + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + InternalTestFailureException クラス。テスト ケースの内部エラーを示すために使用されます + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + クラスの新しいインスタンスを初期化します。 + + 例外メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + 例外メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + 指定した型の例外を予期するよう指定する属性 + + + + + 予期される型を指定して、 クラスの新しいインスタンスを初期化する + + 予期される例外の型 + + + + 予期される型と、テストで例外がスローされない場合に含めるメッセージとを指定して + クラスの新しいインスタンスを初期化します。 + + 予期される例外の型 + + 例外がスローされなかったことが原因でテストが失敗した場合に、テスト結果に含まれるメッセージ + + + + + 予期される例外の型を示す値を取得する + + + + + 予期される例外の型から派生した型を予期される型として使用できるかどうかを示す値を + 取得または設定する + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 単体テストでスローされる例外の型が予期される型であることを検証する + + 単体テストでスローされる例外 + + + + 単体テストからの例外を予期するように指定する属性の基底クラス + + + + + 既定の例外なしメッセージを指定して クラスの新しいインスタンスを初期化する + + + + + 例外なしメッセージを指定して クラスの新しいインスタンスを初期化します + + + 例外がスローされなかったことが原因でテストが失敗した場合に、 + テスト結果に含まれるメッセージ + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 既定の例外なしメッセージを取得する + + ExpectedException 属性の型名 + 既定の例外なしメッセージ + + + + 例外が予期されているかどうかを判断します。メソッドが戻る場合は、 + 例外が予期されていたと解釈されます。メソッドが例外をスローする場合は、 + 例外が予期されていなかったと解釈され、スローされた例外のメッセージが + テスト結果に含められます。便宜上、 クラスを使用できます。 + が使用され、アサーションが失敗すると、 + テスト成果は [結果不確定] に設定されます。 + + 単体テストでスローされる例外 + + + + AssertFailedException または AssertInconclusiveException である場合に、例外を再スローする + + アサーション例外である場合に再スローされる例外 + + + + このクラスは、ジェネリック型を使用する型の単体テストを実行するユーザーを支援するように設計されています。 + GenericParameterHelper は、次のようないくつかの共通ジェネリック型制約を + 満たしています: + 1. パブリックの既定のコンストラクター + 2. 共通インターフェイスを実装します: IComparable、IEnumerable + + + + + C# ジェネリックの 'newable' 制約を満たす + クラスの新しいインスタンスを初期化します。 + + + This constructor initializes the Data property to a random value. + + + + + Data プロパティをユーザー指定の値に初期化する クラスの + 新しいインスタンスを初期化します。 + + 任意の整数値 + + + + データを取得または設定する + + + + + 2 つの GenericParameterHelper オブジェクトの値の比較を実行する + + 次との比較を実行するオブジェクト + オブジェクトの値が 'this' GenericParameterHelper オブジェクトと同じ値である場合は true。 + それ以外の場合は、false。 + + + + このオブジェクトのハッシュコードを返します。 + + ハッシュ コード。 + + + + 2 つの オブジェクトのデータを比較します。 + + 比較対象のオブジェクト。 + + このインスタンスと値の相対値を示す符号付きの数値。 + + + Thrown when the object passed in is not an instance of . + + + + + 長さが Data プロパティから派生している IEnumerator オブジェクト + を返します。 + + IEnumerator オブジェクト + + + + 現在のオブジェクトに相当する GenericParameterHelper + オブジェクトを返します。 + + 複製されたオブジェクト。 + + + + ユーザーが診断用に単体テストからトレースをログ記録/書き込みできるようにします。 + + + + + LogMessage のハンドラー。 + + ログに記録するメッセージ。 + + + + リッスンするイベント。単体テスト ライターがメッセージを書き込むときに発生します。 + 主にアダプターによって消費されます。 + + + + + テスト ライターがメッセージをログ記録するために呼び出す API。 + + プレースホルダーを含む文字列形式。 + プレースホルダーのパラメーター。 + + + + TestCategory 属性。単体テストのカテゴリを指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化し、カテゴリをテストに適用します。 + + + テスト カテゴリ。 + + + + + テストに適用されているテスト カテゴリを取得します。 + + + + + "Category" 属性の基底クラス + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + クラスの新しいインスタンスを初期化します。 + カテゴリをテストに適用します。TestCategories で返される文字列は + テストをフィルター処理する /category コマンドで使用されます + + + + + テストに適用されているテスト カテゴリを取得します。 + + + + + AssertFailedException クラス。テスト ケースのエラーを示すために使用されます + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + 単体テスト内のさまざまな条件をテストするヘルパー クラスの + コレクション。テスト対象の条件を満たしていない場合は、 + 例外がスローされます。 + + + + + Assert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + Thrown if is false. + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + false の場合。メッセージはテスト結果に表示されます。 + + + Thrown if is false. + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + false の場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is false. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + Thrown if is true. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + true の場合。メッセージはテスト結果に表示されます。 + + + Thrown if is true. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + true の場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is true. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null でない場合。メッセージはテスト結果に表示されます。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null でない場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + Thrown if is null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null である場合。メッセージはテスト結果に表示されます。 + + + Thrown if is null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null である場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is null. + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + Thrown if does not refer to the same object + as . + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not refer to the same object + as . + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not refer to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + Thrown if refers to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + と同じである場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if refers to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + と同じである場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if refers to the same object + as . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + Thrown if is not equal to . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + Thrown if is equal to . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + Thrown if is not equal to + . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスである場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスである場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + AssertFailedException をスローします。 + + + Always thrown. + + + + + AssertFailedException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Always thrown. + + + + + AssertFailedException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Always thrown. + + + + + 静的な Equals オーバーロードは、2 つの型のインスタンスを比較して参照の等価性を調べる + ために使用されます。2 つのインスタンスを比較して等価性を調べるためにこのメソッドを使用 + することはできません。このオブジェクトは常に Assert.Fail を使用してスロー + します。単体テストでは、Assert.AreEqual および関連するオーバーロードをご使用ください。 + + オブジェクト A + オブジェクト B + 常に false。 + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に AssertFailedException をスローするかどうかをテストします。 + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + 次の場合に、例外に含まれるメッセージ + 以下の型の例外をスローしない場合。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に AssertFailedException をスローするかどうかをテストします。 + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + 次の場合に、例外に含まれるメッセージ + 以下の型の例外をスローしない場合。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + null 文字 ('\0') を "\\0" に置き換えます。 + + + 検索する文字列。 + + + "\\0" で置き換えられた null 文字を含む変換された文字列。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException を作成して、スローするヘルパー関数 + + + 例外をスローするアサーションの名前 + + + アサーション エラーの条件を記述するメッセージ + + + パラメーター。 + + + + + 有効な条件であるかパラメーターを確認します + + + パラメーター。 + + + アサーション名。 + + + パラメーター名 + + + 無効なパラメーター例外のメッセージ + + + パラメーター。 + + + + + 安全にオブジェクトを文字列に変換し、null 値と null 文字を処理します。 + null 値は "(null)" に変換されます。null 文字は "\\0" に変換されます。 + + + 文字列に変換するオブジェクト。 + + + 変換された文字列。 + + + + + 文字列のアサート。 + + + + + CollectionAssert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + Thrown if is not found in + . + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not found in + . + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not found in + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 先頭が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 先頭が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + Thrown if does not end with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 末尾が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not end with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 末尾が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not end with + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致しない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致しない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + Thrown if matches . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致する場合 。メッセージはテスト結果に + 表示されます。 + + + Thrown if matches . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致する場合 。メッセージはテスト結果に + 表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if matches . + + + + + 単体テスト内のコレクションと関連付けられている + さまざまな条件をテストするヘルパー クラスのコレクション。テスト対象の条件を満たしていない場合は、 + 例外がスローされます。 + + + + + CollectionAssert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + Thrown if is found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + が次にある場合 。メッセージはテスト結果に + 表示されます。 + + + Thrown if is found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + が次にある場合 。メッセージはテスト結果に + 表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is found in + . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + null 要素を含む場合。メッセージはテスト結果に表示されます。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + null 要素を含む場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + Thrown if a two or more equal elements are found in + . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + 少なくとも 1 つの重複する要素が含まれています。メッセージは + テスト結果に表示されます。 + + + Thrown if a two or more equal elements are found in + . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + 少なくとも 1 つの重複する要素が含まれています。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if a two or more equal elements are found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次に見つからない場合 . + メッセージはテスト結果に表示されます。 + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次に見つからない場合 . + メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + Thrown if every element in is also found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + 次にあるすべての要素が次である場合に、例外に含まれるメッセージ + 次にもある場合 . + メッセージはテスト結果に表示されます。 + + + Thrown if every element in is also found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + 次にあるすべての要素が次である場合に、例外に含まれるメッセージ + 次にもある場合 . + メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if every element in is also found in + . + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 要素が 2 つのコレクションのどちらかのみに見つかった場合に + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 要素が 2 つのコレクションのどちらかのみに見つかった場合に + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じ要素を含む場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じ要素を含む場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 最初のコレクションが 2 番目のコレクションのサブセットであるかどうかを + 決定します。いずれかのセットに重複する要素が含まれている場合は、 + サブセット内の要素の出現回数は + スーパーセット内の出現回数以下である必要があります。 + + + テストで次に含まれると予期されるコレクション 。 + + + テストで次を含むと予期されるコレクション 。 + + + 次の場合は true 次のサブセットの場合 + 、それ以外の場合は false。 + + + + + 指定したコレクションの各要素の出現回数を含む + 辞書を構築します。 + + + 処理するコレクション。 + + + コレクション内の null 要素の数。 + + + 指定したコレクション内の各要素の + 出現回数を含むディレクトリ。 + + + + + 2 つのコレクション間で一致しない要素を検索します。 + 一致しない要素とは、予期されるコレクションでの出現回数が + 実際のコレクションでの出現回数と異なる要素のことです。 + コレクションは、同じ数の要素を持つ、null ではない + さまざまな参照と見なされます。このレベルの検証を行う責任は + 呼び出し側にあります。一致しない要素がない場合、 + 関数は false を返し、out パラメーターは使用されません。 + + + 比較する最初のコレクション。 + + + 比較する 2 番目のコレクション。 + + + 次の予期される発生回数 + または一致しない要素がない場合は + 0 です。 + + + 次の実際の発生回数 + または一致しない要素がない場合は + 0 です。 + + + 一致しない要素 (null の場合があります)、または一致しない要素がない場合は + null です。 + + + 一致しない要素が見つかった場合は true、それ以外の場合は false。 + + + + + object.Equals を使用してオブジェクトを比較する + + + + + フレームワーク例外の基底クラス。 + + + + + クラスの新しいインスタンスを初期化します。 + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラス。 + + + + + このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。 + + + + + 厳密に型指定されたこのリソース クラスを使用して、現在のスレッドの + CurrentUICulture プロパティをすべてのリソース ルックアップで無視します。 + + + + + "アクセス文字列は無効な構文を含んでいます。" に類似したローカライズされた文字列を検索します。 + + + + + "予期されたコレクションでは、<{2}> が {1} 回発生します。実際のコレクションでは、{3} 回発生します。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "重複する項目が見つかりました:<{1}>。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> が必要です。実際の値: <{2}> では大文字と小文字が異なります。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "指定する値 <{1}> と実際の値 <{2}> との間には <{3}> 以内の差が必要です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1} ({2})> が必要ですが、<{3} ({4})> が指定されました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> が必要ですが、<{2}> が指定されました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "指定する値 <{1}> と実際の値 <{2}> との間には <{3}> を超える差が必要です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> 以外の任意の値が必要ですが、<{2}> が指定されています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "AreSame() に値型を渡すことはできません。オブジェクトに変換された値は同じになりません。AreEqual() を使用することを検討してください。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "{0} に失敗しました。{1}" に類似したローカライズされた文字列を検索します。 + + + + + "UITestMethodAttribute が指定された非同期の TestMethod はサポートされていません。非同期を削除するか、TestMethodAttribute を使用してください。" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが空です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが同じ要素を含んでいます。" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションの参照が、同じコレクション オブジェクトにポイントしています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが同じ要素を含んでいます。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "{0}({1})" に類似したローカライズされた文字列を検索します。 + + + + + "(null)" に類似したローカライズされた文字列を検索します。 + + + + + Looks up a localized string similar to (object). + + + + + "文字列 '{0}' は文字列 '{1}' を含んでいません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "{0} ({1})" に類似したローカライズされた文字列を検索します。 + + + + + "アサーションには Assert.Equals を使用せずに、Assert.AreEqual とオーバーロードを使用してください。" に類似したローカライズされた文字列を検索します。 + + + + + "コレクション内の要素数が一致しません。<{1}> が必要ですが <{2}> が指定されています。{0}。" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {0} の要素が一致しません。" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {1} の要素は、必要な型ではありません。<{2}> が必要ですが、<{3}> が指定されています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {1} の要素は null です。必要な型:<{2}>。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' は文字列 '{1}' で終わりません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "無効な引数 - EqualsTester は null を使用することはできません。" に類似したローカライズされた文字列を検索します。 + + + + + "型 {0} のオブジェクトを {1} に変換できません。" に類似したローカライズされた文字列を検索します。 + + + + + "参照された内部オブジェクトは、現在有効ではありません。" に類似したローカライズされた文字列を検索します。 + + + + + "パラメーター '{0}' は無効です。{1}。" に類似したローカライズされた文字列を検索します。 + + + + + "プロパティ {0} は型 {1} を含んでいますが、型 {2} が必要です。" に類似したローカライズされた文字列を検索します。 + + + + + "{0} には型 <{1}> が必要ですが、型 <{2}> が指定されました。" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' は、パターン '{1}' と一致しません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "正しくない型は <{1}> であり、実際の型は <{2}> です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' はパターン '{1}' と一致します。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "DataRowAttribute が指定されていません。DataTestMethodAttribute では少なくとも 1 つの DataRowAttribute が必要です。" に類似したローカライズされた文字列を検索します。 + + + + + "例外がスローされませんでした。{1} の例外が予期されていました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "パラメーター '{0}' は無効です。値を null にすることはできません。{1}。" に類似したローカライズされた文字列を検索します。 + + + + + "要素数が異なります。" に類似したローカライズされた文字列を検索します。 + + + + + "指定されたシグネチャを使用するコンストラクターが見つかりませんでした。 + プライベート アクセサーを再生成しなければならないか、 + またはメンバーがプライベートであり、基底クラスで定義されている可能性があります。後者である場合、メンバーを + PrivateObject のコンストラクターに定義する型を渡す必要があります。" に類似したローカライズされた文字列を検索します。 + + + + + + "指定されたメンバー ({0}) が見つかりませんでした。プライベート アクセサーを再生成しなければならないか、 + またはメンバーがプライベートであり、基底クラスで定義されている可能性があります。後者である場合、メンバーを + 定義する型を PrivateObject のコンストラクターに渡す必要があります。" + に類似したローカライズされた文字列を検索します。 + + + + + + "文字列 '{0}' は文字列 '{1}' で始まりません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "予期される例外の型は System.Exception または System.Exception の派生型である必要があります。" に類似したローカライズされた文字列を検索します。 + + + + + "(例外が発生したため、型 {0} の例外のメッセージを取得できませんでした。)" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは予期された例外 {0} をスローしませんでした。{1}" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは例外をスローしませんでした。テスト メソッドで定義されている属性 {0} で例外が予期されていました。" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは、例外 {0} をスローしましたが、例外 {1} が予期されていました。例外メッセージ: {2}" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは、例外 {0} をスローしましたが、例外 {1} またはその派生型が予期されていました。例外メッセージ: {2}" に類似したローカライズされた文字列を検索します。 + + + + + "例外 {2} がスローされましたが、例外 {1} が予期されていました。{0} + 例外メッセージ: {3} + スタック トレース: {4}" に類似したローカライズされた文字列を検索します。 + + + + + 単体テストの成果 + + + + + テストを実行しましたが、問題が発生しました。 + 問題には例外または失敗したアサーションが関係している可能性があります。 + + + + + テストが完了しましたが、成功したか失敗したかは不明です。 + 中止したテストに使用される場合があります。 + + + + + 問題なくテストが実行されました。 + + + + + 現在テストを実行しています。 + + + + + テストを実行しようとしているときにシステム エラーが発生しました。 + + + + + テストがタイムアウトしました。 + + + + + ユーザーによってテストが中止されました。 + + + + + テストは不明な状態です + + + + + 単体テストのフレームワークのヘルパー機能を提供する + + + + + すべての内部例外のメッセージなど、例外メッセージを + 再帰的に取得します + + 次のメッセージを取得する例外 + エラー メッセージ情報を含む文字列 + + + + クラスで使用できるタイムアウトの列挙型。 + 列挙型の型は一致している必要があります + + + + + 無限。 + + + + + テスト クラス属性。 + + + + + このテストの実行を可能するテスト メソッド属性を取得します。 + + このメソッドで定義されているテスト メソッド属性インスタンス。 + The 。このテストを実行するために使用されます。 + Extensions can override this method to customize how all methods in a class are run. + + + + テスト メソッド属性。 + + + + + テスト メソッドを実行します。 + + 実行するテスト メソッド。 + テストの結果を表す TestResult オブジェクトの配列。 + Extensions can override this method to customize running a TestMethod. + + + + テスト初期化属性。 + + + + + テスト クリーンアップ属性。 + + + + + Ignore 属性。 + + + + + テストのプロパティ属性。 + + + + + クラスの新しいインスタンスを初期化します。 + + + 名前。 + + + 値。 + + + + + 名前を取得します。 + + + + + 値を取得します。 + + + + + クラス初期化属性。 + + + + + クラス クリーンアップ属性。 + + + + + アセンブリ初期化属性。 + + + + + アセンブリ クリーンアップ属性。 + + + + + テストの所有者 + + + + + クラスの新しいインスタンスを初期化します。 + + + 所有者。 + + + + + 所有者を取得します。 + + + + + 優先順位属性。単体テストの優先順位を指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化します。 + + + 優先順位。 + + + + + 優先順位を取得します。 + + + + + テストの説明 + + + + + テストを記述する クラスの新しいインスタンスを初期化します。 + + 説明。 + + + + テストの説明を取得します。 + + + + + CSS プロジェクト構造の URI + + + + + CSS プロジェクト構造の URI の クラスの新しいインスタンスを初期化します。 + + CSS プロジェクト構造の URI。 + + + + CSS プロジェクト構造の URI を取得します。 + + + + + CSS イテレーション URI + + + + + CSS イテレーション URI の クラスの新しいインスタンスを初期化します。 + + CSS イテレーション URI。 + + + + CSS イテレーション URI を取得します。 + + + + + WorkItem 属性。このテストに関連付けられている作業項目の指定に使用されます。 + + + + + WorkItem 属性の クラスの新しいインスタンスを初期化します。 + + 作業項目に対する ID。 + + + + 関連付けられている作業項目に対する ID を取得します。 + + + + + タイムアウト属性。単体テストのタイムアウトを指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化します。 + + + タイムアウト。 + + + + + 事前設定するタイムアウトを指定して クラスの新しいインスタンスを初期化する + + + タイムアウト + + + + + タイムアウトを取得します。 + + + + + アダプターに返される TestResult オブジェクト。 + + + + + クラスの新しいインスタンスを初期化します。 + + + + + 結果の表示名を取得または設定します。複数の結果が返される場合に便利です。 + null の場合は、メソッド名が DisplayName として使用されます。 + + + + + テスト実行の成果を取得または設定します。 + + + + + テストが失敗した場合にスローされる例外を取得または設定します。 + + + + + テスト コードでログに記録されたメッセージの出力を取得または設定します。 + + + + + テスト コードでログに記録されたメッセージの出力を取得または設定します。 + + + + + テスト コードでデバッグ トレースを取得または設定します。 + + + + + Gets or sets the debug traces by test code. + + + + + テスト実行の期間を取得または設定します。 + + + + + データ ソース内のデータ行インデックスを取得または設定します。データ ドリブン テストの一続きのデータ行の + それぞれの結果に対してのみ設定されます。 + + + + + テスト メソッドの戻り値を取得または設定します。(現在は、常に null です)。 + + + + + テストで添付された結果ファイルを取得または設定します。 + + + + + データ ドリブン テストの接続文字列、テーブル名、行アクセス方法を指定します。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource の既定のプロバイダー名。 + + + + + 既定のデータ アクセス方法。 + + + + + クラスの新しいインスタンスを初期化します。このインスタンスは、データ ソースにアクセスするためのデータ プロバイダー、接続文字列、データ テーブル、データ アクセス方法を指定して初期化されます。 + + System.Data.SqlClient などデータ プロバイダーの不変名 + + データ プロバイダー固有の接続文字列。 + 警告: 接続文字列には機微なデータ (パスワードなど) を含めることができます。 + 接続文字列はソース コードのプレーンテキストとコンパイルされたアセンブリに保存されます。 + ソース コードとアセンブリへのアクセスを制限して、この秘匿性の高い情報を保護します。 + + データ テーブルの名前。 + データにアクセスする順番をしています。 + + + + クラスの新しいインスタンスを初期化します。このインスタンスは接続文字列とテーブル名を指定して初期化されます。 + OLEDB データ ソースにアクセスするには接続文字列とデータ テーブルを指定します。 + + + データ プロバイダー固有の接続文字列。 + 警告: 接続文字列には機微なデータ (パスワードなど) を含めることができます。 + 接続文字列はソース コードのプレーンテキストとコンパイルされたアセンブリに保存されます。 + ソース コードとアセンブリへのアクセスを制限して、この秘匿性の高い情報を保護します。 + + データ テーブルの名前。 + + + + クラスの新しいインスタンスを初期化します。このインスタンスは設定名に関連付けられているデータ プロバイダーと接続文字列を使用して初期化されます。 + + app.config ファイルの <microsoft.visualstudio.qualitytools> セクションにあるデータ ソースの名前。 + + + + データ ソースのデータ プロバイダーを表す値を取得します。 + + + データ プロバイダー名。データ プロバイダーがオブジェクトの初期化時に指定されていなかった場合は、System.Data.OleDb の既定のプロバイダーが返されます。 + + + + + データ ソースの接続文字列を表す値を取得します。 + + + + + データを提供するテーブル名を示す値を取得します。 + + + + + データ ソースへのアクセスに使用するメソッドを取得します。 + + + + 次のいずれか 値。以下の場合 初期化されていない場合は、これは既定値を返します 。 + + + + + app.config ファイルの <microsoft.visualstudio.qualitytools> セクションで見つかるデータ ソースの名前を取得します。 + + + + + データをインラインで指定できるデータ ドリブン テストの属性。 + + + + + すべてのデータ行を検索して、実行します。 + + + テスト メソッド。 + + + 次の配列 。 + + + + + データ ドリブン テスト メソッドを実行します。 + + 実行するテスト メソッド。 + データ行. + 実行の結果。 + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..8099563 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 테스트 배포별 배포 항목(파일 또는 디렉터리)을 지정하는 데 사용됩니다. + 테스트 클래스 또는 테스트 메서드에서 지정할 수 있습니다. + 둘 이상의 항목을 지정하기 위한 여러 특성 인스턴스를 가질 수 있습니다. + 항목 경로는 절대 또는 상대 경로일 수 있으며, 상대 경로인 경우 RunConfig.RelativePathRoot가 기준입니다. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 배포할 파일 또는 디렉터리. 경로는 빌드 출력 디렉터리에 대해 상대적입니다. 배포된 테스트 어셈블리와 동일한 디렉터리에 항목이 복사됩니다. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 배포할 파일 또는 디렉터리에 대한 상대 또는 절대 경로. 경로는 빌드 출력 디렉터리에 대해 상대적입니다. 배포된 테스트 어셈블리와 동일한 디렉터리에 항목이 복사됩니다. + 항목을 복사할 디렉터리의 경로. 배포 디렉터리에 대한 절대 경로 또는 상대 경로일 수 있습니다.에 의해 식별되는 모든 파일 및 디렉터리는 이 디렉터리에 복사됩니다. + + + + 복사할 소스 파일 또는 폴더의 경로를 가져옵니다. + + + + + 항목을 복사할 디렉터리의 경로를 가져옵니다. + + + + + TestContext 클래스. 이 클래스는 완전히 추상 클래스여야 하며 멤버를 포함할 + 수 없습니다. 어댑터는 멤버를 구현합니다. 프레임워크의 사용자는 + 잘 정의된 인터페이스를 통해서만 여기에 액세스할 수 있습니다. + + + + + 테스트에 대한 테스트 속성을 가져옵니다. + + + + + 현재 실행 중인 테스트 메서드를 포함하는 클래스의 정규화된 이름을 가져옵니다 + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + 현재 실행 중인 테스트 메서드의 이름을 가져옵니다. + + + + + 현재 테스트 결과를 가져옵니다. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..22e769a --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 실행을 위한 TestMethod입니다. + + + + + 테스트 메서드의 이름을 가져옵니다. + + + + + 테스트 클래스의 이름을 가져옵니다. + + + + + 테스트 메서드의 반환 형식을 가져옵니다. + + + + + 테스트 메서드의 매개 변수를 가져옵니다. + + + + + 테스트 메서드에 대한 methodInfo를 가져옵니다. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 테스트 메서드를 호출합니다. + + + 테스트 메서드에 전달할 인수(예: 데이터 기반의 경우) + + + 테스트 메서드 호출의 결과. + + + This call handles asynchronous test methods as well. + + + + + 테스트 메서드의 모든 특성을 가져옵니다. + + + 부모 클래스에 정의된 특성이 올바른지 여부입니다. + + + 모든 특성. + + + + + 특정 형식의 특성을 가져옵니다. + + System.Attribute type. + + 부모 클래스에 정의된 특성이 올바른지 여부입니다. + + + 지정한 형식의 특성입니다. + + + + + 도우미입니다. + + + + + 검사 매개 변수가 Null이 아닙니다. + + + 매개 변수. + + + 매개 변수 이름. + + + 메시지. + + Throws argument null exception when parameter is null. + + + + 검사 매개 변수가 Null이 아니거나 비어 있습니다. + + + 매개 변수. + + + 매개 변수 이름. + + + 메시지. + + Throws ArgumentException when parameter is null. + + + + 데이터 기반 테스트에서 데이터 행에 액세스하는 방법에 대한 열거형입니다. + + + + + 행이 순차적인 순서로 반환됩니다. + + + + + 행이 임의의 순서로 반환됩니다. + + + + + 테스트 메서드에 대한 인라인 데이터를 정의하는 특성입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 데이터 개체. + + + + 인수 배열을 사용하는 클래스의 새 인스턴스를 초기화합니다. + + 데이터 개체. + 추가 데이터. + + + + 테스트 메서드 호출을 위한 데이터를 가져옵니다. + + + + + 사용자 지정을 위한 테스트 결과에서 표시 이름을 가져오거나 설정합니다. + + + + + 어설션 불확실 예외입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + InternalTestFailureException 클래스. 테스트 사례에 대한 내부 실패를 나타내는 데 사용됩니다. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 예외 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 예외 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 지정된 형식의 예외를 예상하도록 지정하는 특성 + + + + + 예상 형식이 있는 클래스의 새 인스턴스를 초기화합니다. + + 예상되는 예외의 형식 + + + + 테스트에서 예외를 throw하지 않을 때 포함할 메시지 및 예상 형식이 있는 클래스의 + 새 인스턴스를 초기화합니다. + + 예상되는 예외의 형식 + + 예외를 throw하지 않아 테스트가 실패할 경우 테스트 결과에 포함할 메시지 + + + + + 예상되는 예외의 형식을 나타내는 값을 가져옵니다. + + + + + 예상 예외의 형식에서 파생된 형식이 예상대로 자격을 얻도록 허용할지 여부를 나타내는 값을 가져오거나 + 설정합니다. + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 단위 테스트에 의해 throw되는 예외의 형식이 예상되는지를 확인합니다. + + 단위 테스트에서 throw한 예외 + + + + 단위 테스트에서 예외를 예상하도록 지정하는 특성에 대한 기본 클래스 + + + + + 기본 예외 없음 메시지가 있는 클래스의 새 인스턴스를 초기화합니다. + + + + + 예외 없음 메시지가 있는 클래스의 새 인스턴스를 초기화합니다. + + + 예외를 throw하지 않아서 테스트가 실패할 경우 테스트 결과에 포함할 + 메시지 + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 기본 예외 없음 메시지를 가져옵니다. + + ExpectedException 특성 형식 이름 + 기본 예외 없음 메시지 + + + + 예외가 예상되는지 여부를 확인합니다. 메서드가 반환되면 예외가 + 예상되는 것으로 이해됩니다. 메서드가 예외를 throw하면 예외가 + 예상되지 않는 것으로 이해되고, throw된 예외의 메시지가 + 테스트 결과에 포함됩니다. 클래스는 편의를 위해 사용될 수 + 있습니다. 이(가) 사용되는 경우 어설션에 실패하며, + 테스트 결과가 [결과 불충분]으로 설정됩니다. + + 단위 테스트에서 throw한 예외 + + + + AssertFailedException 또는 AssertInconclusiveException인 경우 예외를 다시 throw합니다. + + 어설션 예외인 경우 예외를 다시 throw + + + + 이 클래스는 제네릭 형식을 사용하는 형식에 대한 사용자의 유닛 테스트를 지원하도록 설계되었습니다. + GenericParameterHelper는 몇 가지 공통된 제네릭 형식 제약 조건을 충족합니다. + 예: + 1. public 기본 생성자 + 2. 공통 인터페이스 구현: IComparable, IEnumerable + + + + + C# 제네릭의 '새로 입력할 수 있는' 제약 조건을 충족하는 클래스의 + 새 인스턴스를 초기화합니다. + + + This constructor initializes the Data property to a random value. + + + + + 데이터 속성을 사용자가 제공한 값으로 초기화하는 클래스의 + 새 인스턴스를 초기화합니다. + + 임의의 정수 값 + + + + 데이터를 가져오거나 설정합니다. + + + + + 두 GenericParameterHelper 개체의 값을 비교합니다. + + 비교할 개체 + 개체의 값이 '이' GenericParameterHelper 개체와 동일한 경우에는 true이고, + 동일하지 않은 경우에는 false입니다. + + + + 이 개체의 해시 코드를 반환합니다. + + 해시 코드입니다. + + + + 두 개체의 데이터를 비교합니다. + + 비교할 개체입니다. + + 이 인스턴스 및 값의 상대 값을 나타내는 부호 있는 숫자입니다. + + + Thrown when the object passed in is not an instance of . + + + + + 길이가 데이터 속성에서 파생된 IEnumerator 개체를 + 반환합니다. + + IEnumerator 개체 + + + + 현재 개체와 동일한 GenericParameterHelper 개체를 + 반환합니다. + + 복제된 개체입니다. + + + + 사용자가 진단을 위해 단위 테스트에서 추적을 로그하거나 쓸 수 있습니다. + + + + + LogMessage용 처리기입니다. + + 로깅할 메시지. + + + + 수신할 이벤트입니다. 단위 테스트 기록기에서 메시지를 기록할 때 발생합니다. + 주로 어댑터에서 사용합니다. + + + + + 메시지를 로그하기 위해 테스트 작성자가 호출하는 API입니다. + + 자리 표시자가 있는 문자열 형식. + 자리 표시자에 대한 매개 변수. + + + + TestCategory 특성 - 단위 테스트의 범주 지정에 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화하고 범주를 테스트에 적용합니다. + + + 테스트 범주. + + + + + 테스트에 적용된 테스트 범주를 가져옵니다. + + + + + "Category" 특성을 위한 기본 클래스 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 클래스의 새 인스턴스를 초기화합니다. + 범주를 테스트에 적용합니다. TestCategories에 의해 반환된 문자열은 + 테스트 필터링을 위한 /category 명령과 함께 사용됩니다. + + + + + 테스트에 적용된 테스트 범주를 가져옵니다. + + + + + AssertFailedException 클래스 - 테스트 사례에 대한 실패를 나타내는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 단위 테스트 내에서 다양한 조건을 테스트하기 위한 도우미 + 클래스의 컬렉션입니다. 테스트 중인 조건이 충족되지 않으면 예외가 + throw됩니다. + + + + + Assert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + Thrown if is false. + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 거짓인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is false. + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 거짓인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is false. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + Thrown if is true. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 참인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is true. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 참인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is true. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + Thrown if is not null. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null이 아닌 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not null. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null이 아닌 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + Thrown if is null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is null. + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if does not refer to the same object + as . + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if does not refer to the same object + as . + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not refer to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if refers to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if refers to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if refers to the same object + as . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if is not equal to . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if is equal to . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + Thrown if is not equal to + . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + Thrown if is equal to . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + Thrown if is not equal to + . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + Thrown if is equal to . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + Thrown if is not equal to + . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + Thrown if is equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스가 아닌 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스가 아닌 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스인 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스인 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + AssertFailedException을 throw합니다. + + + Always thrown. + + + + + AssertFailedException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Always thrown. + + + + + AssertFailedException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Always thrown. + + + + + 참조 같음에 대해 두 형식의 인스턴스를 비교하는 데 정적 equals 오버로드가 + 사용됩니다. 이 메서드는 같음에 대해 두 인스턴스를 비교하는 데 사용되지 않습니다. + 이 개체는 항상 Assert.Fail과 함께 throw됩니다. 단위 테스트에서 + Assert.AreEqual 및 관련 오버로드를 사용하세요. + + 개체 A + 개체 B + 항상 False. + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 AssertFailedException을 throw합니다. + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 AssertFailedException을 throw합니다. + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우: . + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + Null 문자('\0')를 "\\0"으로 바꿉니다. + + + 검색할 문자열. + + + Null 문자가 "\\0"으로 교체된 변환된 문자열. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException을 만들고 throw하는 도우미 함수 + + + 예외를 throw하는 어설션의 이름 + + + 어설션 실패에 대한 조건을 설명하는 메시지 + + + 매개 변수. + + + + + 유효한 조건의 매개 변수를 확인합니다. + + + 매개 변수. + + + 어셜선 이름. + + + 매개 변수 이름 + + + 잘못된 매개 변수 예외에 대한 메시지 + + + 매개 변수. + + + + + 개체를 문자열로 안전하게 변환하고, Null 값 및 Null 문자를 처리합니다. + Null 값은 "(null)"로 변환됩니다. Null 문자는 "\\0"으로 변환됩니다. + + + 문자열로 변환될 개체. + + + 변환된 문자열. + + + + + 문자열 어셜션입니다. + + + + + CollectionAssert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + Thrown if is not found in + . + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not found in + . + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not found in + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 시작되지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 시작되지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + Thrown if does not end with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 끝나지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if does not end with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 끝나지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not end with + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하지 않는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하지 않는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + Thrown if matches . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하는 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if matches . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하는 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if matches . + + + + + 단위 테스트 내에서 컬렉션과 연결된 다양한 조건을 테스트하기 + 위한 도우미 클래스의 컬렉션. 테스트 중인 조건이 충족되지 않으면 + 예외가 throw됩니다. + + + + + CollectionAssert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + Thrown if is found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 포함된 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if is found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 포함된 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is found in + . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null 요소를 포함하는 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null 요소를 포함하는 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + Thrown if a two or more equal elements are found in + . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 하나 이상의 중복 요소를 포함하는 경우. 메시지는 테스트 결과에 + 표시됩니다. + + + Thrown if a two or more equal elements are found in + . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 하나 이상의 중복 요소를 포함하는 경우. 메시지는 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if a two or more equal elements are found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + + 의 요소가 다음에서 발견되지 않는 경우 예외에 포함할 메시지입니다.. + 테스트 결과에 메시지가 표시됩니다. + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + + 의 모든 요소가 다음에서 발견되지 않는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + Thrown if every element in is also found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + + 의 모든 요소가 다음에서도 발견되는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + Thrown if every element in is also found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + + 의 모든 요소가 다음에서도 발견되는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if every element in is also found in + . + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 요소가 컬렉션 중 하나에서는 발견되었지만 다른 곳에서는 발견되지 + 않은 경우 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 요소가 컬렉션 중 하나에서는 발견되었지만 다른 곳에서는 발견되지 + 않은 경우 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 요소를 포함하는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 요소를 포함하는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + + 의 요소가 다음의 인스턴스가 아닌 경우 예외에 포함할 메시지: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + + 의 요소가 다음의 인스턴스가 아닌 경우 예외에 포함할 메시지: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 첫 번째 컬렉션이 두 번째 컬렉션의 하위 집합인지를 + 확인합니다. 한 집합에 중복된 요소가 포함된 경우, 하위 집합에 있는 요소의 + 발생 횟수는 상위 집합에 있는 발생 횟수와 같거나 + 작아야 합니다. + + + 테스트가 다음에 포함될 것으로 예상하는 컬렉션: . + + + 테스트가 다음을 포함할 것으로 예상하는 컬렉션: . + + + 다음의 경우 True 이(가) + 의 하위 집합인 경우 참, 나머지 경우는 거짓. + + + + + 지정된 컬렉션에서 각 요소의 발생 횟수를 포함하는 + 사전을 생성합니다. + + + 처리할 컬렉션. + + + 컬렉션에 있는 null 요소의 수. + + + 지정된 컬렉션에 있는 각 요소의 발생 횟수를 포함하는 + 딕셔너리. + + + + + 두 컬렉션 간의 불일치 요소를 찾습니다. 불일치 요소란 + 예상 컬렉션에 나타나는 횟수가 실제 컬렉션에 + 나타나는 횟수와 다른 요소를 말합니다. 컬렉션은 + 같은 수의 요소가 있는 Null이 아닌 다른 참조로 + 간주됩니다. 이 수준에서의 확인 작업은 호출자의 + 책임입니다. 불일치 요소가 없으면 함수는 false를 + 반환하고 출력 매개 변수가 사용되지 않습니다. + + + 비교할 첫 번째 컬렉션. + + + 비교할 두 번째 컬렉션. + + + 다음의 예상 발생 횟수: + 또는 불일치 요소가 없는 경우 + 영(0). + + + 다음의 실제 발생 횟수: + 또는 불일치 요소가 없는 경우 + 영(0). + + + 불일치 요소(null일 수 있음) 또는 불일치 요소가 없는 경우 + null. + + + 불일치 요소가 발견되면 참, 발견되지 않으면 거짓. + + + + + object.Equals를 사용하여 개체 비교합니다. + + + + + 프레임워크 예외에 대한 기본 클래스입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다. + + + + + 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다. + + + + + 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 + 대한 현재 스레드의 CurrentUICulture 속성을 재정의합니다. + + + + + [액세스 문자열의 구문이 잘못되었습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 컬렉션에 <{2}>은(는) {1}개가 포함되어야 하는데 실제 컬렉션에는 {3}개가 포함되어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [중복된 항목이 있습니다. <{1}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>. 대/소문자가 다른 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값 <{1}>과(와) 실제 값 <{2}>의 차이가 <{3}>보다 크지 않아야 합니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}({2})>. 실제 값: <{3}({4})>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>. 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값 <{1}>과(와) 실제 값 <{2}>의 차이가 <{3}>보다 커야 합니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>을(를) 제외한 모든 값. 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [AreSame()에 값 형식을 전달하면 안 됩니다. Object로 변환된 값은 동일한 값으로 간주되지 않습니다. AreEqual()을 사용해 보세요. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}이(가) 실패했습니다. {1}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [async TestMethod with UITestMethodAttribute는 지원되지 않습니다. async를 제거하거나 TestMethodAttribute를 사용하세요.]와 유사한 지역화된 문자열 조회합니다. + + + + + [두 컬렉션이 모두 비어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션에 같은 요소가 포함되어 있습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션 참조가 동일한 컬렉션 개체를 가리킵니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션에 같은 요소가 포함되어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}({1})]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [(null)]과 유사한 지역화된 문자열을 조회합니다. + + + + + Looks up a localized string similar to (object). + + + + + ['{0}' 문자열이 '{1}' 문자열을 포함하지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}({1})]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [어설션에 Assert.Equals를 사용할 수 없습니다. 대신 Assert.AreEqual 및 오버로드를 사용하세요.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [컬렉션의 요소 수가 일치하지 않습니다. 예상 값: <{1}>. 실제 값: <{2}>.{0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {0}에 있는 요소가 일치하지 않습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {1}에 있는 요소는 예상 형식이 아닙니다. 예상 형식: <{2}>. 실제 형식: <{3}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {1}에 있는 요소가 (null)입니다. 예상 형식: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 문자열로 끝나지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [잘못된 인수 - EqualsTester에는 Null을 사용할 수 없습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 형식의 개체를 {1} 형식의 개체로 변환할 수 없습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [참조된 내부 개체가 더 이상 유효하지 않습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 매개 변수가 잘못되었습니다. {1}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 속성의 형식은 {2}이어야 하는데 실제로는 {1}입니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 예상 형식: <{1}>. 실제 형식: <{2}>.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 패턴과 일치하지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [잘못된 형식: <{1}>. 실제 형식: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 패턴과 일치합니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [DataRowAttribute가 지정되지 않았습니다. DataTestMethodAttribute에는 하나 이상의 DataRowAttribute가 필요합니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{1} 예외를 예상했지만 예외가 throw되지 않았습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 매개 변수가 잘못되었습니다. 이 값은 Null일 수 없습니다. {1}.](과)와 유사한 지역화된 문자열을 조회합니다. + + + + + [요소 수가 다릅니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + 다음과 유사한 지역화된 문자열을 조회합니다. + [지정한 시그니처를 가진 생성자를 찾을 수 없습니다. 전용 접근자를 다시 생성해야 할 수 있습니다. + 또는 멤버가 기본 클래스에 정의된 전용 멤버일 수 있습니다. 기본 클래스에 정의된 전용 멤버인 경우에는 이 멤버를 정의하는 형식을 + PrivateObject의 생성자에 전달해야 합니다.] + + + + + + 다음과 유사한 지역화된 문자열을 조회합니다. + [지정한 멤버({0})를 찾을 수 없습니다. 전용 접근자를 다시 생성해야 할 수 있습니다. + 또는 멤버가 기본 클래스에 정의된 전용 멤버일 수 있습니다. 기본 클래스에 정의된 전용 멤버인 경우에는 이 멤버를 정의하는 형식을 + PrivateObject의 생성자에 전달해야 합니다.] + + + + + + ['{0}' 문자열이 '{1}' 문자열로 시작되지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 예외 형식은 System.Exception이거나 System.Exception에서 파생된 형식이어야 합니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [(예외로 인해 {0} 형식의 예외에 대한 메시지를 가져오지 못했습니다.)]와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 예상 예외 {0}을(를) throw하지 않았습니다. {1}](과)와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 예상 예외를 throw하지 않았습니다. 예외는 테스트 메서드에 정의된 {0} 특성에 의해 예상되었습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 {0} 예외를 throw했지만 {1} 예외를 예상했습니다. 예외 메시지: {2}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 {0} 예외를 throw했지만 {1} 예외 또는 해당 예외에서 파생된 형식을 예상했습니다. 예외 메시지: {2}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{1} 예외를 예상했지만 {2} 예외를 throw했습니다. {0} + 예외 메시지: {3} + 스택 추적: {4}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + 단위 테스트 결과 + + + + + 테스트가 실행되었지만 문제가 있습니다. + 예외 또는 실패한 어설션과 관련된 문제일 수 있습니다. + + + + + 테스트가 완료되었지만, 성공인지 실패인지를 알 수 없습니다. + 중단된 테스트에 사용된 것일 수 있습니다. + + + + + 아무 문제 없이 테스트가 실행되었습니다. + + + + + 테스트가 현재 실행 중입니다. + + + + + 테스트를 실행하려고 시도하는 동안 시스템 오류가 발생했습니다. + + + + + 테스트가 시간 초과되었습니다. + + + + + 테스트가 사용자에 의해 중단되었습니다. + + + + + 테스트의 상태를 알 수 없습니다. + + + + + 단위 테스트 프레임워크에 대한 도우미 기능을 제공합니다. + + + + + 재귀적으로 모든 내부 예외에 대한 메시지를 포함하여 예외 메시지를 + 가져옵니다. + + 오류 메시지 정보가 포함된 + 문자열에 대한 메시지 가져오기의 예외 + + + + 클래스와 함께 사용할 수 있는 시간 제한에 대한 열거형입니다. + 열거형의 형식은 일치해야 합니다. + + + + + 무제한입니다. + + + + + 테스트 클래스 특성입니다. + + + + + 이 테스트를 실행할 수 있는 테스트 메서드 특성을 가져옵니다. + + 이 메서드에 정의된 테스트 메서드 특성 인스턴스입니다. + 이 테스트를 실행하는 데 사용됩니다. + Extensions can override this method to customize how all methods in a class are run. + + + + 테스트 메서드 특성입니다. + + + + + 테스트 메서드를 실행합니다. + + 실행할 테스트 메서드입니다. + 테스트 결과를 나타내는 TestResult 개체의 배열입니다. + Extensions can override this method to customize running a TestMethod. + + + + 테스트 초기화 특성입니다. + + + + + 테스트 정리 특성입니다. + + + + + 무시 특성입니다. + + + + + 테스트 속성 특성입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 이름. + + + 값. + + + + + 이름을 가져옵니다. + + + + + 값을 가져옵니다. + + + + + 클래스 초기화 특성입니다. + + + + + 클래스 정리 특성입니다. + + + + + 어셈블리 초기화 특성입니다. + + + + + 어셈블리 정리 특성입니다. + + + + + 테스트 소유자 + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 소유자. + + + + + 소유자를 가져옵니다. + + + + + Priority 특성 - 단위 테스트의 우선 순위를 지정하는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 우선 순위. + + + + + 우선 순위를 가져옵니다. + + + + + 테스트의 설명 + + + + + 테스트를 설명하는 클래스의 새 인스턴스를 초기화합니다. + + 설명입니다. + + + + 테스트의 설명을 가져옵니다. + + + + + CSS 프로젝트 구조 URI + + + + + CSS 프로젝트 구조 URI에 대한 클래스의 새 인스턴스를 초기화합니다. + + CSS 프로젝트 구조 URI입니다. + + + + CSS 프로젝트 구조 URI를 가져옵니다. + + + + + CSS 반복 URI + + + + + CSS 반복 URI에 대한 클래스의 새 인스턴스를 초기화합니다. + + CSS 반복 URI입니다. + + + + CSS 반복 URI를 가져옵니다. + + + + + WorkItem 특성 - 이 테스트와 연결된 작업 항목을 지정하는 데 사용됩니다. + + + + + WorkItem 특성에 대한 클래스의 새 인스턴스를 초기화합니다. + + 작업 항목에 대한 ID입니다. + + + + 연결된 작업 항목에 대한 ID를 가져옵니다. + + + + + Timeout 특성 - 단위 테스트의 시간 제한을 지정하는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 시간 제한. + + + + + 미리 설정된 시간 제한이 있는 클래스의 새 인스턴스를 초기화합니다. + + + 시간 제한 + + + + + 시간 제한을 가져옵니다. + + + + + 어댑터에 반환할 TestResult 개체입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 결과의 표시 이름을 가져오거나 설정합니다. 여러 결과를 반환할 때 유용합니다. + Null인 경우 메서드 이름은 DisplayName으로 사용됩니다. + + + + + 테스트 실행의 결과를 가져오거나 설정합니다. + + + + + 테스트 실패 시 throw할 예외를 가져오거나 설정합니다. + + + + + 테스트 코드에서 로그한 메시지의 출력을 가져오거나 설정합니다. + + + + + 테스트 코드에서 로그한 메시지의 출력을 가져오거나 설정합니다. + + + + + 테스트 코드에 의한 디버그 추적을 가져오거나 설정합니다. + + + + + Gets or sets the debug traces by test code. + + + + + 테스트 실행의 지속 시간을 가져오거나 설정합니다. + + + + + 데이터 소스에서 데이터 행 인덱스를 가져오거나 설정합니다. 데이터 기반 테스트에서 + 개별 데이터 행 실행의 결과에 대해서만 설정합니다. + + + + + 테스트 메서드의 반환 값을 가져오거나 설정합니다(현재 항상 Null). + + + + + 테스트로 첨부한 결과 파일을 가져오거나 설정합니다. + + + + + 데이터 기반 테스트에 대한 연결 문자열, 테이블 이름 및 행 액세스 방법을 지정합니다. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource의 기본 공급자 이름입니다. + + + + + 기본 데이터 액세스 방법입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 데이터 소스에 액세스할 데이터 공급자, 연결 문자열, 데이터 테이블 및 데이터 액세스 방법으로 초기화됩니다. + + 고정 데이터 공급자 이름(예: System.Data.SqlClient) + + 데이터 공급자별 연결 문자열. + 경고: 연결 문자열에는 중요한 데이터(예: 암호)가 포함될 수 있습니다. + 연결 문자열은 소스 코드와 컴파일된 어셈블리에 일반 텍스트로 저장됩니다. + 이 중요한 정보를 보호하려면 소스 코드 및 어셈블리에 대한 액세스를 제한하세요. + + 데이터 테이블의 이름. + 데이터에 액세스할 순서를 지정합니다. + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 연결 문자열 및 테이블 이름으로 초기화됩니다. + OLEDB 데이터 소스에 액세스하기 위한 연결 문자열 및 데이터 테이블을 지정하세요. + + + 데이터 공급자별 연결 문자열. + 경고: 연결 문자열에는 중요한 데이터(예: 암호)가 포함될 수 있습니다. + 연결 문자열은 소스 코드와 컴파일된 어셈블리에 일반 텍스트로 저장됩니다. + 이 중요한 정보를 보호하려면 소스 코드 및 어셈블리에 대한 액세스를 제한하세요. + + 데이터 테이블의 이름. + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 설정 이름과 연결된 연결 문자열 및 데이터 공급자로 초기화됩니다. + + app.config 파일의 <microsoft.visualstudio.qualitytools> 섹션에 있는 데이터 소스의 이름. + + + + 데이터 소스의 데이터 공급자를 나타내는 값을 가져옵니다. + + + 데이터 공급자 이름. 데이터 공급자를 개체 초기화에서 지정하지 않은 경우 System.Data.OleDb의 기본 공급자가 반환됩니다. + + + + + 데이터 소스의 연결 문자열을 나타내는 값을 가져옵니다. + + + + + 데이터를 제공하는 테이블 이름을 나타내는 값을 가져옵니다. + + + + + 데이터 소스에 액세스하는 데 사용되는 메서드를 가져옵니다. + + + + 값 중 하나입니다. 이(가) 초기화되지 않은 경우 다음 기본값이 반환됩니다. . + + + + + app.config 파일의 <microsoft.visualstudio.qualitytools> 섹션에서 찾은 데이터 소스의 이름을 가져옵니다. + + + + + 데이터를 인라인으로 지정할 수 있는 데이터 기반 테스트의 특성입니다. + + + + + 모든 데이터 행을 찾고 실행합니다. + + + 테스트 메서드. + + + 배열 . + + + + + 데이터 기반 테스트 메서드를 실행합니다. + + 실행할 테스트 메서드. + 데이터 행. + 실행 결과. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..d507bf2 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Służy do określenia elementu wdrożenia (pliku lub katalogu) dla wdrożenia testowego. + Może być określony w klasie testowej lub metodzie testowej. + Może mieć wiele wystąpień atrybutu w celu określenia więcej niż jednego elementu. + Ścieżka elementu może być bezwzględna lub względna. Jeśli jest względna, jest określana względem elementu RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Inicjuje nowe wystąpienie klasy . + + Plik lub katalog do wdrożenia. Ścieżka jest określana względem katalogu wyjściowego kompilacji. Element zostanie skopiowany do tego samego katalogu co wdrożone zestawy testowe. + + + + Inicjuje nowe wystąpienie klasy + + Względna lub bezwzględna ścieżka do pliku lub katalogu do wdrożenia. Ścieżka jest określana względem katalogu wyjściowego kompilacji. Element zostanie skopiowany do tego samego katalogu co wdrożone zestawy testowe. + Ścieżka katalogu, do którego mają być kopiowane elementy. Może być bezwzględna lub określana względem katalogu wdrażania. Wszystkie pliki i katalogi określone przez zostaną skopiowane do tego katalogu. + + + + Pobiera ścieżkę źródłowego pliku lub folderu do skopiowania. + + + + + Pobiera ścieżkę katalogu, do którego element jest kopiowany. + + + + + Klasa TestContext. Ta klasa powinna być w pełni abstrakcyjna i nie może zawierać żadnych + elementów członkowskich. Adapter zaimplementuje elementy członkowskie. Użytkownicy platformy powinni + uzyskiwać dostęp do tego elementu tylko za pośrednictwem prawidłowo zdefiniowanego interfejsu. + + + + + Pobiera właściwości testu. + + + + + Pobiera w pełni kwalifikowaną nazwę klasy zawierającej aktualnie wykonywaną metodę testową + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Pobiera nazwę aktualnie wykonywanej metody testowej + + + + + Pobiera wynik bieżącego testu. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..5593384 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Metoda TestMethod do wykonania. + + + + + Pobiera nazwę metody testowej. + + + + + Pobiera nazwę klasy testowej. + + + + + Pobiera zwracany typ metody testowej. + + + + + Pobiera parametry metody testowej. + + + + + Pobiera element methodInfo dla metody testowej. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Wywołuje metodę testową. + + + Argumenty przekazywane do metody testowej (np. w przypadku opartej na danych) + + + Wynik wywołania metody testowej. + + + This call handles asynchronous test methods as well. + + + + + Pobierz wszystkie atrybuty metody testowej. + + + Informacja o tym, czy atrybut zdefiniowany w klasie nadrzędnej jest prawidłowy. + + + Wszystkie atrybuty. + + + + + Pobierz atrybut określonego typu. + + System.Attribute type. + + Informacja o tym, czy atrybut zdefiniowany w klasie nadrzędnej jest prawidłowy. + + + Atrybuty określonego typu. + + + + + Element pomocniczy. + + + + + Sprawdzany parametr nie ma wartości null. + + + Parametr. + + + Nazwa parametru. + + + Komunikat. + + Throws argument null exception when parameter is null. + + + + Sprawdzany parametr nie ma wartości null i nie jest pusty. + + + Parametr. + + + Nazwa parametru. + + + Komunikat. + + Throws ArgumentException when parameter is null. + + + + Wyliczenie dotyczące sposobu dostępu do wierszy danych w teście opartym na danych. + + + + + Wiersze są zwracane po kolei. + + + + + Wiersze są zwracane w kolejności losowej. + + + + + Atrybut do definiowania danych wbudowanych dla metody testowej. + + + + + Inicjuje nowe wystąpienie klasy . + + Obiekt danych. + + + + Inicjuje nowe wystąpienie klasy , które pobiera tablicę argumentów. + + Obiekt danych. + Więcej danych. + + + + Pobiera dane do wywoływania metody testowej. + + + + + Pobiera lub ustawia nazwę wyświetlaną w wynikach testu do dostosowania. + + + + + Wyjątek niejednoznacznej asercji. + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Klasa InternalTestFailureException. Używana do określenia wewnętrznego błędu przypadku testowego + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat wyjątku. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat wyjątku. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Atrybut określający, że jest oczekiwany wyjątek określonego typu + + + + + Inicjuje nowe wystąpienie klasy z oczekiwanym typem + + Typ oczekiwanego wyjątku + + + + Inicjuje nowe wystąpienie klasy z + oczekiwanym typem i komunikatem do uwzględnienia, gdy test nie zgłasza żadnego wyjątku. + + Typ oczekiwanego wyjątku + + Komunikat do dołączenia do wyniku testu, jeśli test nie powiedzie się, ponieważ nie zostanie zgłoszony wyjątek + + + + + Pobiera wartość wskazującą typ oczekiwanego wyjątku + + + + + Pobiera lub ustawia wartość wskazującą, czy typy pochodne typu oczekiwanego wyjątku + są traktowane jako oczekiwane + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Weryfikuje, czy typ wyjątku zgłoszonego przez test jednostkowy jest oczekiwany + + Wyjątek zgłoszony przez test jednostkowy + + + + Klasa podstawowa dla atrybutów, które określają, że jest oczekiwany wyjątek z testu jednostkowego + + + + + Inicjuje nowe wystąpienie klasy z domyślnym komunikatem o braku wyjątku + + + + + Inicjuje nowe wystąpienie klasy z komunikatem o braku wyjątku + + + Komunikat do dołączenia do wyniku testu, jeśli test nie powiedzie się, ponieważ + nie zostanie zgłoszony wyjątek + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Pobiera domyślny komunikat bez wyjątku + + Nazwa typu atrybutu ExpectedException + Domyślny komunikat bez wyjątku + + + + Określa, czy wyjątek jest oczekiwany. Jeśli wykonanie metody zakończy się normalnie, oznacza to, + że wyjątek był oczekiwany. Jeśli metoda zgłosi wyjątek, oznacza to, + że wyjątek nie był oczekiwany, a komunikat zgłoszonego wyjątku + jest dołączony do wyniku testu. Klasy można użyć dla + wygody. Jeśli zostanie użyta klasa i asercja nie powiedzie się, + wynik testu zostanie ustawiony jako Niejednoznaczny. + + Wyjątek zgłoszony przez test jednostkowy + + + + Zgłoś ponownie wyjątek, jeśli jest to wyjątek AssertFailedException lub AssertInconclusiveException + + Wyjątek do ponownego zgłoszenia, jeśli jest to wyjątek asercji + + + + Ta klasa jest zaprojektowana w taki sposób, aby pomóc użytkownikowi wykonującemu testy jednostkowe dla typów używających typów ogólnych. + Element GenericParameterHelper zachowuje niektóre typowe ograniczenia typów ogólnych, + takie jak: + 1. publiczny konstruktor domyślny + 2. implementuje wspólny interfejs: IComparable, IEnumerable + + + + + Inicjuje nowe wystąpienie klasy , które + spełnia ograniczenie „newable” w typach ogólnych języka C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicjuje nowe wystąpienie klasy , które + inicjuje właściwość Data wartością dostarczoną przez użytkownika. + + Dowolna liczba całkowita + + + + Pobiera lub ustawia element Data + + + + + Wykonuje porównanie wartości dwóch obiektów GenericParameterHelper + + obiekt, z którym ma zostać wykonane porównanie + Wartość true, jeśli obiekt ma tę samą wartość co obiekt „this” typu GenericParameterHelper. + W przeciwnym razie wartość false. + + + + Zwraca wartość skrótu tego obiektu. + + Kod skrótu. + + + + Porównuje dane dwóch obiektów . + + Obiekt do porównania. + + Liczba ze znakiem, która wskazuje wartości względne tego wystąpienia i wartości. + + + Thrown when the object passed in is not an instance of . + + + + + Zwraca obiekt IEnumerator, którego długość jest określona na podstawie + właściwości Data. + + Obiekt IEnumerator + + + + Zwraca obiekt GenericParameterHelper równy + bieżącemu obiektowi. + + Sklonowany obiekt. + + + + Umożliwia użytkownikom rejestrowanie/zapisywanie śladów z testów jednostek w celach diagnostycznych. + + + + + Procedura obsługi elementu LogMessage. + + Komunikat do zarejestrowania. + + + + Zdarzenie, które ma być nasłuchiwane. Zgłaszane, gdy składnik zapisywania testu jednostkowego zapisze jakiś komunikat. + Zwykle zużywane przez adapter. + + + + + Interfejs API składnika zapisywania testu do wywołania na potrzeby rejestrowania komunikatów. + + Format ciągu z symbolami zastępczymi. + Parametry dla symboli zastępczych. + + + + Atrybut TestCategory używany do określenia kategorii testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy i stosuje kategorię do testu. + + + Kategoria testu. + + + + + Pobiera kategorie testu, które zostały zastosowane do testu. + + + + + Klasa podstawowa atrybutu „Category” + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicjuje nowe wystąpienie klasy . + Stosuje kategorię do testu. Ciągi zwrócone przez element TestCategories + są używane w poleceniu /category do filtrowania testów + + + + + Pobiera kategorię testu, która została zastosowana do testu. + + + + + Klasa AssertFailedException. Używana do wskazania niepowodzenia przypadku testowego + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Kolekcja klas pomocniczych na potrzeby testowania różnych warunków w ramach + testów jednostkowych. Jeśli testowany warunek nie zostanie spełniony, zostanie zgłoszony + wyjątek. + + + + + Pobiera pojedyncze wystąpienie funkcji Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość false. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość false. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Thrown if is true. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość true. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is true. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość true. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is true. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Komunikat do dołączenia do wyjątku, gdy element + nie ma wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Komunikat do dołączenia do wyjątku, gdy element + nie ma wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Thrown if is null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is null. + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest tym samym elementem co . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest tym samym elementem co . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest taki sam jak element . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest taki sam jak element . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest wystąpieniem typu . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest wystąpieniem typu . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Komunikat do dołączenia do wyjątku, gdy element + jest wystąpieniem typu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Komunikat do dołączenia do wyjątku, gdy element + jest wystąpieniem typu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Zgłasza wyjątek AssertFailedException. + + + Always thrown. + + + + + Zgłasza wyjątek AssertFailedException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Always thrown. + + + + + Zgłasza wyjątek AssertFailedException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Always thrown. + + + + + Statyczne przeciążenia metody equals są używane do porównywania wystąpień dwóch typów pod kątem + równości odwołań. Ta metoda nie powinna być używana do porównywania dwóch wystąpień pod kątem + równości. Ten obiekt zawsze będzie zgłaszał wyjątek za pomocą metody Assert.Fail. Użyj metody + Assert.AreEqual i skojarzonych przeciążeń w testach jednostkowych. + + Obiekt A + Obiekt B + Zawsze wartość false. + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek AssertFailedException, jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek AssertFailedException, jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Zastępuje znaki null („\0”) ciągiem „\\0”. + + + Ciąg do wyszukania. + + + Przekonwertowany ciąg ze znakami null zastąpionymi ciągiem „\\0”. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Funkcja pomocnicza, która tworzy i zgłasza wyjątek AssertionFailedException + + + nazwa asercji zgłaszającej wyjątek + + + komunikat opisujący warunki dla błędu asercji + + + Parametry. + + + + + Sprawdza parametry pod kątem prawidłowych warunków + + + Parametr. + + + Nazwa asercji. + + + nazwa parametru + + + komunikat dla wyjątku nieprawidłowego parametru + + + Parametry. + + + + + Bezpiecznie konwertuje obiekt na ciąg, obsługując wartości null i znaki null. + Wartości null są konwertowane na ciąg „(null)”. Znaki null są konwertowane na ciąg „\\0”. + + + Obiekt do przekonwertowania na ciąg. + + + Przekonwertowany ciąg. + + + + + Asercja ciągu. + + + + + Pobiera pojedyncze wystąpienie funkcji CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie zaczyna się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie zaczyna się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie kończy się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie kończy się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + nie pasuje do wzorca . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + nie pasuje do wzorca . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Thrown if matches . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + dopasowania . Komunikat jest wyświetlony w wynikach + testu. + + + Thrown if matches . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + dopasowania . Komunikat jest wyświetlony w wynikach + testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if matches . + + + + + Kolekcja klas pomocniczych na potrzeby testowania różnych warunków skojarzonych + z kolekcjami w ramach testów jednostkowych. Jeśli testowany warunek + nie jest spełniony, zostanie zgłoszony wyjątek. + + + + + Pobiera pojedyncze wystąpienie funkcji CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Thrown if is found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + znajduje się w kolekcji . Komunikat jest wyświetlony w wynikach + testu. + + + Thrown if is found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + znajduje się w kolekcji . Komunikat jest wyświetlony w wynikach + testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera element o wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera element o wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera co najmniej jeden zduplikowany element. Komunikat jest wyświetlony w + wynikach testu. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera co najmniej jeden zduplikowany element. Komunikat jest wyświetlony w + wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Thrown if an element in is not found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie można odnaleźć w . + Komunikat jest wyświetlany w wynikach testu. + + + Thrown if an element in is not found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie można odnaleźć w . + Komunikat jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element in is not found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Thrown if every element in is also found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy każdy element w kolekcji + znajduje się również w kolekcji . + Komunikat jest wyświetlany w wynikach testu. + + + Thrown if every element in is also found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy każdy element w kolekcji + znajduje się również w kolekcji . + Komunikat jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if every element in is also found in + . + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do uwzględnienia w wyjątku, gdy element został odnaleziony + w jednej z kolekcji, ale nie ma go w drugiej. Komunikat jest wyświetlany + w wynikach testu. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do uwzględnienia w wyjątku, gdy element został odnaleziony + w jednej z kolekcji, ale nie ma go w drugiej. Komunikat jest wyświetlany + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera te same elementy co . Komunikat + jest wyświetlany w wynikach testu. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera te same elementy co . Komunikat + jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie jest wystąpieniem + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie jest wystąpieniem + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Określa, czy pierwsza kolekcja jest podzbiorem drugiej kolekcji. + Jeśli któryś zbiór zawiera zduplikowane elementy, liczba wystąpień + elementu w podzbiorze musi być mniejsza lub równa liczbie + wystąpień w nadzbiorze. + + + Kolekcja, co do której test oczekuje, że powinna być zawarta w . + + + Kolekcja, co do której test oczekuje, że powinna zawierać . + + + Wartość true, jeśli jest podzbiorem kolekcji + , w przeciwnym razie wartość false. + + + + + Tworzy słownik zawierający liczbę wystąpień każdego elementu + w określonej kolekcji. + + + Kolekcja do przetworzenia. + + + Liczba elementów o wartości null w kolekcji. + + + Słownik zawierający liczbę wystąpień każdego elementu + w określonej kolekcji. + + + + + Znajduje niezgodny element w dwóch kolekcjach. Niezgodny + element to ten, którego liczba wystąpień w oczekiwanej kolekcji + jest inna niż w rzeczywistej kolekcji. Kolekcje + są uznawane za różne odwołania o wartości innej niż null z tą samą + liczbą elementów. Obiekt wywołujący jest odpowiedzialny za ten poziom weryfikacji. + Jeśli nie ma żadnego niezgodnego elementu, funkcja zwraca wynik + false i parametry wyjściowe nie powinny być używane. + + + Pierwsza kolekcja do porównania. + + + Druga kolekcja do porównania. + + + Oczekiwana liczba wystąpień elementu + lub 0, jeśli nie ma żadnego niezgodnego + elementu. + + + Rzeczywista liczba wystąpień elementu + lub 0, jeśli nie ma żadnego niezgodnego + elementu. + + + Niezgodny element (może mieć wartość null) lub wartość null, jeśli + nie ma żadnego niezgodnego elementu. + + + wartość true, jeśli znaleziono niezgodny element; w przeciwnym razie wartość false. + + + + + porównuje obiekty przy użyciu funkcji object.Equals + + + + + Klasa podstawowa dla wyjątków struktury. + + + + + Inicjuje nowe wystąpienie klasy . + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Silnie typizowana klasa zasobów do wyszukiwania zlokalizowanych ciągów itp. + + + + + Zwraca buforowane wystąpienie ResourceManager używane przez tę klasę. + + + + + Przesłania właściwość CurrentUICulture bieżącego wątku dla wszystkich + przypadków przeszukiwania zasobów za pomocą tej silnie typizowanej klasy zasobów. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg dostępu ma nieprawidłową składnię. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana kolekcja zawiera następującą liczbę wystąpień elementu <{2}>: {1}. Rzeczywista kolekcja zawiera następującą liczbę wystąpień: {3}. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Znaleziono zduplikowany element: <{1}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano: <{1}>. Przypadek jest inny w wartości rzeczywistej: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano różnicy nie większej niż <{3}> między oczekiwaną wartością <{1}> i wartością rzeczywistą <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana wartość: <{1} ({2})>. Rzeczywista wartość: <{3} ({4})>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana wartość: <{1}>. Rzeczywista wartość: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano różnicy większej niż <{3}> między oczekiwaną wartością <{1}> a wartością rzeczywistą <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano dowolnej wartości z wyjątkiem: <{1}>. Wartość rzeczywista: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie przekazuj typów wartości do metody AreSame(). Wartości przekonwertowane na typ Object nigdy nie będą takie same. Rozważ użycie metody AreEqual(). {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} — niepowodzenie. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do asynchronicznej metody TestMethod z elementem UITestMethodAttribute, które nie są obsługiwane. Usuń element asynchroniczny lub użyj elementu TestMethodAttribute. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje są puste. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje zawierają te same elementy. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Odwołania do obu kolekcji wskazują ten sam obiekt kolekcji. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje zawierają te same elementy. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0}({1}). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (null). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (object). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie zawiera ciągu „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} ({1}). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie można użyć metody Assert.Equals dla asercji. Zamiast tego użyj metody Assert.AreEqual i przeciążeń. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Liczba elementów w kolekcjach nie jest zgodna. Oczekiwana wartość: <{1}>. Wartość rzeczywista: <{2}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {0} nie jest zgodny. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {1} nie ma oczekiwanego typu. Oczekiwany typ: <{2}>. Rzeczywisty typ: <{3}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {1} ma wartość (null). Oczekiwany typ: <{2}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie kończy się ciągiem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nieprawidłowy argument. Element EqualsTester nie może używać wartości null. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie można przekonwertować obiektu typu {0} na typ {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Przywoływany obiekt wewnętrzny nie jest już prawidłowy. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Parametr „{0}” jest nieprawidłowy. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Właściwość {0} ma typ {1}. Oczekiwano typu {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} Oczekiwany typ: <{1}>. Rzeczywisty typ: <{2}>. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie jest zgodny ze wzorcem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Niepoprawny typ: <{1}>. Rzeczywisty typ: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” jest zgodny ze wzorcem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie określono atrybutu DataRowAttribute. Atrybut DataTestMethodAttribute wymaga co najmniej jednego atrybutu DataRowAttribute. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie zgłoszono wyjątku. Oczekiwany wyjątek: {1}. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Parametr „{0}” jest nieprawidłowy. Wartość nie może być równa null. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Inna liczba elementów. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: + Nie można odnaleźć konstruktora z określoną sygnaturą. Może być konieczne ponowne wygenerowanie prywatnej metody dostępu + lub element członkowski może być zdefiniowany jako prywatny w klasie podstawowej. W drugim przypadku należy przekazać typ, + który definiuje element członkowski w konstruktorze obiektu PrivateObject. + . + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: + Nie można odnaleźć określonego elementu członkowskiego ({0}). Może być konieczne ponowne wygenerowanie prywatnej metody dostępu + lub element członkowski może być zdefiniowany jako prywatny w klasie podstawowej. W drugim przypadku należy przekazać typ, + który definiuje element członkowski w konstruktorze obiektu PrivateObject. + . + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie rozpoczyna się od ciągu „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwanym typem wyjątku musi być typ System.Exception lub typ pochodzący od typu System.Exception. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (Nie można pobrać komunikatu dotyczącego wyjątku typu {0} z powodu wyjątku). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa nie zgłosiła oczekiwanego wyjątku {0}. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa nie zgłosiła wyjątku. Wyjątek był oczekiwany przez atrybut {0} zdefiniowany w metodzie testowej. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa zgłosiła wyjątek {0}, ale oczekiwano wyjątku {1}. Komunikat o wyjątku: {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa zgłosiła wyjątek {0}, ale oczekiwano wyjątku {1} lub typu, który od niego pochodzi. Komunikat o wyjątku: {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Zgłoszono wyjątek {2}, ale oczekiwano wyjątku {1}. {0} + Komunikat o wyjątku: {3} + Ślad stosu: {4}. + + + + + wyniki testu jednostkowego + + + + + Test został wykonany, ale wystąpiły problemy. + Problemy mogą obejmować wyjątki lub asercje zakończone niepowodzeniem. + + + + + Test został ukończony, ale nie można stwierdzić, czy zakończył się powodzeniem, czy niepowodzeniem. + Może być używany dla przerwanych testów. + + + + + Test został wykonany bez żadnych problemów. + + + + + Test jest obecnie wykonywany. + + + + + Wystąpił błąd systemu podczas próby wykonania testu. + + + + + Upłynął limit czasu testu. + + + + + Test został przerwany przez użytkownika. + + + + + Stan testu jest nieznany + + + + + Udostępnia funkcjonalność pomocnika dla platformy testów jednostkowych + + + + + Pobiera komunikaty wyjątku, w tym rekursywnie komunikaty wszystkich wewnętrznych + wyjątków + + Wyjątek, dla którego mają zostać pobrane komunikaty + ciąg z informacjami o komunikacie o błędzie + + + + Wyliczenie dla limitów czasu, które może być używane z klasą . + Typ wyliczenia musi być zgodny + + + + + Nieskończone. + + + + + Atrybut klasy testowej. + + + + + Pobiera atrybut metody testowej, który umożliwia uruchomienie tego testu. + + Wystąpienie atrybutu metody testowej zdefiniowane w tej metodzie. + do użycia do uruchamiania tego testu. + Extensions can override this method to customize how all methods in a class are run. + + + + Atrybut metody testowej. + + + + + Wykonuje metodę testową. + + Metoda testowa do wykonania. + Tablica obiektów TestResult reprezentujących wyniki testu. + Extensions can override this method to customize running a TestMethod. + + + + Atrybut inicjowania testu. + + + + + Atrybut oczyszczania testu. + + + + + Atrybut ignorowania. + + + + + Atrybut właściwości testu. + + + + + Inicjuje nowe wystąpienie klasy . + + + Nazwa. + + + Wartość. + + + + + Pobiera nazwę. + + + + + Pobiera wartość. + + + + + Atrybut inicjowania klasy. + + + + + Atrybut oczyszczania klasy. + + + + + Atrybut inicjowania zestawu. + + + + + Atrybut oczyszczania zestawu. + + + + + Właściciel testu + + + + + Inicjuje nowe wystąpienie klasy . + + + Właściciel. + + + + + Pobiera właściciela. + + + + + Atrybut priorytetu służący do określania priorytetu testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy . + + + Priorytet. + + + + + Pobiera priorytet. + + + + + Opis testu + + + + + Inicjuje nowe wystąpienie klasy do opisu testu. + + Opis. + + + + Pobiera opis testu. + + + + + Identyfikator URI struktury projektu CSS + + + + + Inicjuje nowe wystąpienie klasy dla identyfikatora URI struktury projektu CSS. + + Identyfikator URI struktury projektu CSS. + + + + Pobiera identyfikator URI struktury projektu CSS. + + + + + Identyfikator URI iteracji CSS + + + + + Inicjuje nowe wystąpienie klasy dla identyfikatora URI iteracji CSS. + + Identyfikator URI iteracji CSS. + + + + Pobiera identyfikator URI iteracji CSS. + + + + + Atrybut elementu roboczego służący do określania elementu roboczego skojarzonego z tym testem. + + + + + Inicjuje nowe wystąpienie klasy dla atrybutu WorkItem. + + Identyfikator dla elementu roboczego. + + + + Pobiera identyfikator dla skojarzonego elementu roboczego. + + + + + Atrybut limitu czasu służący do określania limitu czasu testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy . + + + Limit czasu. + + + + + Inicjuje nowe wystąpienie klasy ze wstępnie ustawionym limitem czasu + + + Limit czasu + + + + + Pobiera limit czasu. + + + + + Obiekt TestResult zwracany do adaptera. + + + + + Inicjuje nowe wystąpienie klasy . + + + + + Pobiera lub ustawia nazwę wyświetlaną wyniku. Przydatny w przypadku zwracania wielu wyników. + Jeśli ma wartość null, nazwa metody jest używana jako nazwa wyświetlana. + + + + + Pobiera lub ustawia wynik wykonania testu. + + + + + Pobiera lub ustawia wyjątek zgłoszony, gdy test kończy się niepowodzeniem. + + + + + Pobiera lub ustawia dane wyjściowe komunikatu rejestrowanego przez kod testu. + + + + + Pobiera lub ustawia dane wyjściowe komunikatu rejestrowanego przez kod testu. + + + + + Pobiera lub ustawia ślady debugowania przez kod testu. + + + + + Gets or sets the debug traces by test code. + + + + + Pobiera lub ustawia czas trwania wykonania testu. + + + + + Pobiera lub ustawia indeks wiersza danych w źródle danych. Ustawia tylko dla wyników oddzielnych + uruchomień wiersza danych w teście opartym na danych. + + + + + Pobiera lub ustawia wartość zwracaną metody testowej. (Obecnie zawsze wartość null). + + + + + Pobiera lub ustawia pliki wyników dołączone przez test. + + + + + Określa parametry połączenia, nazwę tabeli i metodę dostępu do wiersza w przypadku testowania opartego na danych. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nazwa domyślnego dostawcy dla źródła danych. + + + + + Domyślna metoda uzyskiwania dostępu do danych. + + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z dostawcą danych, parametrami połączenia, tabelą danych i metodą dostępu do danych w celu uzyskania dostępu do źródła danych. + + Niezmienna nazwa dostawcy danych, taka jak System.Data.SqlClient + + Parametry połączenia specyficzne dla dostawcy danych. + OSTRZEŻENIE: parametry połączenia mogą zawierać poufne dane (na przykład hasło). + Parametry połączenia są przechowywane w postaci zwykłego tekstu w kodzie źródłowym i w skompilowanym zestawie. + Należy ograniczyć dostęp do kodu źródłowego i zestawu, aby chronić te poufne informacje. + + Nazwa tabeli danych. + Określa kolejność dostępu do danych. + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z parametrami połączenia i nazwą tabeli. + Określ parametry połączenia i tabelę danych w celu uzyskania dostępu do źródła danych OLEDB. + + + Parametry połączenia specyficzne dla dostawcy danych. + OSTRZEŻENIE: parametry połączenia mogą zawierać poufne dane (na przykład hasło). + Parametry połączenia są przechowywane w postaci zwykłego tekstu w kodzie źródłowym i w skompilowanym zestawie. + Należy ograniczyć dostęp do kodu źródłowego i zestawu, aby chronić te poufne informacje. + + Nazwa tabeli danych. + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z dostawcą danych i parametrami połączenia skojarzonymi z nazwą ustawienia. + + Nazwa źródła danych znaleziona w sekcji <microsoft.visualstudio.qualitytools> pliku app.config. + + + + Pobiera wartość reprezentującą dostawcę danych źródła danych. + + + Nazwa dostawcy danych. Jeśli dostawca danych nie został wyznaczony w czasie inicjowania obiektu, zostanie zwrócony domyślny dostawca obiektu System.Data.OleDb. + + + + + Pobiera wartość reprezentującą parametry połączenia dla źródła danych. + + + + + Pobiera wartość wskazującą nazwę tabeli udostępniającej dane. + + + + + Pobiera metodę używaną do uzyskiwania dostępu do źródła danych. + + + + Jedna z . Jeśli nie zainicjowano , zwróci wartość domyślną . + + + + + Pobiera nazwę źródła danych znajdującego się w sekcji <microsoft.visualstudio.qualitytools> w pliku app.config. + + + + + Atrybut dla testu opartego na danych, w którym dane można określić bezpośrednio. + + + + + Znajdź wszystkie wiersze danych i wykonaj. + + + Metoda testowa. + + + Tablica elementów . + + + + + Uruchamianie metody testowej dla testu opartego na danych. + + Metoda testowa do wykonania. + Wiersz danych. + Wyniki wykonania. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..7fe8bca --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Usado para especificar o item de implantação (arquivo ou diretório) para implantação por teste. + Pode ser especificado em classe de teste ou em método de teste. + Pode ter várias instâncias do atributo para especificar mais de um item. + O caminho do item pode ser absoluto ou relativo. Se relativo, é relativo a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Inicializa uma nova instância da classe . + + O arquivo ou o diretório a ser implantado. O caminho é relativo ao diretório de saída do build. O item será copiado para o mesmo diretório que o dos assemblies de teste implantados. + + + + Inicializa uma nova instância da classe + + O caminho relativo ou absoluto ao arquivo ou ao diretório a ser implantado. O caminho é relativo ao diretório de saída do build. O item será copiado para o mesmo diretório que o dos assemblies de teste implantados. + O caminho do diretório para o qual os itens deverão ser copiados. Ele pode ser absoluto ou relativo ao diretório de implantação. Todos os arquivos e diretórios identificados por serão copiados para esse diretório. + + + + Obtém o caminho da pasta ou do arquivo de origem a ser copiado. + + + + + Obtém o caminho do diretório para o qual o item é copiado. + + + + + Classe TestContext. Essa classe deve ser totalmente abstrata e não conter nenhum + membro. O adaptador implementará os membros. Os usuários na estrutura devem + acessá-la somente por meio de uma interface bem definida. + + + + + Obtém as propriedades de teste para um teste. + + + + + Obtém o Nome totalmente qualificado da classe contendo o método de teste executado no momento + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Obtém o Nome do método de teste executado no momento + + + + + Obtém o resultado do teste atual. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..2b63dd5 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + O TestMethod para a execução. + + + + + Obtém o nome do método de teste. + + + + + Obtém o nome da classe de teste. + + + + + Obtém o tipo de retorno do método de teste. + + + + + Obtém os parâmetros do método de teste. + + + + + Obtém o methodInfo para o método de teste. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invoca o método de teste. + + + Argumentos a serem passados ao método de teste. (Por exemplo, para testes controlados por dados) + + + Resultado da invocação do método de teste. + + + This call handles asynchronous test methods as well. + + + + + Obter todos os atributos do método de teste. + + + Se o atributo definido na classe pai é válido. + + + Todos os atributos. + + + + + Obter atributo de tipo específico. + + System.Attribute type. + + Se o atributo definido na classe pai é válido. + + + Os atributos do tipo especificado. + + + + + O auxiliar. + + + + + O parâmetro de verificação não nulo. + + + O parâmetro. + + + O nome do parâmetro. + + + A mensagem. + + Throws argument null exception when parameter is null. + + + + O parâmetro de verificação não nulo nem vazio. + + + O parâmetro. + + + O nome do parâmetro. + + + A mensagem. + + Throws ArgumentException when parameter is null. + + + + Enumeração para como acessamos as linhas de dados no teste controlado por dados. + + + + + As linhas são retornadas em ordem sequencial. + + + + + As linhas são retornadas em ordem aleatória. + + + + + O atributo para definir dados embutidos para um método de teste. + + + + + Inicializa uma nova instância da classe . + + O objeto de dados. + + + + Inicializa a nova instância da classe que ocupa uma matriz de argumentos. + + Um objeto de dados. + Mais dados. + + + + Obtém Dados para chamar o método de teste. + + + + + Obtém ou define o nome de exibição nos resultados de teste para personalização. + + + + + A exceção inconclusiva da asserção. + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Inicializa uma nova instância da classe . + + + + + Classe InternalTestFailureException. Usada para indicar falha interna de um caso de teste + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializa uma nova instância da classe . + + A mensagem de exceção. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem de exceção. + + + + Inicializa uma nova instância da classe . + + + + + Atributo que especifica que uma exceção do tipo especificado é esperada + + + + + Inicializa uma nova instância da classe com o tipo especificado + + Tipo da exceção esperada + + + + Inicializa uma nova instância da classe com + o tipo esperado e a mensagem a ser incluída quando nenhuma exceção é gerada pelo teste. + + Tipo da exceção esperada + + Mensagem a ser incluída no resultado do teste se ele falhar por não gerar uma exceção + + + + + Obtém um valor que indica o Tipo da exceção esperada + + + + + Obtém ou define um valor que indica se é para permitir tipos derivados do tipo da exceção esperada para + qualificá-la como esperada + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Verifica se o tipo da exceção gerada pelo teste de unidade é esperado + + A exceção gerada pelo teste de unidade + + + + Classe base para atributos que especificam que uma exceção de um teste de unidade é esperada + + + + + Inicializa uma nova instância da classe com uma mensagem de não exceção padrão + + + + + Inicializa a nova instância da classe com uma mensagem de não exceção + + + Mensagem a ser incluída no resultado do teste se ele falhar por não gerar uma + exceção + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Obtém a mensagem de não exceção padrão + + O nome do tipo de atributo ExpectedException + A mensagem de não exceção padrão + + + + Determina se uma exceção é esperada. Se o método é retornado, entende-se + que a exceção era esperada. Se o método gera uma exceção, entende-se + que a exceção não era esperada e a mensagem de exceção gerada + é incluída no resultado do teste. A classe pode ser usada para + conveniência. Se é usada e há falha de asserção, + o resultado do teste é definido como Inconclusivo. + + A exceção gerada pelo teste de unidade + + + + Gerar a exceção novamente se for uma AssertFailedException ou uma AssertInconclusiveException + + A exceção a ser gerada novamente se for uma exceção de asserção + + + + Essa classe é projetada para ajudar o usuário a executar o teste de unidade para os tipos que usam tipos genéricos. + GenericParameterHelper satisfaz algumas restrições comuns de tipos genéricos, + como: + 1. construtor público padrão + 2. implementa interface comum: IComparable, IEnumerable + + + + + Inicializa a nova instância da classe que + satisfaz a restrição 'newable' em genéricos C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializa a nova instância da classe que + inicializa a propriedade Data para um valor fornecido pelo usuário. + + Qualquer valor inteiro + + + + Obtém ou define Data + + + + + Executa a comparação de valores de dois objetos GenericParameterHelper + + objeto com o qual comparar + verdadeiro se o objeto tem o mesmo valor que 'esse' objeto GenericParameterHelper. + Caso contrário, falso. + + + + Retorna um código hash para esse objeto. + + O código hash. + + + + Compara os dados dos dois objetos . + + O objeto com o qual comparar. + + Um número assinado indicando os valores relativos dessa instância e valor. + + + Thrown when the object passed in is not an instance of . + + + + + Retorna um objeto IEnumerator cujo comprimento é derivado + da propriedade Data. + + O objeto IEnumerator + + + + Retorna um objeto GenericParameterHelper que é igual ao + objeto atual. + + O objeto clonado. + + + + Permite que usuários registrem/gravem rastros de testes de unidade para diagnósticos. + + + + + Manipulador para LogMessage. + + Mensagem a ser registrada. + + + + Evento a ser escutado. Acionado quando o gerador do teste de unidade escreve alguma mensagem. + Principalmente para ser consumido pelo adaptador. + + + + + API para o gravador de teste chamar Registrar mensagens. + + Formato de cadeia de caracteres com espaços reservados. + Parâmetros dos espaços reservados. + + + + Atributo TestCategory. Usado para especificar a categoria de um teste de unidade. + + + + + Inicializa a nova instância da classe e aplica a categoria ao teste. + + + A Categoria de teste. + + + + + Obtém as categorias de teste aplicadas ao teste. + + + + + Classe base para o atributo "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializa a nova instância da classe . + Aplica a categoria ao teste. As cadeias de caracteres retornadas por TestCategories + são usadas com o comando /category para filtrar os testes + + + + + Obtém a categoria de teste aplicada ao teste. + + + + + Classe AssertFailedException. Usada para indicar falha em um caso de teste + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Inicializa uma nova instância da classe . + + + + + Uma coleção de classes auxiliares para testar várias condições nos + testes de unidade. Se a condição testada não é atendida, uma exceção + é gerada. + + + + + Obtém uma instância singleton da funcionalidade Asserção. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + Thrown if is false. + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + A mensagem a ser incluída na exceção quando + é falsa. A mensagem é mostrada nos resultados de teste. + + + Thrown if is false. + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + A mensagem a ser incluída na exceção quando + é falsa. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is false. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + Thrown if is true. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + A mensagem a ser incluída na exceção quando + é verdadeira. A mensagem é mostrada nos resultados de teste. + + + Thrown if is true. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + A mensagem a ser incluída na exceção quando + é verdadeira. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is true. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + Thrown if is not null. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + A mensagem a ser incluída na exceção quando + não é nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if is not null. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + A mensagem a ser incluída na exceção quando + não é nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + Thrown if is null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + A mensagem a ser incluída na exceção quando + é nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if is null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + A mensagem a ser incluída na exceção quando + é nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is null. + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é o mesmo que . A mensagem é mostrada + nos resultados de teste. + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é o mesmo que . A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if refers to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é o mesmo que . A mensagem é mostrada nos + resultados de teste. + + + Thrown if refers to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é o mesmo que . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if refers to the same object + as . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if is not equal to . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if is equal to . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + Thrown if is equal to . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + Thrown if is not equal to + . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + A mensagem a ser incluída na exceção quando + não é uma instância de . A mensagem é + mostrada nos resultados de teste. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + A mensagem a ser incluída na exceção quando + não é uma instância de . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + A mensagem a ser incluída na exceção quando + é uma instância de . A mensagem é mostrada + nos resultados de teste. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + A mensagem a ser incluída na exceção quando + é uma instância de . A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Gera uma AssertFailedException. + + + Always thrown. + + + + + Gera uma AssertFailedException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Always thrown. + + + + + Gera uma AssertFailedException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Always thrown. + + + + + Os métodos estático igual a sobrecargas são usados para comparar instâncias de dois tipos em relação à igualdade de + referência. Esse método não deve ser usado para comparar a igualdade de + duas instâncias. Esse objeto sempre gerará Assert.Fail. Use + Assert.AreEqual e sobrecargas associadas nos testes de unidade. + + Objeto A + Objeto B + Sempre falso. + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera AssertFailedException se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + Delegado ao código a ser testado e que é esperado que gere exceção. + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera AssertFailedException se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + Delegado ao código a ser testado e que é esperado que gere exceção. + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Substitui os caracteres nulos ('\0') por "\\0". + + + A cadeia de caracteres a ser pesquisada. + + + A cadeia de caracteres convertida com os caracteres nulos substituídos por "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Função auxiliar que cria e gera uma AssertionFailedException + + + nome da asserção que gera uma exceção + + + mensagem que descreve as condições da falha de asserção + + + Os parâmetros. + + + + + Verifica o parâmetro das condições válidas + + + O parâmetro. + + + O Nome da asserção. + + + nome do parâmetro + + + mensagem da exceção de parâmetro inválido + + + Os parâmetros. + + + + + Converte com segurança um objeto em uma cadeia de caracteres manipulando valores e caracteres nulos. + Os valores nulos são convertidos em "(null)". Os caracteres nulos são convertidos em "\\0". + + + O objeto a ser convertido em uma cadeia de caracteres. + + + A cadeia de caracteres convertida. + + + + + A asserção da cadeia de caracteres. + + + + + Obtém a instância singleton da funcionalidade CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + A mensagem a ser incluída na exceção quando + não começa com . A mensagem é + mostrada nos resultados de teste. + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + A mensagem a ser incluída na exceção quando + não começa com . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + A mensagem a ser incluída na exceção quando + não termina com . A mensagem é + mostrada nos resultados de teste. + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + A mensagem a ser incluída na exceção quando + não termina com . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + A mensagem a ser incluída na exceção quando + não corresponde a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + A mensagem a ser incluída na exceção quando + não corresponde a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + Thrown if matches . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + A mensagem a ser incluída na exceção quando + corresponde a . A mensagem é mostrada nos resultados de + teste. + + + Thrown if matches . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + A mensagem a ser incluída na exceção quando + corresponde a . A mensagem é mostrada nos resultados de + teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if matches . + + + + + Uma coleção de classes auxiliares para testar várias condições associadas + às coleções nos testes de unidade. Se a condição testada não é + atendida, uma exceção é gerada. + + + + + Obtém a instância singleton da funcionalidade CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + Thrown if is found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + A mensagem a ser incluída na exceção quando + está em . A mensagem é mostrada nos resultados de + teste. + + + Thrown if is found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + A mensagem a ser incluída na exceção quando + está em . A mensagem é mostrada nos resultados de + teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is found in + . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + A mensagem a ser incluída na exceção quando + contém um elemento nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + A mensagem a ser incluída na exceção quando + contém um elemento nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + A mensagem a ser incluída na exceção quando + contém pelo menos um elemento duplicado. A mensagem é mostrada nos + resultados de teste. + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + A mensagem a ser incluída na exceção quando + contém pelo menos um elemento duplicado. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + A mensagem a ser incluída na exceção quando um elemento em + não é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + A mensagem a ser incluída na exceção quando um elemento em + não é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + Thrown if every element in is also found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + A mensagem a ser incluída na exceção quando todo elemento em + também é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Thrown if every element in is also found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + A mensagem a ser incluída na exceção quando todo elemento em + também é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if every element in is also found in + . + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando um elemento foi encontrado + em uma das coleções, mas não na outra. A mensagem é mostrada + nos resultados de teste. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando um elemento foi encontrado + em uma das coleções, mas não na outra. A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando + contém os mesmos elementos que . A mensagem + é mostrada nos resultados de teste. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando + contém os mesmos elementos que . A mensagem + é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + A mensagem a ser incluída na exceção quando um elemento em + não é uma instância de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + A mensagem a ser incluída na exceção quando um elemento em + não é uma instância de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Determina se a primeira coleção é um subconjunto da segunda + coleção. Se os conjuntos contiverem elementos duplicados, o número + de ocorrências do elemento no subconjunto deverá ser menor ou igual + ao número de ocorrências no superconjunto. + + + A coleção que o teste espera que esteja contida em . + + + A coleção que o teste espera que contenha . + + + Verdadeiro se é um subconjunto de + , caso contrário, falso. + + + + + Cria um dicionário contendo o número de ocorrências de cada + elemento na coleção especificada. + + + A coleção a ser processada. + + + O número de elementos nulos na coleção. + + + Um dicionário contendo o número de ocorrências de cada elemento + na coleção especificada. + + + + + Encontra um elemento incompatível entre as duas coleções. Um elemento + incompatível é aquele que aparece um número diferente de vezes na + coleção esperada em relação à coleção real. É pressuposto que + as coleções sejam referências não nulas diferentes com o + mesmo número de elementos. O chamador é responsável por esse nível de + verificação. Se não houver nenhum elemento incompatível, a função retornará + falso e os parâmetros de saída não deverão ser usados. + + + A primeira coleção a ser comparada. + + + A segunda coleção a ser comparada. + + + O número esperado de ocorrências de + ou 0 se não houver nenhum elemento + incompatível. + + + O número real de ocorrências de + ou 0 se não houver nenhum elemento + incompatível. + + + O elemento incompatível (poderá ser nulo) ou nulo se não houver nenhum + elemento incompatível. + + + verdadeiro se um elemento incompatível foi encontrado. Caso contrário, falso. + + + + + compara os objetos usando object.Equals + + + + + Classe base para exceções do Framework. + + + + + Inicializa uma nova instância da classe . + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Uma classe de recurso fortemente tipada para pesquisar cadeias de caracteres localizadas, etc. + + + + + Retorna a instância de ResourceManager armazenada em cache usada por essa classe. + + + + + Substitui a propriedade CurrentUICulture do thread atual em todas + as pesquisas de recursos usando essa classe de recurso fortemente tipada. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres de acesso tem sintaxe inválida. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A coleção esperada contém {1} ocorrência(s) de <{2}>. A coleção real contém {3} ocorrência(s). {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Item duplicado encontrado:<{1}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1}>. Maiúsculas e minúsculas diferentes para o valor real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperada uma diferença não maior que <{3}> entre o valor esperado <{1}> e o valor real <{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1} ({2})>. Real:<{3} ({4})>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1}>. Real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperada uma diferença maior que <{3}> entre o valor esperado <{1}> e o valor real <{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a É esperado qualquer valor, exceto:<{1}>. Real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Não passe tipos de valores para AreSame(). Os valores convertidos em Object nunca serão os mesmos. Considere usar AreEqual(). {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante à Falha em {0}. {1}. + + + + + Pesquisa uma cadeia de caracteres localizada similar a TestMethod assíncrono com UITestMethodAttribute sem suporte. Remova o assíncrono ou use o TestMethodAttribute. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções estão vazias. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções contêm os mesmos elementos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as referências de coleções apontam para o mesmo objeto de coleção. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções contêm os mesmos elementos. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0}({1}). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (nulo). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (objeto). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não contém a cadeia de caracteres '{1}'. {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0} ({1}). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Assert.Equals não deve ser usado para Asserções. Use Assert.AreEqual e sobrecargas em seu lugar. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O número de elementos nas coleções não corresponde. Esperado:<{1}>. Real:<{2}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {0} não corresponde. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {1} não é de tipo esperado. Tipo esperado:<{2}>. Tipo real:<{3}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {1} é (nulo). Tipo esperado:<{2}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não termina com a cadeia de caracteres '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Argumento inválido – EqualsTester não pode usar nulos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Não é possível converter objeto do tipo {0} em {1}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O objeto interno referenciado não é mais válido. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O parâmetro '{0}' é inválido. {1}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A propriedade {0} é do tipo {1}; tipo esperado {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0} Tipo esperado:<{1}>. Tipo real:<{2}>.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não corresponde ao padrão '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Tipo incorreto:<{1}>. Tipo real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' corresponde ao padrão '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Nenhum DataRowAttribute especificado. Pelo menos um DataRowAttribute é necessário com DataTestMethodAttribute. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Nenhuma exceção gerada. A exceção {1} era esperada. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O parâmetro '{0}' é inválido. O valor não pode ser nulo. {1}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Número diferente de elementos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a + O construtor com a assinatura especificada não pôde ser encontrado. Talvez seja necessário gerar novamente seu acessador particular + ou o membro pode ser particular e definido em uma classe base. Se o último for verdadeiro, será necessário passar o tipo + que define o membro no construtor do PrivateObject. + . + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a + O membro especificado ({0}) não pôde ser encontrado. Talvez seja necessário gerar novamente seu acessador particular + ou o membro pode ser particular e definido em uma classe base. Se o último for verdadeiro, será necessário passar o tipo + que define o membro no construtor do PrivateObject. + . + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não começa com a cadeia de caracteres '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O tipo de exceção esperado deve ser System.Exception ou um tipo derivado de System.Exception. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (Falha ao obter a mensagem para uma exceção do tipo {0} devido a uma exceção.). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste não gerou a exceção esperada {0}. {1}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste não gerou uma exceção. Uma exceção era esperada pelo atributo {0} definido no método de teste. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste gerou a exceção {0}, mas era esperada a exceção {1}. Mensagem de exceção: {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste gerou a exceção {0}, mas era esperado a exceção {1} ou um tipo derivado dela. Mensagem de exceção: {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Exceção gerada {2}, mas a exceção {1} era esperada. {0} + Mensagem de Exceção: {3} + Rastreamento de Pilha: {4}. + + + + + resultados de teste de unidade + + + + + O teste foi executado, mas ocorreram problemas. + Os problemas podem envolver exceções ou asserções com falha. + + + + + O teste foi concluído, mas não é possível dizer se houve aprovação ou falha. + Pode ser usado para testes anulados. + + + + + O teste foi executado sem nenhum problema. + + + + + O teste está em execução no momento. + + + + + Ocorreu um erro de sistema ao tentarmos executar um teste. + + + + + O tempo limite do teste foi atingido. + + + + + O teste foi anulado pelo usuário. + + + + + O teste está em um estado desconhecido + + + + + Fornece funcionalidade auxiliar para a estrutura do teste de unidade + + + + + Obtém as mensagens de exceção, incluindo as mensagens para todas as exceções internas + recursivamente + + Exceção ao obter mensagens para + cadeia de caracteres com informações de mensagem de erro + + + + Enumeração para tempos limite, a qual pode ser usada com a classe . + O tipo de enumeração deve corresponder + + + + + O infinito. + + + + + O atributo da classe de teste. + + + + + Obtém um atributo de método de teste que habilita a execução desse teste. + + A instância de atributo do método de teste definida neste método. + O a ser usado para executar esse teste. + Extensions can override this method to customize how all methods in a class are run. + + + + O atributo do método de teste. + + + + + Executa um método de teste. + + O método de teste a ser executado. + Uma matriz de objetos TestResult que representam resultados do teste. + Extensions can override this method to customize running a TestMethod. + + + + O atributo de inicialização do teste. + + + + + O atributo de limpeza do teste. + + + + + O atributo ignorar. + + + + + O atributo de propriedade de teste. + + + + + Inicializa uma nova instância da classe . + + + O nome. + + + O valor. + + + + + Obtém o nome. + + + + + Obtém o valor. + + + + + O atributo de inicialização de classe. + + + + + O atributo de limpeza de classe. + + + + + O atributo de inicialização de assembly. + + + + + O atributo de limpeza de assembly. + + + + + Proprietário do Teste + + + + + Inicializa uma nova instância da classe . + + + O proprietário. + + + + + Obtém o proprietário. + + + + + Atributo de prioridade. Usado para especificar a prioridade de um teste de unidade. + + + + + Inicializa uma nova instância da classe . + + + A prioridade. + + + + + Obtém a prioridade. + + + + + Descrição do teste + + + + + Inicializa uma nova instância da classe para descrever um teste. + + A descrição. + + + + Obtém a descrição de um teste. + + + + + URI de Estrutura do Projeto de CSS + + + + + Inicializa a nova instância da classe para o URI da Estrutura do Projeto CSS. + + O URI da Estrutura do Projeto ECSS. + + + + Obtém o URI da Estrutura do Projeto CSS. + + + + + URI de Iteração de CSS + + + + + Inicializa uma nova instância da classe para o URI de Iteração do CSS. + + O URI de iteração do CSS. + + + + Obtém o URI de Iteração do CSS. + + + + + Atributo WorkItem. Usado para especificar um item de trabalho associado a esse teste. + + + + + Inicializa a nova instância da classe para o Atributo WorkItem. + + A ID para o item de trabalho. + + + + Obtém a ID para o item de trabalho associado. + + + + + Atributo de tempo limite. Usado para especificar o tempo limite de um teste de unidade. + + + + + Inicializa uma nova instância da classe . + + + O tempo limite. + + + + + Inicializa a nova instância da classe com um tempo limite predefinido + + + O tempo limite + + + + + Obtém o tempo limite. + + + + + O objeto TestResult a ser retornado ao adaptador. + + + + + Inicializa uma nova instância da classe . + + + + + Obtém ou define o nome de exibição do resultado. Útil ao retornar vários resultados. + Se for nulo, o nome do Método será usado como o DisplayName. + + + + + Obtém ou define o resultado da execução de teste. + + + + + Obtém ou define a exceção gerada quando o teste falha. + + + + + Obtém ou define a saída da mensagem registrada pelo código de teste. + + + + + Obtém ou define a saída da mensagem registrada pelo código de teste. + + + + + Obtém ou define os rastreamentos de depuração pelo código de teste. + + + + + Gets or sets the debug traces by test code. + + + + + Obtém ou define a duração de execução do teste. + + + + + Obtém ou define o índice de linha de dados na fonte de dados. Defina somente para os resultados de execuções + individuais de um teste controlado por dados. + + + + + Obtém ou define o valor retornado do método de teste. (Sempre nulo no momento). + + + + + Obtém ou define os arquivos de resultado anexados pelo teste. + + + + + Especifica a cadeia de conexão, o nome de tabela e o método de acesso de linha para teste controlado por dados. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + O nome do provedor padrão para a DataSource. + + + + + O método de acesso a dados padrão. + + + + + Inicializa a nova instância da classe . Essa instância será inicializada com um provedor de dados, uma cadeia de conexão, uma tabela de dados e um método de acesso a dados para acessar a fonte de dados. + + Nome do provedor de dados invariável, como System.Data.SqlClient + + Cadeia de conexão específica do provedor de dados. + AVISO: a cadeia de conexão pode conter dados confidenciais (por exemplo, uma senha). + A cadeia de conexão é armazenada em texto sem formatação no código-fonte e no assembly compilado. + Restrinja o acesso ao código-fonte e ao assembly para proteger essas formações confidenciais. + + O nome da tabela de dados. + Especifica a ordem para acessar os dados. + + + + Inicializa a nova instância da classe . Essa instância será inicializada com uma cadeia de conexão e um nome da tabela. + Especifique a cadeia de conexão e a tabela de dados para acessar a fonte de dados OLEDB. + + + Cadeia de conexão específica do provedor de dados. + AVISO: a cadeia de conexão pode conter dados confidenciais (por exemplo, uma senha). + A cadeia de conexão é armazenada em texto sem formatação no código-fonte e no assembly compilado. + Restrinja o acesso ao código-fonte e ao assembly para proteger essas formações confidenciais. + + O nome da tabela de dados. + + + + Inicializa a nova instância da classe . Essa instância será inicializada com um provedor de dados e com uma cadeia de conexão associada ao nome da configuração. + + O nome da fonte de dados encontrada na seção <microsoft.visualstudio.qualitytools> do arquivo app.config. + + + + Obtém o valor que representa o provedor de dados da fonte de dados. + + + O nome do provedor de dados. Se um provedor de dados não foi designado na inicialização do objeto, o provedor de dados padrão de System.Data.OleDb será retornado. + + + + + Obtém o valor que representa a cadeia de conexão da fonte de dados. + + + + + Obtém um valor que indica o nome da tabela que fornece dados. + + + + + Obtém o método usado para acessar a fonte de dados. + + + + Um dos valores. Se o não for inicializado, o valor padrão será retornado . + + + + + Obtém o nome da fonte de dados encontrada na seção <microsoft.visualstudio.qualitytools> no arquivo app.config. + + + + + O atributo para teste controlado por dados em que os dados podem ser especificados de maneira embutida. + + + + + Encontrar todas as linhas de dados e executar. + + + O Método de teste. + + + Uma matriz de . + + + + + Executa o método de teste controlado por dados. + + O método de teste a ser executado. + Linha de Dados. + Resultados de execução. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..f697706 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Используется для указания элемента развертывания (файл или каталог) для развертывания каждого теста. + Может указываться для тестового класса или метода теста. + Чтобы указать несколько элементов, можно использовать несколько экземпляров атрибута. + Путь к элементу может быть абсолютным или относительным, в последнем случае он указывается по отношению к RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + Инициализирует новый экземпляр класса . + + Файл или каталог для развертывания. Этот путь задается относительно выходного каталога сборки. Элемент будет скопирован в тот же каталог, что и развернутые сборки теста. + + + + Инициализирует новый экземпляр класса + + Относительный или абсолютный путь к файлу или каталогу для развертывания. Этот путь задается относительно выходного каталога сборки. Элемент будет скопирован в тот же каталог, что и развернутые сборки теста. + Путь к каталогу, в который должны быть скопированы элементы. Он может быть абсолютным или относительным (по отношению к каталогу развертывания). Все файлы и каталоги, обозначенные при помощи будет скопировано в этот каталог. + + + + Получает путь к копируемым исходному файлу или папке. + + + + + Получает путь к каталогу, в который копируется элемент. + + + + + Класс TestContext. Этот класс должен быть полностью абстрактным и не должен содержать ни одного элемента. + Элементы будут реализованы в адаптере. Пользователи платформы должны обращаться к этому классу + только при помощи четко определенного интерфейса. + + + + + Получает свойства теста. + + + + + Получает полное имя класса, содержащего метод теста, который выполняется в данный момент + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Получает имя метода теста, выполняемого в данный момент + + + + + Получает текущий результат теста. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..f278594 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4202 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod для выполнения. + + + + + Получает имя метода теста. + + + + + Получает имя тестового класса. + + + + + Получает тип возвращаемого значения метода теста. + + + + + Получает параметры метода теста. + + + + + Получает methodInfo для метода теста. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Вызывает метод теста. + + + Аргументы, передаваемые методу теста (например, для управляемых данными тестов). + + + Результат вызова метода теста. + + + This call handles asynchronous test methods as well. + + + + + Получить все атрибуты метода теста. + + + Допустим ли атрибут, определенный в родительском классе. + + + Все атрибуты. + + + + + Получить атрибут указанного типа. + + System.Attribute type. + + Допустим ли атрибут, определенный в родительском классе. + + + Атрибуты указанного типа. + + + + + Вспомогательный метод. + + + + + Параметр проверки не имеет значения NULL. + + + Параметр. + + + Имя параметра. + + + Сообщение. + + Throws argument null exception when parameter is null. + + + + Параметр проверки не равен NULL или не пуст. + + + Параметр. + + + Имя параметра. + + + Сообщение. + + Throws ArgumentException when parameter is null. + + + + Перечисление, описывающее способ доступа к строкам данных в тестах, управляемых данными. + + + + + Строки возвращаются в последовательном порядке. + + + + + Строки возвращаются в случайном порядке. + + + + + Атрибут для определения встроенных данных для метода теста. + + + + + Инициализирует новый экземпляр класса . + + Объект данных. + + + + Инициализирует новый экземпляр класса , принимающий массив аргументов. + + Объект данных. + Дополнительные данные. + + + + Получает данные для вызова метода теста. + + + + + Получает или задает отображаемое имя в результатах теста для настройки. + + + + + Исключение утверждения с неопределенным результатом. + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Инициализирует новый экземпляр класса . + + + + + Класс InternalTestFailureException. Используется для указания внутреннего сбоя для тестового случая + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Инициализирует новый экземпляр класса . + + Сообщение об исключении. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение об исключении. + + + + Инициализирует новый экземпляр класса . + + + + + Атрибут, который указывает, что ожидается исключение указанного типа + + + + + Инициализирует новый экземпляр класса ожидаемого типа + + Тип ожидаемого исключения + + + + Инициализирует новый экземпляр класса + ожидаемого типа c сообщением для включения, когда тест не создает исключение. + + Тип ожидаемого исключения + + Сообщение для включения в результат теста, если тест не был пройден из-за того, что не создал исключение + + + + + Получает значение, указывающее тип ожидаемого исключения + + + + + Получает или задает значение, которое означает, являются ли ожидаемыми типы, производные + от типа ожидаемого исключения + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Проверяет, является ли ожидаемым тип исключения, созданного модульным тестом + + Исключение, созданное модульным тестом + + + + Базовый класс для атрибутов, которые указывают ожидать исключения из модульного теста + + + + + Инициализирует новый экземпляр класса с сообщением об отсутствии исключений по умолчанию + + + + + Инициализирует новый экземпляр класса с сообщением об отсутствии исключений + + + Сообщение для включения в результат теста, если тест не был пройден из-за того, что не создал + исключение + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Получает сообщение по умолчанию об отсутствии исключений + + Название типа для атрибута ExpectedException + Сообщение об отсутствии исключений по умолчанию + + + + Определяет, ожидается ли исключение. Если метод возвращает управление, то + считается, что ожидалось исключение. Если метод создает исключение, то + считается, что исключение не ожидалось, и сообщение созданного исключения + включается в результат теста. Для удобства можно использовать класс . + Если используется и утверждение завершается с ошибкой, + то результат теста будет неопределенным. + + Исключение, созданное модульным тестом + + + + Повторно создать исключение при возникновении исключения AssertFailedException или AssertInconclusiveException + + Исключение, которое необходимо создать повторно, если это исключение утверждения + + + + Этот класс предназначен для пользователей, выполняющих модульное тестирование для универсальных типов. + GenericParameterHelper удовлетворяет некоторым распространенным ограничениям для универсальных типов, + например. + 1. Открытый конструктор по умолчанию + 2. Реализует общий интерфейс: IComparable, IEnumerable + + + + + Инициализирует новый экземпляр класса , который + удовлетворяет ограничению newable в универсальных типах C#. + + + This constructor initializes the Data property to a random value. + + + + + Инициализирует новый экземпляр класса , который + инициализирует свойство Data в указанное пользователем значение. + + Любое целочисленное значение + + + + Получает или задает данные + + + + + Сравнить значения двух объектов GenericParameterHelper + + объект, с которым будет выполнено сравнение + True, если obj имеет то же значение, что и объект "this" GenericParameterHelper. + В противном случае False. + + + + Возвращает хэш-код для этого объекта. + + Хэш-код. + + + + Сравнивает данные двух объектов . + + Объект для сравнения. + + Число со знаком, указывающее относительные значения этого экземпляра и значения. + + + Thrown when the object passed in is not an instance of . + + + + + Возвращает объект IEnumerator, длина которого является производной + от свойства Data. + + Объект IEnumerator + + + + Возвращает объект GenericParameterHelper, равный + текущему объекту. + + Клонированный объект. + + + + Позволяет пользователям регистрировать/записывать трассировки от модульных тестов для диагностики. + + + + + Обработчик LogMessage. + + Сообщение для записи в журнал. + + + + Прослушиваемое событие. Возникает, когда средство записи модульных тестов записывает сообщение. + Главным образом используется адаптером. + + + + + API, при помощи которого средство записи теста будет обращаться к сообщениям журнала. + + Строка формата с заполнителями. + Параметры для заполнителей. + + + + Атрибут TestCategory; используется для указания категории модульного теста. + + + + + Инициализирует новый экземпляр класса и применяет категорию к тесту. + + + Категория теста. + + + + + Возвращает или задает категории теста, которые были применены к тесту. + + + + + Базовый класс для атрибута Category + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Инициализирует новый экземпляр класса . + Применяет к тесту категорию. Строки, возвращаемые TestCategories , + используются с командой /category для фильтрации тестов + + + + + Возвращает или задает категорию теста, которая была применена к тесту. + + + + + Класс AssertFailedException. Используется для указания сбоя тестового случая + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Инициализирует новый экземпляр класса . + + + + + Коллекция вспомогательных классов для тестирования различных условий в + модульных тестах. Если проверяемое условие + ложно, создается исключение. + + + + + Получает одноэлементный экземпляр функции Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение False. Сообщение отображается в результатах теста. + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение False. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Thrown if is true. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение True. Сообщение отображается в результатах теста. + + + Thrown if is true. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение True. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is true. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение, отличное от NULL. Сообщение отображается в результатах теста. + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение, отличное от NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Thrown if is null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение NULL. Сообщение отображается в результатах теста. + + + Thrown if is null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is null. + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается + в результатах тестирования. + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается + в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Thrown if refers to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if refers to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if refers to the same object + as . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Thrown if is not equal to . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Thrown if is not equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Thrown if is equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Сообщение, которое будет добавлено в исключение, если + не является экземпляром . Сообщение + отображается в результатах тестирования. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Сообщение, которое будет добавлено в исключение, если + не является экземпляром . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Сообщение, которое будет добавлено в исключение, если + является экземпляром класса . Сообщение отображается + в результатах тестирования. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Сообщение, которое будет добавлено в исключение, если + является экземпляром класса . Сообщение отображается + в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Создает исключение AssertFailedException. + + + Always thrown. + + + + + Создает исключение AssertFailedException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Always thrown. + + + + + Создает исключение AssertFailedException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Always thrown. + + + + + Статические переопределения равенства используются для сравнения экземпляров двух типов на равенство + ссылок. Этот метод не должен использоваться для сравнения двух экземпляров на + равенство. Этот объект всегда создает исключение с Assert.Fail. Используйте в ваших модульных тестах + Assert.AreEqual и связанные переопределения. + + Объект A + Объект B + False (всегда). + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Проверяет, создает ли код, указанный с помощью делегата , в точности заданное исключение типа (и не производного типа ), + и создает исключение AssertFailedException , если код не создает исключение, или создает исключение типа, отличного от . + + Делегат для проверяемого кода, который должен создать исключение. + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Проверяет, создает ли код, указанный с помощью делегата , в точности заданное исключение типа (и не производного типа ), + и создает исключение AssertFailedException , если код не создает исключение, или создает исключение типа, отличного от . + + Делегат для проверяемого кода, который должен создать исключение. + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Заменяет NULL-символы ("\0") символами "\\0". + + + Искомая строка. + + + Преобразованная строка, в которой NULL-символы были заменены на "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Вспомогательная функция, которая создает и вызывает AssertionFailedException + + + имя утверждения, создавшего исключение + + + сообщение с описанием условий для сбоя утверждения + + + Параметры. + + + + + Проверяет параметр на допустимые условия + + + Параметр. + + + Имя утверждения. + + + имя параметра + + + сообщение об исключении, связанном с недопустимым параметром + + + Параметры. + + + + + Безопасно преобразует объект в строку, обрабатывая значения NULL и NULL-символы. + Значения NULL преобразуются в "(null)", NULL-символы — в "\\0". + + + Объект для преобразования в строку. + + + Преобразованная строка. + + + + + Утверждение строки. + + + + + Получает одноэлементный экземпляр функции CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not found in + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Thrown if does not begin with + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Сообщение, которое будет добавлено в исключение, если + не начинается с . Сообщение + отображается в результатах тестирования. + + + Thrown if does not begin with + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Сообщение, которое будет добавлено в исключение, если + не начинается с . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not begin with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Thrown if does not end with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Сообщение, которое будет добавлено в исключение, если + не заканчивается на . Сообщение + отображается в результатах тестирования. + + + Thrown if does not end with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Сообщение, которое будет добавлено в исключение, если + не заканчивается на . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not end with + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Thrown if does not match + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + не соответствует . Сообщение отображается в + результатах тестирования. + + + Thrown if does not match + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + не соответствует . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not match + . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Thrown if matches . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + соответствует . Сообщение отображается в результатах + тестирования. + + + Thrown if matches . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + соответствует . Сообщение отображается в результатах + тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if matches . + + + + + Коллекция вспомогательных классов для тестирования различных условий, связанных + с коллекциями в модульных тестах. Если проверяемое условие + ложно, создается исключение. + + + + + Получает одноэлементный экземпляр функции CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Thrown if is found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + находится в . Сообщение отображается в результатах + тестирования. + + + Thrown if is found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + находится в . Сообщение отображается в результатах + тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is found in + . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Thrown if a null element is found in . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Сообщение, которое будет добавлено в исключение, если + содержит элемент, равный NULL. Сообщение отображается в результатах теста. + + + Thrown if a null element is found in . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Сообщение, которое будет добавлено в исключение, если + содержит элемент, равный NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if a null element is found in . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Сообщение, которое будет добавлено в исключение, если + содержит как минимум один элемент-дубликат. Это сообщение отображается в + результатах теста. + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Сообщение, которое будет добавлено в исключение, если + содержит как минимум один элемент-дубликат. Это сообщение отображается в + результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Thrown if an element in is not found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если элемент в + не обнаружен в . + Сообщение отображается в результатах тестирования. + + + Thrown if an element in is not found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если элемент в + не обнаружен в . + Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if an element in is not found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Thrown if every element in is also found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если каждый элемент в + также обнаружен в . + Сообщение отображается в результатах тестирования. + + + Thrown if every element in is also found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если каждый элемент в + также обнаружен в . + Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if every element in is also found in + . + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если элемент был обнаружен + в одной коллекции, но не обнаружен в другой. Это сообщение отображается + в результатах теста. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если элемент был обнаружен + в одной коллекции, но не обнаружен в другой. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + содержит такие же элементы, что и . Сообщение + отображается в результатах тестирования. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + содержит такие же элементы, что и . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Сообщение, которое будет добавлено в исключение, если элемент в + не является экземпляром + . Сообщение отображается в результатах тестирования. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Сообщение, которое будет добавлено в исключение, если элемент в + не является экземпляром + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Определяет, является ли первая коллекция подмножеством второй + коллекции. Если любое из множеств содержит одинаковые элементы, то число + вхождений элемента в подмножестве должно быть меньше или + равно количеству вхождений в супермножестве. + + + Коллекция, которая с точки зрения теста должна содержаться в . + + + Коллекция, которая с точки зрения теста должна содержать . + + + Значение True, если является подмножеством + , в противном случае — False. + + + + + Создает словарь с числом вхождений каждого элемента + в указанной коллекции. + + + Обрабатываемая коллекция. + + + Число элементов, имеющих значение NULL, в коллекции. + + + Словарь с числом вхождений каждого элемента + в указанной коллекции. + + + + + Находит несоответствующий элемент между двумя коллекциями. Несоответствующий + элемент — это элемент, количество вхождений которого в ожидаемой коллекции отличается + от фактической коллекции. В качестве коллекций + ожидаются различные ссылки, отличные от null, с одинаковым + количеством элементов. За этот уровень проверки отвечает + вызывающий объект. Если несоответствующих элементов нет, функция возвращает + False, и выходные параметры использовать не следует. + + + Первая сравниваемая коллекция. + + + Вторая сравниваемая коллекция. + + + Ожидаемое число вхождений + или 0, если несоответствующие элементы + отсутствуют. + + + Фактическое число вхождений + или 0, если несоответствующие элементы + отсутствуют. + + + Несоответствующий элемент (может иметь значение NULL) или значение NULL, если несоответствующий + элемент отсутствует. + + + Значение True, если был найден несоответствующий элемент, в противном случае — False. + + + + + сравнивает объекты при помощи object.Equals + + + + + Базовый класс для исключений платформы. + + + + + Инициализирует новый экземпляр класса . + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Строго типизированный класс ресурса для поиска локализованных строк и т. д. + + + + + Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. + + + + + Переопределяет свойство CurrentUICulture текущего потока для всех операций + поиска ресурсов, в которых используется этот строго типизированный класс. + + + + + Ищет локализованную строку, похожую на "Синтаксис строки доступа неверен". + + + + + Ищет локализованную строку, похожую на "Ожидаемая коллекция содержит {1} вхождений <{2}>. Фактическая коллекция содержит {3} вхождений. {0}". + + + + + Ищет локализованную строку, похожую на "Обнаружен элемент-дубликат: <{1}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1}>. Фактическое значение имеет другой регистр: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Различие между ожидаемым значением <{1}> и фактическим значением <{2}> должно было составлять не больше <{3}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1} ({2})>. Фактическое: <{3} ({4})>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1}>. Фактическое: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Различие между ожидаемым значением <{1}> и фактическим значением <{2}> должно было составлять больше <{3}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидалось любое значение, кроме: <{1}>. Фактическое значение: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Не передавайте типы значений в AreSame(). Значения, преобразованные в объекты, никогда не будут одинаковыми. Воспользуйтесь методом AreEqual(). {0}". + + + + + Ищет локализованную строку, похожую на "Сбой {0}. {1}". + + + + + Ищет локализованную строку, аналогичную "Асинхронный метод TestMethod с UITestMethodAttribute не поддерживается. Удалите async или используйте TestMethodAttribute". + + + + + Ищет локализованную строку, похожую на "Обе коллекции пусты. {0}". + + + + + Ищет локализованную строку, похожую на "Обе коллекции содержат одинаковые элементы". + + + + + Ищет локализованную строку, похожую на "Ссылки на обе коллекции указывают на один объект коллекции. {0}". + + + + + Ищет локализованную строку, похожую на "Обе коллекции содержат одинаковые элементы. {0}". + + + + + Ищет локализованную строку, похожую на "{0}({1})". + + + + + Ищет локализованную строку, похожую на "(NULL)". + + + + + Ищет локализованную строку, похожую на "(объект)". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не содержит строку "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "{0} ({1})". + + + + + Ищет локализованную строку, похожую на "Assert.Equals не следует использовать для Assertions. Используйте Assert.AreEqual и переопределения". + + + + + Ищет локализованную строку, похожую на "Число элементов в коллекциях не совпадает. Ожидаемое число: <{1}>. Фактическое: <{2}>.{0}". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {0} не соответствует". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {1} имеет непредвиденный тип. Ожидаемый тип: <{2}>. Фактический тип: <{3}>.{0}". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {1} имеет значение (NULL). Ожидаемый тип: <{2}>.{0}". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не заканчивается строкой "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Недопустимый аргумент — EqualsTester не может использовать значения NULL". + + + + + Ищет локализованную строку, похожую на "Невозможно преобразовать объект типа {0} в {1}". + + + + + Ищет локализованную строку, похожую на "Внутренний объект, на который была сделана ссылка, более не действителен". + + + + + Ищет локализованную строку, похожую на "Параметр "{0}" недопустим. {1}". + + + + + Ищет локализованную строку, похожую на "Свойство {0} имеет тип {1}; ожидаемый тип: {2}". + + + + + Ищет локализованную строку, похожую на "{0} Ожидаемый тип: <{1}>. Фактический тип: <{2}>". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не соответствует шаблону "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Неправильный тип: <{1}>. Фактический тип: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" соответствует шаблону "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Не указан атрибут DataRowAttribute. Необходимо указать как минимум один атрибут DataRowAttribute с атрибутом DataTestMethodAttribute". + + + + + Ищет локализованную строку, похожую на "Исключение не было создано. Ожидалось исключение {1}. {0}". + + + + + Ищет локализованную строку, похожую на "Параметр "{0}" недопустим. Значение не может быть равно NULL. {1}". + + + + + Ищет локализованную строку, похожую на "Число элементов различается". + + + + + Ищет локализованную строку, похожую на + "Не удалось найти конструктор с указанной сигнатурой. Возможно, потребуется повторно создать закрытый метод доступа, + или элемент может быть закрытым и определяться в базовом классе. В последнем случае необходимо передать тип, + определяющий элемент, в конструктор класса PrivateObject". + . + + + + + Ищет локализованную строку, похожую на + "Не удалось найти указанный элемент ({0}). Возможно, потребуется повторно создать закрытый метод доступа, + или элемент может быть закрытым и определяться в базовом классе. В последнем случае необходимо передать тип, + определяющий элемент, в конструктор PrivateObject". + . + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не начинается со строки "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое исключение должно иметь тип System.Exception или производный от него тип". + + + + + Ищет локализованную строку, похожую на "(Не удалось получить сообщение для исключения типа {0} из-за исключения.)". + + + + + Ищет локализованную строку, похожую на "Метод теста не создал ожидаемое исключение {0}. {1}". + + + + + Ищет локализованную строку, похожую на "Метод теста не создал исключение. Исключение ожидалось атрибутом {0}, определенным в методе теста". + + + + + Ищет локализованную строку, похожую на "Метод теста создан исключение {0}, а ожидалось исключение {1}. Сообщение исключения: {2}". + + + + + Ищет локализованную строку, похожую на "Метод теста создал исключение {0}, а ожидалось исключение {1} или производный от него тип. Сообщение исключения: {2}". + + + + + Ищет локализованную строку, похожую на "Создано исключение {2}, а ожидалось исключение {1}. {0} + Сообщение исключения: {3} + Стек трассировки: {4}". + + + + + результаты модульного теста + + + + + Тест был выполнен, но при его выполнении возникли проблемы. + Эти проблемы могут включать исключения или сбой утверждений. + + + + + Тест завершен, но результат его завершения неизвестен. + Может использоваться для прерванных тестов. + + + + + Тест был выполнен без проблем. + + + + + Тест выполняется в данный момент. + + + + + При попытке выполнения теста возникла ошибка в системе. + + + + + Время ожидания для теста истекло. + + + + + Тест прерван пользователем. + + + + + Тест находится в неизвестном состоянии + + + + + Предоставляет вспомогательные функции для платформы модульных тестов + + + + + Получает сообщения с исключениями, включая сообщения для всех внутренних исключений + (рекурсивно) + + Исключение, для которого следует получить сообщения + строка с сообщением об ошибке + + + + Перечисление для времен ожидания, которое можно использовать с классом . + Тип перечисления должен соответствовать + + + + + Бесконечно. + + + + + Атрибут тестового класса. + + + + + Получает атрибут метода теста, включающий выполнение этого теста. + + Для этого метода определен экземпляр атрибута метода теста. + + для использования для выполнения этого теста. + Extensions can override this method to customize how all methods in a class are run. + + + + Атрибут метода теста. + + + + + Выполняет метод теста. + + Выполняемый метод теста. + Массив объектов TestResult, представляющих результаты теста. + Extensions can override this method to customize running a TestMethod. + + + + Атрибут инициализации теста. + + + + + Атрибут очистки теста. + + + + + Атрибут игнорирования. + + + + + Атрибут свойства теста. + + + + + Инициализирует новый экземпляр класса . + + + Имя. + + + Значение. + + + + + Получает имя. + + + + + Получает значение. + + + + + Атрибут инициализации класса. + + + + + Атрибут очистки класса. + + + + + Атрибут инициализации сборки. + + + + + Атрибут очистки сборки. + + + + + Владелец теста + + + + + Инициализирует новый экземпляр класса . + + + Владелец. + + + + + Получает владельца. + + + + + Атрибут Priority; используется для указания приоритета модульного теста. + + + + + Инициализирует новый экземпляр класса . + + + Приоритет. + + + + + Получает приоритет. + + + + + Описание теста + + + + + Инициализирует новый экземпляр класса для описания теста. + + Описание. + + + + Получает описание теста. + + + + + URI структуры проекта CSS + + + + + Инициализирует новый экземпляр класса для URI структуры проекта CSS. + + URI структуры проекта CSS. + + + + Получает URI структуры проекта CSS. + + + + + URI итерации CSS + + + + + Инициализирует новый экземпляр класса для URI итерации CSS. + + URI итерации CSS. + + + + Получает URI итерации CSS. + + + + + Атрибут WorkItem; используется для указания рабочего элемента, связанного с этим тестом. + + + + + Инициализирует новый экземпляр класса для атрибута WorkItem. + + Идентификатор рабочего элемента. + + + + Получает идентификатор связанного рабочего элемента. + + + + + Атрибут Timeout; используется для указания времени ожидания модульного теста. + + + + + Инициализирует новый экземпляр класса . + + + Время ожидания. + + + + + Инициализирует новый экземпляр класса с заданным временем ожидания + + + Время ожидания + + + + + Получает время ожидания. + + + + + Объект TestResult, который возвращается адаптеру. + + + + + Инициализирует новый экземпляр класса . + + + + + Получает или задает отображаемое имя результата. Удобно для возврата нескольких результатов. + Если параметр равен NULL, имя метода используется в качестве DisplayName. + + + + + Получает или задает результат выполнения теста. + + + + + Получает или задает исключение, создаваемое, если тест не пройден. + + + + + Получает или задает выходные данные сообщения, записываемого кодом теста. + + + + + Получает или задает выходные данные сообщения, записываемого кодом теста. + + + + + Получает или задает трассировки отладки для кода теста. + + + + + Gets or sets the debug traces by test code. + + + + + Получает или задает продолжительность выполнения теста. + + + + + Возвращает или задает индекс строки данных в источнике данных. Задается только для результатов выполнения + отдельных строк данных для теста, управляемого данными. + + + + + Получает или задает возвращаемое значение для метода теста. (Сейчас всегда равно NULL.) + + + + + Возвращает или задает файлы результатов, присоединенные во время теста. + + + + + Задает строку подключения, имя таблицы и метод доступа к строкам для тестов, управляемых данными. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Имя поставщика по умолчанию для DataSource. + + + + + Метод доступа к данным по умолчанию. + + + + + Инициализирует новый экземпляр класса . Этот экземпляр инициализируется с поставщиком данных, строкой подключения, таблицей данных и методом доступа к данным для доступа к источнику данных. + + Имя инвариантного поставщика данных, например System.Data.SqlClient + + Строка подключения для поставщика данных. + Внимание! Строка подключения может содержать конфиденциальные данные (например, пароль). + Строка подключения хранится в виде открытого текста в исходном коде и в скомпилированной сборке. + Ограничьте доступ к исходному коду и сборке для защиты конфиденциальных данных. + + Имя таблицы данных. + Задает порядок доступа к данным. + + + + Инициализирует новый экземпляр класса . Этот экземпляр будет инициализирован с строкой подключения и именем таблицы. + Укажите строку подключения и таблицу данных для доступа к источнику данных OLEDB. + + + Строка подключения для поставщика данных. + Внимание! Строка подключения может содержать конфиденциальные данные (например, пароль). + Строка подключения хранится в виде открытого текста в исходном коде и в скомпилированной сборке. + Ограничьте доступ к исходному коду и сборке для защиты конфиденциальных данных. + + Имя таблицы данных. + + + + Инициализирует новый экземпляр класса . Этот экземпляр инициализируется с поставщиком данных и строкой подключения, связанной с именем параметра. + + Имя источника данных, обнаруженного в разделе <microsoft.visualstudio.qualitytools> файла app.config. + + + + Получает значение, представляющее поставщик данных для источника данных. + + + Имя поставщика данных. Если поставщик данных не был определен при инициализации объекта, будет возвращен поставщик по умолчанию, System.Data.OleDb. + + + + + Получает значение, представляющее строку подключения для источника данных. + + + + + Получает значение с именем таблицы, содержащей данные. + + + + + Возвращает метод, используемый для доступа к источнику данных. + + + + Один из значений. Если не инициализировано, возвращается значение по умолчанию . + + + + + Возвращает имя источника данных, обнаруженное в разделе <microsoft.visualstudio.qualitytools> файла app.config. + + + + + Атрибут для тестов, управляемых данными, в которых данные могут быть встроенными. + + + + + Найти все строки данных и выполнить. + + + Метод теста. + + + Массив . + + + + + Выполнение метода теста, управляемого данными. + + Выполняемый метод теста. + Строка данных. + Результаты выполнения. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..cfddb52 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Test başına dağıtım için dağıtım öğesi (dosya veya dizin) belirtmek üzere kullanılır. + Test sınıfında veya test metodunda belirtilebilir. + Birden fazla öğe belirtmek için özniteliğin birden fazla örneğini içerebilir. + Öğe yolu mutlak veya göreli olabilir; göreli ise RunConfig.RelativePathRoot ile görelidir. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + sınıfının yeni bir örneğini başlatır. + + Dağıtılacak dosya veya dizin. Yol, derleme çıktı dizinine göredir. Öğe, dağıtılan test bütünleştirilmiş kodlarıyla aynı dizine kopyalanır. + + + + sınıfının yeni bir örneğini başlatır + + Dağıtılacak dosya veya dizinin göreli ya da mutlak yolu. Yol, derleme çıktı dizinine göredir. Öğe, dağıtılan test bütünleştirilmiş kodlarıyla aynı dizine kopyalanır. + Öğelerin kopyalanacağı dizinin yolu. Dağıtım dizinine göre mutlak veya göreli olabilir. Tüm dosyalar ve dizinler şuna göre tanımlanır: bu dizine kopyalanacak. + + + + Kopyalanacak kaynak dosya veya klasörün yolunu alır. + + + + + Öğenin kopyalandığı dizinin yolunu alır. + + + + + TestContext sınıfı. Bu sınıf tamamen soyut olmalı ve herhangi bir üye + içermemelidir. Üyeler bağdaştırıcı tarafından uygulanır. Çerçevedeki kullanıcılar + buna yalnızca iyi tanımlanmış bir arabirim üzerinden erişmelidir. + + + + + Bir testin test özelliklerini alır. + + + + + O anda yürütülen test metodunu içeren sınıfın tam adını alır + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Yürütülmekte olan test metodunun Adını alır + + + + + Geçerli test sonucunu alır. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..b7a0029 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Yürütülecek TestMethod. + + + + + Test metodunun adını alır. + + + + + Test sınıfının adını alır. + + + + + Test metodunun dönüş türünü alır. + + + + + Test metodunun parametrelerini alır. + + + + + Test metodu için methodInfo değerini alır. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Test metodunu çağırır. + + + Test metoduna geçirilecek bağımsız değişkenler. (Örn. Veri temelli için) + + + Test yöntemi çağırma sonucu. + + + This call handles asynchronous test methods as well. + + + + + Test metodunun tüm özniteliklerini alır. + + + Üst sınıfta tanımlanan özniteliğin geçerli olup olmadığını belirtir. + + + Tüm öznitelikler. + + + + + Belirli bir türdeki özniteliği alır. + + System.Attribute type. + + Üst sınıfta tanımlanan özniteliğin geçerli olup olmadığını belirtir. + + + Belirtilen türün öznitelikleri. + + + + + Yardımcı. + + + + + Denetim parametresi null değil. + + + Parametre. + + + Parametre adı. + + + İleti. + + Throws argument null exception when parameter is null. + + + + Denetim parametresi null veya boş değil. + + + Parametre. + + + Parametre adı. + + + İleti. + + Throws ArgumentException when parameter is null. + + + + Veri tabanlı testlerde veri satırlarına erişme şekline yönelik sabit listesi. + + + + + Satırlar sıralı olarak döndürülür. + + + + + Satırlar rastgele sırayla döndürülür. + + + + + Bir test metodu için satır içi verileri tanımlayan öznitelik. + + + + + sınıfının yeni bir örneğini başlatır. + + Veri nesnesi. + + + + Bir bağımsız değişken dizisi alan sınıfının yeni bir örneğini başlatır. + + Bir veri nesnesi. + Daha fazla veri. + + + + Çağıran test metodu verilerini alır. + + + + + Özelleştirme için test sonuçlarında görünen adı alır veya ayarlar. + + + + + Onay sonuçlandırılmadı özel durumu. + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + sınıfının yeni bir örneğini başlatır. + + + + + InternalTestFailureException sınıfı. Bir test çalışmasının iç hatasını belirtmek için kullanılır + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + sınıfının yeni bir örneğini başlatır. + + Özel durum iletisi. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + Özel durum iletisi. + + + + sınıfının yeni bir örneğini başlatır. + + + + + Belirtilen türde bir özel durum beklemeyi belirten öznitelik + + + + + Beklenen tür ile sınıfının yeni bir örneğini başlatır + + Beklenen özel durum türü + + + + Beklenen tür ve test tarafından özel durum oluşturulmadığında eklenecek ileti ile sınıfının + yeni bir örneğini başlatır. + + Beklenen özel durum türü + + Test bir özel durum oluşturmama nedeniyle başarısız olursa test sonucuna dahil edilecek ileti + + + + + Beklenen özel durumun Türünü belirten bir değer alır + + + + + Beklenen özel durumun türünden türetilmiş türlerin beklenen özel durum türü olarak değerlendirilmesine izin verilip verilmeyeceğini + belirten değeri alır veya ayarlar + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Birim testi tarafından oluşturulan özel durum türünün beklendiğini doğrular + + Birim testi tarafından oluşturulan özel durum + + + + Birim testinden bir özel durum beklemek için belirtilen özniteliklerin temel sınıfı + + + + + Varsayılan bir 'özel durum yok' iletisi ile sınıfının yeni bir örneğini başlatır + + + + + Bir 'özel durum yok' iletisi ile sınıfının yeni bir örneğini başlatır + + + Test bir özel durum oluşturmama nedeniyle başarısız olursa test sonucuna + dahil edilecek özel durum + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Varsayılan 'özel durum yok' iletisini alır + + ExpectedException özniteliği tür adı + Özel durum olmayan varsayılan ileti + + + + Özel durumun beklenip beklenmediğini belirler. Metot dönüş yapıyorsa, özel + durumun beklendiği anlaşılır. Metot bir özel durum oluşturuyorsa, özel durumun + beklenmediği anlaşılır ve oluşturulan özel durumun iletisi test sonucuna + eklenir. Kolaylık sağlamak amacıyla sınıfı kullanılabilir. + kullanılırsa ve onaylama başarısız olursa, + test sonucu Belirsiz olarak ayarlanır. + + Birim testi tarafından oluşturulan özel durum + + + + Özel durum bir AssertFailedException veya AssertInconclusiveException ise özel durumu yeniden oluşturur + + Bir onaylama özel durumu ise yeniden oluşturulacak özel durum + + + + Bu sınıf, kullanıcının genel türler kullanan türlere yönelik birim testleri yapmasına yardımcı olmak üzere tasarlanmıştır. + GenericParameterHelper bazı genel tür kısıtlamalarını yerine getirir; + örneğin: + 1. genel varsayılan oluşturucu + 2. ortak arabirim uygular: IComparable, IEnumerable + + + + + sınıfının C# genel türlerindeki 'newable' + kısıtlamasını karşılayan yeni bir örneğini başlatır. + + + This constructor initializes the Data property to a random value. + + + + + sınıfının, Data özelliğini kullanıcı + tarafından sağlanan bir değerle başlatan yeni bir örneğini başlatır. + + Herhangi bir tamsayı değeri + + + + Verileri alır veya ayarlar + + + + + İki GenericParameterHelper nesnesi için değer karşılaştırması yapar + + karşılaştırma yapılacak nesne + nesne bu 'this' GenericParameterHelper nesnesiyle aynı değere sahipse true. + aksi takdirde false. + + + + Bu nesne için bir karma kod döndürür. + + Karma kod. + + + + İki nesnesinin verilerini karşılaştırır. + + Karşılaştırılacak nesne. + + Bu örnek ve değerin göreli değerlerini gösteren, işaretli sayı. + + + Thrown when the object passed in is not an instance of . + + + + + Uzunluğu Data özelliğinden türetilmiş bir IEnumerator nesnesi + döndürür. + + IEnumerator nesnesi + + + + Geçerli nesneye eşit olan bir GenericParameterHelper nesnesi + döndürür. + + Kopyalanan nesne. + + + + Kullanıcıların tanılama amacıyla birim testlerindeki izlemeleri günlüğe kaydetmesini/yazmasını sağlar. + + + + + LogMessage işleyicisi. + + Günlüğe kaydedilecek ileti. + + + + Dinlenecek olay. Birim testi yazıcı bir ileti yazdığında oluşturulur. + Genellikle bağdaştırıcı tarafından kullanılır. + + + + + İletileri günlüğe kaydetmek için çağrılacak test yazıcısı API'si. + + Yer tutucuları olan dize biçimi. + Yer tutucu parametreleri. + + + + TestCategory özniteliği; bir birim testinin kategorisini belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır ve kategoriyi teste uygular. + + + Test Kategorisi. + + + + + Teste uygulanan test kategorilerini alır. + + + + + "Category" özniteliğinin temel sınıfı + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + sınıfının yeni bir örneğini başlatır. + Kategoriyi teste uygular. TestCategories tarafından döndürülen + dizeler /category komutu içinde testleri filtrelemek için kullanılır + + + + + Teste uygulanan test kategorisini alır. + + + + + AssertFailedException sınıfı. Test çalışmasının başarısız olduğunu göstermek için kullanılır + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + sınıfının yeni bir örneğini başlatır. + + + + + Birim testleri içindeki çeşitli koşulları test etmeye yönelik yardımcı + sınıf koleksiyonu. Test edilen koşul karşılanmazsa bir özel durum + oluşturulur. + + + + + Assert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Thrown if is false. + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + false. İleti test sonuçlarında gösterilir. + + + Thrown if is false. + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + false. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is false. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Thrown if is true. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + true. İleti test sonuçlarında gösterilir. + + + Thrown if is true. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + true. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is true. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Thrown if is not null. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null değil. İleti test sonuçlarında gösterilir. + + + Thrown if is not null. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null değil. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Thrown if is null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null. İleti test sonuçlarında gösterilir. + + + Thrown if is null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is null. + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı değil: . İleti test + sonuçlarında gösterilir. + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı değil: . İleti test + sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if refers to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynıdır: . İleti test sonuçlarında + gösterilir. + + + Thrown if refers to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynıdır: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if refers to the same object + as . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if is not equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Thrown if is not equal to + . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneği değil: . İleti + test sonuçlarında gösterilir. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneği değil: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneğidir: . İleti test + sonuçlarında gösterilir. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneğidir: . İleti test + sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Bir AssertFailedException oluşturur. + + + Always thrown. + + + + + Bir AssertFailedException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Always thrown. + + + + + Bir AssertFailedException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Always thrown. + + + + + Statik eşit aşırı yüklemeler iki türün örneklerini başvuru eşitliği bakımından + karşılaştırmak için kullanılır. Bu metot iki örneği eşitlik bakımından karşılaştırmak için + kullanılmamalıdır. Bu nesne her zaman Assert.Fail ile oluşturulur. + Lütfen birim testlerinizde Assert.AreEqual ve ilişkili aşırı yüklemelerini kullanın. + + Nesne A + Nesne B + Her zaman false. + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa AssertFailedException oluşturur. + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + Şu durumda özel duruma dahil edilecek ileti + tarafından şu türde özel durum oluşturulmadığı durumlarda oluşturulur: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa AssertFailedException oluşturur. + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + Şu durumda özel duruma dahil edilecek ileti + tarafından şu türde özel durum oluşturulmadığı durumlarda oluşturulur: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + Null karakterleri ('\0'), "\\0" ile değiştirir. + + + Aranacak dize. + + + Null karakterler içeren dönüştürülmüş dize "\\0" ile değiştirildi. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException oluşturan yardımcı işlev + + + özel durum oluşturan onaylamanın adı + + + onaylama hatası koşullarını açıklayan ileti + + + Parametreler. + + + + + Parametreyi geçerli koşullar için denetler + + + Parametre. + + + Onaylama Adı. + + + parametre adı + + + iletisi geçersiz parametre özel durumu içindir + + + Parametreler. + + + + + Bir nesneyi güvenli bir şekilde dizeye dönüştürür, null değerleri ve null karakterleri işler. + Null değerler "(null)" değerine dönüştürülür. Null karakterler "\\0" değerine dönüştürülür. + + + Dizeye dönüştürülecek nesne. + + + Dönüştürülmüş dize. + + + + + Dize onayı. + + + + + CollectionAssert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla başlamıyor: . İleti + test sonuçlarında gösterilir. + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla başlamıyor: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Thrown if does not end with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla bitmiyor: . İleti + test sonuçlarında gösterilir. + + + Thrown if does not end with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla bitmiyor: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not end with + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşmiyor . İleti test sonuçlarında + gösterilir. + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşmiyor . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Thrown if matches . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşme . İleti, test sonuçlarında + gösterilir. + + + Thrown if matches . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşme . İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if matches . + + + + + Birim testleri içindeki koleksiyonlarla ilişkili çeşitli koşulları test etmeye + yönelik yardımcı sınıf koleksiyonu. Test edilen koşul karşılanmazsa + bir özel durum oluşturulur. + + + + + CollectionAssert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Thrown if is found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içindedir: . İleti, test sonuçlarında + gösterilir. + + + Thrown if is found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içindedir: . İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + bir null öğe içeriyor. İleti test sonuçlarında gösterilir. + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + bir null öğe içeriyor. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Thrown if a two or more equal elements are found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + en az bir yinelenen öğe içeriyor. İleti, test sonuçlarında + gösterilir. + + + Thrown if a two or more equal elements are found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + en az bir yinelenen öğe içeriyor. İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if a two or more equal elements are found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şurada bulunmuyor: . + İleti test sonuçlarında gösterilir. + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şurada bulunmuyor: . + İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Thrown if every element in is also found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Mesajın özel duruma dahil edilmesi için şuradaki her öğe: + ayrıca şurada bulunur: . + İleti test sonuçlarında gösterilir. + + + Thrown if every element in is also found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Mesajın özel duruma dahil edilmesi için şuradaki her öğe: + ayrıca şurada bulunur: . + İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if every element in is also found in + . + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Bir öğe koleksiyonlardan birinde varken diğerinde olmadığında + özel duruma eklenecek ileti. İleti, test sonuçlarında + gösterilir. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Bir öğe koleksiyonlardan birinde varken diğerinde olmadığında + özel duruma eklenecek ileti. İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı öğeleri içerir: . İleti + test sonuçlarında gösterilir. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı öğeleri içerir: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şunun bir örneği değil: + . İleti test sonuçlarında gösterilir. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şunun bir örneği değil: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti: + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti: + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Şu parametre biçimlendirilirken kullanılacak parametre dizisi: . + + + Thrown if is equal to . + + + + + Birinci koleksiyonun ikinci koleksiyona ait bir alt küme olup + olmadığını belirler. Kümelerden biri yinelenen öğeler içeriyorsa, + öğenin alt kümedeki oluşum sayısı üst kümedeki oluşum sayısına + eşit veya bu sayıdan daha az olmalıdır. + + + Testin içinde bulunmasını beklediği koleksiyon . + + + Testin içermesini beklediği koleksiyon . + + + Şu durumda true: şunun bir alt kümesidir: + , aksi takdirde false. + + + + + Belirtilen koleksiyondaki her öğenin oluşum sayısını içeren bir + sözlük oluşturur. + + + İşlenecek koleksiyon. + + + Koleksiyondaki null öğe sayısı. + + + Belirtilen koleksiyondaki her öğenin oluşum sayısını içeren + bir sözlük. + + + + + İki koleksiyon arasında eşleşmeyen bir öğe bulur. Eşleşmeyen öğe, + beklenen koleksiyonda gerçek koleksiyondakinden farklı sayıda görünen + öğedir. Koleksiyonların, + aynı sayıda öğeye sahip null olmayan farklı başvurular olduğu + varsayılır. Bu doğrulama düzeyinden + çağıran sorumludur. Eşleşmeyen bir öğe yoksa işlev + false değerini döndürür ve dış parametreler kullanılmamalıdır. + + + Karşılaştırılacak birinci koleksiyon. + + + Karşılaştırılacak ikinci koleksiyon. + + + Şunun için beklenen oluşma sayısı: + veya uyumsuz öğe yoksa + 0. + + + Gerçek oluşma sayısı: + veya uyumsuz öğe yoksa + 0. + + + Uyumsuz öğe (null olabilir) veya uyumsuz bir + öğe yoksa null. + + + uyumsuz bir öğe bulunduysa true; aksi takdirde false. + + + + + object.Equals kullanarak nesneleri karşılaştırır + + + + + Çerçeve Özel Durumları için temel sınıf. + + + + + sınıfının yeni bir örneğini başlatır. + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + Yerelleştirilmiş dizeleri aramak gibi işlemler için, türü kesin olarak belirtilmiş kaynak sınıfı. + + + + + Bu sınıf tarafından kullanılan, önbelleğe alınmış ResourceManager örneğini döndürür. + + + + + Türü kesin olarak belirlenmiş bu kaynak sınıfını kullanan + tüm kaynak aramaları için geçerli iş parçacığının CurrentUICulture özelliğini geçersiz kılar. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Erişim dizesinde geçersiz söz dizimi var. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen koleksiyon {1} <{2}> oluşumu içeriyor. Gerçek koleksiyon {3} oluşum içeriyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Yinelenen öğe bulundu:<{1}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1}>. Gerçek değer için büyük/küçük harf kullanımı farklı:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen <{1}> değeri ile gerçek <{2}> değeri arasında en fazla <{3}> fark bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1} ({2})>. Gerçek:<{3} ({4})>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1}>. Gerçek:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen <{1}> değeri ile gerçek <{2}> değeri arasında <{3}> değerinden büyük bir fark bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: <{1}> dışında bir değer bekleniyordu. Gerçek:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Değer türlerini AreSame() metoduna geçirmeyin. Object türüne dönüştürülen değerler hiçbir zaman aynı olmaz. AreEqual(). kullanmayı deneyin {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} başarısız oldu. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: UITestMethodAttribute özniteliğine sahip async TestMethod metodu desteklenmiyor. async ifadesini kaldırın ya da TestMethodAttribute özniteliğini kullanın. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da boş. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da aynı öğeleri içeriyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon başvurusu da aynı koleksiyon nesnesini işaret ediyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da aynı öğeleri içeriyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0}({1}). + + + + + Şuna benzer bir yerelleştirilmiş dize arar: null. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: nesne. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesini içermiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} ({1}). + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Assert.Equals, Onaylamalar için kullanılmamalıdır. Lütfen bunun yerine Assert.AreEqual ve aşırı yüklemelerini kullanın. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Koleksiyonlardaki öğe sayıları eşleşmiyor. Beklenen:<{1}>. Gerçek:<{2}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} dizinindeki öğe eşleşmiyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {1} dizinindeki öğe beklenen türde değil. Beklenen tür:<{2}>. Gerçek tür:<{3}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dizeyi arar: {1} dizinindeki öğe (null). Beklenen tür:<{2}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesiyle bitmiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Geçersiz bağımsız değişken. EqualsTester null değerler kullanamaz. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} türündeki nesne {1} türüne dönüştürülemiyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Başvurulan iç nesne artık geçerli değil. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' parametresi geçersiz. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} özelliği {1} türüne sahip; beklenen tür {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} Beklenen tür:<{1}>. Gerçek tür:<{2}>. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' deseniyle eşleşmiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Yanlış Tür:<{1}>. Gerçek tür:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' deseniyle eşleşiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: No DataRowAttribute belirtilmedi. DataTestMethodAttribute ile en az bir DataRowAttribute gereklidir. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Özel durum oluşturulmadı. {1} özel durumu bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' parametresi geçersiz. Değer null olamaz. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Farklı sayıda öğe. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: + Belirtilen imzaya sahip oluşturucu bulunamadı. Özel erişimcinizi yeniden oluşturmanız gerekebilir + veya üye özel ve bir temel sınıfta tanımlanmış olabilir. İkinci durum geçerliyse üyeyi + tanımlayan türü PrivateObject oluşturucusuna geçirmeniz gerekir. + . + + + + + Şuna benzer bir yerelleştirilmiş dize arar: + Belirtilen üye ({0}) bulunamadı. Özel erişimcinizi yeniden oluşturmanız gerekebilir + veya üye özel ve bir temel sınıfta tanımlanmış olabilir. İkinci durum geçerliyse üyeyi tanımlayan türü + PrivateObject oluşturucusuna geçirmeniz gerekir. + . + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesiyle başlamıyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen özel durum türü System.Exception veya System.Exception'dan türetilmiş bir tür olmalıdır. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Bir özel durum nedeniyle {0} türündeki özel durum için ileti alınamadı. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu beklenen {0} özel durumunu oluşturmadı. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu bir özel durum oluşturmadı. Test metodunda tanımlanan {0} özniteliği tarafından bir özel durum bekleniyordu. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu {0} özel durumunu oluşturdu, ancak {1} özel durumu bekleniyordu. Özel durum iletisi: {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu {0} özel durumunu oluşturdu, ancak {1} özel durumu veya bundan türetilmiş bir tür bekleniyordu. Özel durum iletisi: {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {2} özel durumu oluşturuldu, ancak {1} özel durumu bekleniyordu. {0} + Özel Durum İletisi: {3} + Yığın İzleme: {4}. + + + + + birim testi sonuçları + + + + + Test yürütüldü ancak sorunlar oluştu. + Sorunlar özel durumları veya başarısız onaylamaları içerebilir. + + + + + Test tamamlandı ancak başarılı olup olmadığı belli değil. + İptal edilen testler için kullanılabilir. + + + + + Test bir sorun olmadan yürütüldü. + + + + + Test şu anda yürütülüyor. + + + + + Test yürütülmeye çalışılırken bir sistem hatası oluştu. + + + + + Test zaman aşımına uğradı. + + + + + Test, kullanıcı tarafından iptal edildi. + + + + + Test bilinmeyen bir durumda + + + + + Birim testi çerçevesi için yardımcı işlevini sağlar + + + + + Yinelemeli olarak tüm iç özel durumların iletileri dahil olmak üzere + özel durum iletilerini alır + + Şunun için iletilerin alınacağı özel durum: + hata iletisi bilgilerini içeren dize + + + + Zaman aşımları için sınıfı ile birlikte kullanılabilen sabit listesi. + Sabit listesinin türü eşleşmelidir + + + + + Sonsuz. + + + + + Test sınıfı özniteliği. + + + + + Bu testi çalıştırmayı sağlayan bir test metodu özniteliği alır. + + Bu metot üzerinde tanımlanan test metodu özniteliği örneği. + The bu testi çalıştırmak için kullanılabilir. + Extensions can override this method to customize how all methods in a class are run. + + + + Test metodu özniteliği. + + + + + Bir test metodu yürütür. + + Yürütülecek test metodu. + Testin sonuçlarını temsil eden bir TestResult nesneleri dizisi. + Extensions can override this method to customize running a TestMethod. + + + + Test başlatma özniteliği. + + + + + Test temizleme özniteliği. + + + + + Ignore özniteliği. + + + + + Test özelliği özniteliği. + + + + + sınıfının yeni bir örneğini başlatır. + + + Ad. + + + Değer. + + + + + Adı alır. + + + + + Değeri alır. + + + + + Sınıf başlatma özniteliği. + + + + + Sınıf temizleme özniteliği. + + + + + Bütünleştirilmiş kod başlatma özniteliği. + + + + + Bütünleştirilmiş kod temizleme özniteliği. + + + + + Test Sahibi + + + + + sınıfının yeni bir örneğini başlatır. + + + Sahip. + + + + + Sahibi alır. + + + + + Priority özniteliği; birim testinin önceliğini belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır. + + + Öncelik. + + + + + Önceliği alır. + + + + + Testin açıklaması + + + + + Bir testi açıklamak için kullanılan sınıfının yeni bir örneğini başlatır. + + Açıklama. + + + + Bir testin açıklamasını alır. + + + + + CSS Proje Yapısı URI'si + + + + + CSS Proje Yapısı URI'si için sınıfının yeni bir örneğini başlatır. + + CSS Proje Yapısı URI'si. + + + + CSS Proje Yapısı URI'sini alır. + + + + + CSS Yineleme URI'si + + + + + CSS Yineleme URI'si için sınıfının yeni bir örneğini başlatır. + + CSS Yineleme URI'si. + + + + CSS Yineleme URI'sini alır. + + + + + WorkItem özniteliği; bu testle ilişkili bir çalışma öğesini belirtmek için kullanılır. + + + + + WorkItem Özniteliği için sınıfının yeni bir örneğini başlatır. + + Bir iş öğesinin kimliği. + + + + İlişkili bir iş öğesinin kimliğini alır. + + + + + Timeout özniteliği; bir birim testinin zaman aşımını belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır. + + + Zaman aşımı. + + + + + sınıfının önceden ayarlanmış bir zaman aşımı ile yeni bir örneğini başlatır + + + Zaman aşımı + + + + + Zaman aşımını alır. + + + + + Bağdaştırıcıya döndürülecek TestResult nesnesi. + + + + + sınıfının yeni bir örneğini başlatır. + + + + + Sonucun görünen adını alır veya ayarlar. Birden fazla sonuç döndürürken yararlıdır. + Null ise Metot adı DisplayName olarak kullanılır. + + + + + Test yürütmesinin sonucunu alır veya ayarlar. + + + + + Test başarısız olduğunda oluşturulan özel durumu alır veya ayarlar. + + + + + Test kodu tarafından günlüğe kaydedilen iletinin çıktısını alır veya ayarlar. + + + + + Test kodu tarafından günlüğe kaydedilen iletinin çıktısını alır veya ayarlar. + + + + + Test koduna göre hata ayıklama izlemelerini alır veya ayarlar. + + + + + Gets or sets the debug traces by test code. + + + + + Test yürütme süresini alır veya ayarlar. + + + + + Veri kaynağındaki veri satırı dizinini alır veya ayarlar. Yalnızca, veri tabanlı bir testin tek bir veri satırının + çalıştırılmasına ait sonuçlar için ayarlayın. + + + + + Test metodunun dönüş değerini alır veya ayarlar. (Şu anda her zaman null). + + + + + Test tarafından eklenen sonuç dosyalarını alır veya ayarlar. + + + + + Veri tabanlı test için bağlantı dizesini, tablo adını ve satır erişim metodunu belirtir. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource için varsayılan sağlayıcı adı. + + + + + Varsayılan veri erişimi metodu. + + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir veri sağlayıcısı, bağlantı dizesi, veri tablosu ve veri kaynağına erişmek için kullanılan veri erişimi metodu ile başlatılır. + + System.Data.SqlClient gibi değişmez veri sağlayıcısı adı + + Veri sağlayıcısına özgü bağlantı dizesi. + UYARI: Bağlantı dizesi, hassas veriler (parola gibi) içerebilir. + Bağlantı dizesi, kaynak kodunda ve derlenmiş bütünleştirilmiş kodda düz metin olarak depolanır. + Bu hassas bilgileri korumak için kaynak koda ve bütünleştirilmiş koda erişimi kısıtlayın. + + Veri tablosunun adı. + Verilere erişme sırasını belirtir. + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir bağlantı dizesi ve tablo adı ile başlatılır. + OLEDB veri kaynağına erişmek için kullanılan bağlantı dizesini ve veri tablosunu belirtin. + + + Veri sağlayıcısına özgü bağlantı dizesi. + UYARI: Bağlantı dizesi, hassas veriler (parola gibi) içerebilir. + Bağlantı dizesi, kaynak kodunda ve derlenmiş bütünleştirilmiş kodda düz metin olarak depolanır. + Bu hassas bilgileri korumak için kaynak koda ve bütünleştirilmiş koda erişimi kısıtlayın. + + Veri tablosunun adı. + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir veri sağlayıcısı ile ve ayar adıyla ilişkili bir bağlantı dizesi ile başlatılır. + + App.config dosyasındaki <microsoft.visualstudio.qualitytools> bölümünde bulunan veri kaynağının adı. + + + + Veri kaynağının veri sağlayıcısını temsil eden bir değer alır. + + + Veri sağlayıcısı adı. Nesne başlatılırken bir veri sağlayıcısı belirtilmemişse varsayılan System.Data.OleDb sağlayıcısı döndürülür. + + + + + Veri kaynağının bağlantı dizesini temsil eden bir değer alır. + + + + + Verileri sağlayan tablo adını belirten bir değer alır. + + + + + Veri kaynağına erişmek için kullanılan metodu alır. + + + + Bir değerlerdir. Eğer başlatılmazsa, varsayılan değeri döndürür . + + + + + App.config dosyasındaki <microsoft.visualstudio.qualitytools> bölümünde bulunan bir veri kaynağının adını alır. + + + + + Verilerin satır içi belirtilebileceği veri tabanlı testin özniteliği. + + + + + Tüm veri satırlarını bulur ve yürütür. + + + Test Yöntemi. + + + Bir . + + + + + Veri tabanlı test metodunu çalıştırır. + + Yürütülecek test yöntemi. + Veri Satırı. + Yürütme sonuçları. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..c839eab --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 用于为预测试部署指定部署项(文件或目录)。 + 可在测试类或测试方法上指定。 + 可使用多个特性实例来指定多个项。 + 项路径可以是绝对路径或相对路径,如果为相对路径,则相对于 RunConfig.RelativePathRoot。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + 初始化 类的新实例。 + + 要部署的文件或目录。路径与生成输出目录相关。将项复制到与已部署测试程序集相同的目录。 + + + + 初始化 类的新实例 + + 要部署的文件或目录的相对路径或绝对路径。该路径相对于生成输出目录。将项复制到与已部署测试程序集相同的目录。 + 要将项复制到其中的目录路径。它可以是绝对部署目录或相对部署目录。所有由以下对象标识的文件和目录: 将复制到此目录。 + + + + 获取要复制的源文件或文件夹的路径。 + + + + + 获取将项复制到其中的目录路径。 + + + + + TestContext 类。此类应完全抽象,且不包含任何 + 成员。适配器将实现成员。框架中的用户应 + 仅通过定义完善的接口对此进行访问。 + + + + + 获取测试的测试属性。 + + + + + 获取包含当前正在执行的测试方法的类的完全限定名称 + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + 获取当前正在执行的测试方法的名称 + + + + + 获取当前测试结果。 + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..0ccce3f --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 用于执行的 TestMethod。 + + + + + 获取测试方法的名称。 + + + + + 获取测试类的名称。 + + + + + 获取测试方法的返回类型。 + + + + + 获取测试方法的参数。 + + + + + 获取测试方法的 methodInfo。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 调用测试方法。 + + + 传递到测试方法的参数(例如,对于数据驱动) + + + 测试方法调用的结果。 + + + This call handles asynchronous test methods as well. + + + + + 获取测试方法的所有属性。 + + + 父类中定义的任何属性都有效。 + + + 所有特性。 + + + + + 获取特定类型的属性。 + + System.Attribute type. + + 父类中定义的任何属性都有效。 + + + 指定类型的属性。 + + + + + 帮助程序。 + + + + + 非 null 的检查参数。 + + + 参数。 + + + 参数名称。 + + + 消息。 + + Throws argument null exception when parameter is null. + + + + 不为 null 或不为空的检查参数。 + + + 参数。 + + + 参数名称。 + + + 消息。 + + Throws ArgumentException when parameter is null. + + + + 枚举在数据驱动测试中访问数据行的方式。 + + + + + 按连续顺序返回行。 + + + + + 按随机顺序返回行。 + + + + + 用于定义测试方法内联数据的属性。 + + + + + 初始化 类的新实例。 + + 数据对象。 + + + + 初始化采用参数数组的 类的新实例。 + + 一个数据对象。 + 更多数据。 + + + + 获取数据以调用测试方法。 + + + + + 在测试结果中为自定义获取或设置显示名称。 + + + + + 断言无结论异常。 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 初始化 类的新实例。 + + + + + InternalTestFailureException 类。用来指示测试用例的内部错误 + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 初始化 类的新实例。 + + 异常消息。 + 异常。 + + + + 初始化 类的新实例。 + + 异常消息。 + + + + 初始化 类的新实例。 + + + + + 指定引发指定类型异常的属性 + + + + + 初始化含有预期类型的 类的新实例 + + 预期异常的类型 + + + + 初始化 类的新实例, + 测试未引发异常时,该类中会包含预期类型和消息。 + + 预期异常的类型 + + 测试由于未引发异常而失败时测试结果中要包含的消息 + + + + + 获取指示预期异常类型的值 + + + + + 获取或设置一个值,指示是否允许将派生自预期异常类型的类型 + 作为预期类型 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 验证由单元测试引发的异常类型是否为预期类型 + + 由单元测试引发的异常 + + + + 指定应从单元测试引发异常的属性基类 + + + + + 初始化含有默认无异常消息的 类的新实例 + + + + + 初始化含有一条无异常消息的 类的新实例 + + + 测试由于未引发异常而失败时测试结果中要包含的 + 消息 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 获取默认无异常消息 + + ExpectedException 特性类型名称 + 默认非异常消息 + + + + 确定该异常是否为预期异常。如果返回了方法,则表示 + 该异常为预期异常。如果方法引发异常,则表示 + 该异常不是预期异常,且引发的异常消息 + 包含在测试结果中。为了方便, + 可使用 类。如果使用了 且断言失败, + 则表示测试结果设置为了“无结论”。 + + 由单元测试引发的异常 + + + + 如果异常为 AssertFailedException 或 AssertInconclusiveException,则再次引发该异常 + + 如果是断言异常则要重新引发的异常 + + + + 此类旨在帮助用户使用泛型类型为类型执行单元测试。 + GenericParameterHelper 满足某些常见的泛型类型限制, + 如: + 1.公共默认构造函数 + 2.实现公共接口: IComparable,IEnumerable + + + + + 初始化 类的新实例, + 该类满足 C# 泛型中的“可续订”约束。 + + + This constructor initializes the Data property to a random value. + + + + + 初始化 类的新实例, + 该类将数据属性初始化为用户提供的值。 + + 任意整数值 + + + + 获取或设置数据 + + + + + 比较两个 GenericParameterHelper 对象的值 + + 要进行比较的对象 + 如果 obj 与“此”GenericParameterHelper 对象具有相同的值,则为 true。 + 反之则为 false。 + + + + 为此对象返回哈希代码。 + + 哈希代码。 + + + + 比较两个 对象的数据。 + + 要比较的对象。 + + 有符号的数字表示此实例和值的相对值。 + + + Thrown when the object passed in is not an instance of . + + + + + 返回一个 IEnumerator 对象,该对象的长度派生自 + 数据属性。 + + IEnumerator 对象 + + + + 返回与当前对象相同的 GenericParameterHelper + 对象。 + + 克隆对象。 + + + + 允许用户记录/编写单元测试的跟踪以进行诊断。 + + + + + 用于 LogMessage 的处理程序。 + + 要记录的消息。 + + + + 要侦听的事件。单元测试编写器编写某些消息时引发。 + 主要供适配器使用。 + + + + + 测试编写器要将其调用到日志消息的 API。 + + 带占位符的字符串格式。 + 占位符的参数。 + + + + TestCategory 属性;用于指定单元测试的分类。 + + + + + 初始化 类的新实例并将分类应用到该测试。 + + + 测试类别。 + + + + + 获取已应用到测试的测试类别。 + + + + + "Category" 属性的基类 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 初始化 类的新实例。 + 将分类应用到测试。TestCategories 返回的字符串 + 与 /category 命令一起使用,以筛选测试 + + + + + 获取已应用到测试的测试分类。 + + + + + AssertFailedException 类。用于指示测试用例失败 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 初始化 类的新实例。 + + + + + 帮助程序类的集合,用于测试单元测试中 + 的各种条件。如果不满足被测条件,则引发 + 一个异常。 + + + + + 获取 Assert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + Thrown if is false. + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 false。消息显示在测试结果中。 + + + Thrown if is false. + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 false。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is false. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + Thrown if is true. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 true。消息显示在测试结果中。 + + + Thrown if is true. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 true。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is true. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + Thrown if is not null. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 不为 null。消息显示在测试结果中。 + + + Thrown if is not null. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 不为 null。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + Thrown if is null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 为 null。消息显示在测试结果中。 + + + Thrown if is null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 为 null。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is null. + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不相同 。消息显示 + 在测试结果中。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不相同 。消息显示 + 在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + Thrown if refers to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 相同 。消息显示在 + 测试结果中。 + + + Thrown if refers to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 相同 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if refers to the same object + as . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + Thrown if is not equal to . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + Thrown if is equal to . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + Thrown if is equal to . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + Thrown if is not equal to + . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + Thrown if is equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + 要包含在异常中的消息,条件是当 + 不是一个实例。消息 + 显示在测试结果中。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + 要包含在异常中的消息,条件是当 + 不是一个实例。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + 要包含在异常中的消息,条件是当 + 是一个实例。消息显示 + 在测试结果中。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + 要包含在异常中的消息,条件是当 + 是一个实例。消息显示 + 在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 引发 AssertFailedException。 + + + Always thrown. + + + + + 引发 AssertFailedException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + Always thrown. + + + + + 引发 AssertFailedException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Always thrown. + + + + + 静态相等重载用于比较两种类型实例的引用 + 相等。此方法应用于比较两个实例的 + 相等。此对象始终会引发 Assert.Fail。请在单元测试中使用 + Assert.AreEqual 和关联的重载。 + + 对象 A + 对象 B + 始终为 False。 + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + 在格式化时使用的参数数组 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + 在格式化时使用的参数数组 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 如果代码不引发异常或引发非 类型的异常,则引发 AssertFailedException。 + + 委托到要进行测试且预期将引发异常的代码。 + + 要包含在异常中的消息,条件是当 + 不引发异常类型。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 如果代码不引发异常或引发非 类型的异常,则引发 AssertFailedException。 + + 委托到要进行测试且预期将引发异常的代码。 + + 要包含在异常中的消息,条件是当 + 不引发异常类型。 + + + 在格式化时使用的参数数组 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 将 null 字符("\0")替换为 "\\0"。 + + + 要搜索的字符串。 + + + 其中 null 字符替换为 "\\0" 的转换字符串。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + 用于创建和引发 AssertionFailedException 的帮助程序函数 + + + 引发异常的断言名称 + + + 描述断言失败条件的消息 + + + 参数。 + + + + + 检查有效条件的参数 + + + 参数。 + + + 断言名称。 + + + 参数名称 + + + 无效参数异常的消息 + + + 参数。 + + + + + 将对象安全地转换为字符串,处理 null 值和 null 字符。 + 将 null 值转换为 "(null)"。将 null 字符转换为 "\\0"。 + + + 要转换为字符串的对象。 + + + 转换的字符串。 + + + + + 字符串断言。 + + + + + 获取 CollectionAssert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + Thrown if is not found in + . + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + Thrown if is not found in + . + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not found in + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + Thrown if does not begin with + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 开头不为 。消息 + 显示在测试结果中。 + + + Thrown if does not begin with + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 开头不为 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not begin with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + Thrown if does not end with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 结尾不为 。消息 + 显示在测试结果中。 + + + Thrown if does not end with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 结尾不为 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not end with + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + Thrown if does not match + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + 要包含在异常中的消息,条件是当 + 不匹配 。消息显示在 + 测试结果中。 + + + Thrown if does not match + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + 要包含在异常中的消息,条件是当 + 不匹配 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not match + . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + Thrown if matches . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + 要包含在异常中的消息,条件是当 + 匹配 。消息显示在 + 测试结果中。 + + + Thrown if matches . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + 要包含在异常中的消息,条件是当 + 匹配 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if matches . + + + + + 帮助程序类的集合,用于测试与单元测试内的集合相关联的 + 多种条件。如果不满足被测条件, + 则引发一个异常。 + + + + + 获取 CollectionAssert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + Thrown if is not found in + . + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + Thrown if is not found in + . + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + Thrown if is found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 位于。消息显示在 + 测试结果中。 + + + Thrown if is found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 位于。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is found in + . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + Thrown if a null element is found in . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含一个 null 元素。消息显示在测试结果中。 + + + Thrown if a null element is found in . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含一个 null 元素。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if a null element is found in . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含至少一个重复元素。消息显示在 + 测试结果中。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含至少一个重复元素。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + 包括在异常中的消息,此时元素位于 + 未找到 . + 消息显示在测试结果中。 + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + 包括在异常中的消息,此时元素位于 + 未找到 . + 消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + Thrown if every element in is also found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + 要包含在异常中的消息,条件是当每个元素 + 还存在于. + 消息显示在测试结果中。 + + + Thrown if every element in is also found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + 要包含在异常中的消息,条件是当每个元素 + 还存在于. + 消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if every element in is also found in + . + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 当某个元素仅可在其中一个集合内找到时 + 要包含在异常中的消息。消息显示在 + 测试结果中。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 当某个元素仅可在其中一个集合内找到时 + 要包含在异常中的消息。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 要包含在异常中的消息,条件是当 + 包含相同的元素 。消息 + 显示在测试结果中。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 要包含在异常中的消息,条件是当 + 包含相同的元素 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + 包括在异常中的消息,此时元素位于 + 不是实例 + 。消息显示在测试结果中。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + 包括在异常中的消息,此时元素位于 + 不是实例 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是: + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是: + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组。 + + + Thrown if is equal to . + + + + + 确定第一个集合是否为第二个 + 集合的子集。如果任一集合包含重复元素,则子集中元素 + 出现的次数必须小于或 + 等于在超集中元素出现的次数。 + + + 测试预期包含在以下对象中的集合: 。 + + + 测试预期要包含的集合 。 + + + 为 True,如果 是一个子集 + ,反之则为 False。 + + + + + 构造包含指定集合中每个元素的出现次数 + 的字典。 + + + 要处理的集合。 + + + 集合中 null 元素的数量。 + + + 包含指定集合中每个元素的发生次数 + 的字典。 + + + + + 在两个集合之间查找不匹配的元素。不匹配的元素是指 + 在预期集合中显示的次数与 + 在实际集合中显示的次数不相同的元素。假定 + 集合是具有相同元素数目 + 的不同非 null 引用。 调用方负责此级别的验证。 + 如果存在不匹配的元素,函数将返回 + false,并且不会使用 out 参数。 + + + 要比较的第一个集合。 + + + 要比较的第二个集合。 + + + 预期出现次数 + 或者如果没有匹配的元素, + 则为 0。 + + + 实际出现次数 + 或者如果没有匹配的元素, + 则为 0。 + + + 不匹配元素(可能为 null),或者如果没有不匹配元素, + 则为 null。 + + + 如果找到不匹配的元素,则为 True;反之则为 False。 + + + + + 使用 Object.Equals 比较对象 + + + + + 框架异常的基类。 + + + + + 初始化 类的新实例。 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 一个强类型资源类,用于查找已本地化的字符串等。 + + + + + 返回此类使用的缓存的 ResourceManager 实例。 + + + + + 使用此强类型资源类为所有资源查找替代 + 当前线程的 CurrentUICulture 属性。 + + + + + 查找类似于“访问字符串具有无效语法。”的已本地化字符串。 + + + + + 查找类似于“预期集合包含 {1} 个 <{2}> 的匹配项。实际集合包含 {3} 个匹配项。{0}”的已本地化字符串。 + + + + + 查找类似于“找到了重复项: <{1}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1}>。实际值的大小写有所不同: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期值 <{1}> 和实际值 <{2}> 之间的预期差异应不大于 <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1} ({2})>。实际为: <{3} ({4})>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1}>。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期值 <{1}> 和实际值 <{2}> 之间的预期差异应大于 <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为除 <{1}>外的任何值。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“不要向 AreSame() 传递值类型。转换为对象的值永远不会相同。请考虑使用 AreEqual()。{0}”的已本地化字符串。 + + + + + 查找类似于“{0} 失败。{1}”的已本地化字符串。 + + + + + 查找类似于“不支持具有 UITestMethodAttribute 的异步 TestMethod。请删除异步或使用 TestMethodAttribute。” 的已本地化字符串。 + + + + + 查找类似于“这两个集合都为空。{0}”的已本地化字符串。 + + + + + 查找类似于“这两个集合包含相同元素。”的已本地化字符串。 + + + + + 查找类似于“这两个集合引用指向同一个集合对象。{0}”的已本地化字符串。 + + + + + 查找类似于“这两个集合包含相同的元素。{0}”的已本地化字符串。 + + + + + 查找类似于“{0}({1})”的已本地化字符串。 + + + + + 查找类似于 "(null)" 的已本地化字符串。 + + + + + 查找类似于“(对象)”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不包含字符串“{1}”。{2}。”的已本地化字符串。 + + + + + 查找类似于“{0} ({1})”的已本地化字符串。 + + + + + 查找类似于“Assert.Equals 不应用于断言。请改用 Assert.AreEqual 和重载。”的已本地化字符串。 + + + + + 查找类似于“集合中的元素数目不匹配。预期为: <{1}>。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“索引 {0} 处的元素不匹配。”的已本地化字符串。 + + + + + 查找类似于“索引 {1} 处的元素不是预期类型。预期类型为: <{2}>。实际类型为: <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“索引 {1} 处的元素为 (null)。预期类型: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不以字符串“{1}”结尾。{2}。”的已本地化字符串。 + + + + + 查找类似于“参数无效 - EqualsTester 不能使用 null。”的已本地化字符串。 + + + + + 查找类似于“无法将类型 {0} 的对象转换为 {1}。”的本地化字符串。 + + + + + 查找类似于“引用的内部对象不再有效。”的已本地化字符串。 + + + + + 查找类似于“参数 {0} 无效。{1}。”的已本地化字符串。 + + + + + 查找类似于“属性 {0} 具有类型 {1};预期类型为 {2}。”的已本地化字符串。 + + + + + 查找类似于“{0} 预期类型: <{1}>。实际类型: <{2}>。”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”与模式“{1}”不匹配。{2}。”的已本地化字符串。 + + + + + 查找类似于“错误类型: <{1}>。实际类型: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”与模式“{1}”匹配。{2}。”的已本地化字符串。 + + + + + 查找类似于“未指定 DataRowAttribute。DataTestMethodAttribute 至少需要一个 DataRowAttribute。”的已本地化字符串。 + + + + + 查找类似于“未引发异常。预期为 {1} 异常。{0}”的已本地化字符串。 + + + + + 查找类似于“参数 {0} 无效。值不能为 null。{1}。”的已本地化字符串。 + + + + + 查找类似于“不同元素数。”的已本地化字符串。 + + + + + 查找类似于 + “找不到具有指定签名的构造函数。可能需要重新生成专用访问器, + 或者成员可能为专用且在基类上进行了定义。如果后者为 true,则需将定义成员的类型传递到 + PrivateObject 的构造函数中。” + 的已本地化字符串。 + + + + + 查找类似于 + “找不到指定成员({0})。可能需要重新生成专用访问器, + 或者成员可能为专用且在基类上进行了定义。如果后者为 true,则需将定义成员的类型 + 传递到 PrivateObject 的构造函数中。” + 的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不以字符串“{1}”开头。{2}。”的已本地化字符串。 + + + + + 查找类似于“预期异常类型必须是 System.Exception 或派生自 System.Exception 的类型。”的已本地化字符串。 + + + + + 查找类似于“(由于出现异常,未能获取 {0} 类型异常的消息。)”的已本地化字符串。 + + + + + 查找类似于“测试方法未引发预期异常 {0}。{1}”的已本地化字符串。 + + + + + 查找类似于“测试方法未引发异常。预期测试方法上定义的属性 {0} 会引发异常。”的已本地化字符串。 + + + + + 查找类似于“测试方法引发异常 {0},但预期为异常 {1}。异常消息: {2}”的已本地化字符串。 + + + + + 查找类似于“测试方法引发异常 {0},但预期为异常 {1} 或从其派生的类型。异常消息: {2}”的已本地化字符串。 + + + + + 查找类似于“引发异常 {2},但预期为异常 {1}。{0} + 异常消息: {3} + 堆栈跟踪: {4}”的已本地化字符串。 + + + + + 单元测试结果 + + + + + 测试已执行,但出现问题。 + 问题可能涉及异常或失败的断言。 + + + + + 测试已完成,但无法确定它是已通过还是失败。 + 可用于已中止的测试。 + + + + + 测试已执行,未出现任何问题。 + + + + + 当前正在执行测试。 + + + + + 尝试执行测试时出现了系统错误。 + + + + + 测试已超时。 + + + + + 用户中止了测试。 + + + + + 测试处于未知状态 + + + + + 为单元测试框架提供帮助程序功能 + + + + + 以递归方式获取包括所有内部异常消息在内的 + 异常消息 + + 获取消息的异常 + 包含错误消息信息的字符串 + + + + 超时枚举,可与 类共同使用。 + 枚举类型必须相符 + + + + + 无限。 + + + + + 测试类属性。 + + + + + 获取可运行此测试的测试方法属性。 + + 在此方法上定义的测试方法属性实例。 + 将用于运行此测试。 + Extensions can override this method to customize how all methods in a class are run. + + + + 测试方法属性。 + + + + + 执行测试方法。 + + 要执行的测试方法。 + 表示测试结果的 TestResult 对象数组。 + Extensions can override this method to customize running a TestMethod. + + + + 测试初始化属性。 + + + + + 测试清理属性。 + + + + + 忽略属性。 + + + + + 测试属性特性。 + + + + + 初始化 类的新实例。 + + + 名称。 + + + 值。 + + + + + 获取名称。 + + + + + 获取值。 + + + + + 类初始化属性。 + + + + + 类清理属性。 + + + + + 程序集初始化属性。 + + + + + 程序集清理属性。 + + + + + 测试所有者 + + + + + 初始化 类的新实例。 + + + 所有者。 + + + + + 获取所有者。 + + + + + 优先级属性;用于指定单元测试的优先级。 + + + + + 初始化 类的新实例。 + + + 属性。 + + + + + 获取属性。 + + + + + 测试的描述 + + + + + 初始化 类的新实例,描述测试。 + + 说明。 + + + + 获取测试的说明。 + + + + + CSS 项目结构 URI + + + + + 为 CSS 项目结构 URI 初始化 类的新实例。 + + CSS 项目结构 URI。 + + + + 获取 CSS 项目结构 URI。 + + + + + CSS 迭代 URI + + + + + 为 CSS 迭代 URI 初始化 类的新实例。 + + CSS 迭代 URI。 + + + + 获取 CSS 迭代 URI。 + + + + + 工作项属性;用来指定与此测试关联的工作项。 + + + + + 为工作项属性初始化 类的新实例。 + + 工作项的 ID。 + + + + 获取关联工作项的 ID。 + + + + + 超时属性;用于指定单元测试的超时。 + + + + + 初始化 类的新实例。 + + + 超时。 + + + + + 初始化含有预设超时的 类的新实例 + + + 超时 + + + + + 获取超时。 + + + + + 要返回到适配器的 TestResult 对象。 + + + + + 初始化 类的新实例。 + + + + + 获取或设置结果的显示名称。这在返回多个结果时很有用。 + 如果为 null,则表示方法名用作了 DisplayName。 + + + + + 获取或设置测试执行的结果。 + + + + + 获取或设置测试失败时引发的异常。 + + + + + 获取或设置由测试代码记录的消息输出。 + + + + + 获取或设置由测试代码记录的消息输出。 + + + + + 通过测试代码获取或设置调试跟踪。 + + + + + Gets or sets the debug traces by test code. + + + + + 获取或设置测试执行的持续时间。 + + + + + 获取或设置数据源中的数据行索引。仅对数据驱动测试的数据行单次运行结果 + 进行设置。 + + + + + 获取或设置测试方法的返回值。(当前始终为 null)。 + + + + + 获取或设置测试附加的结果文件。 + + + + + 为数据驱动测试指定连接字符串、表名和行访问方法。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource 的默认提供程序名称。 + + + + + 默认数据访问方法。 + + + + + 初始化 类的新实例。将使用数据提供程序、连接字符串、数据表和访问数据源的数据访问方法初始化此实例。 + + 不变的数据提供程序名称,例如 System.Data.SqlClient + + 特定于数据提供程序的连接字符串。 + 警告: 连接字符串可能包含敏感数据(例如密码)。 + 连接字符串以纯文本形式存储在源代码和编译程序集中。 + 限制对源代码和程序集的访问以保护此敏感信息。 + + 数据表的名称。 + 指定访问数据的顺序。 + + + + 初始化 类的新实例。将使用连接字符串和表名初始化此实例。 + 指定连接字符串和数据表,访问 OLEDB 数据源。 + + + 特定于数据提供程序的连接字符串。 + 警告: 连接字符串可能包含敏感数据(例如密码)。 + 连接字符串以纯文本形式存储在源代码和编译程序集中。 + 限制对源代码和程序集的访问以保护此敏感信息。 + + 数据表的名称。 + + + + 初始化 类的新实例。将使用数据提供程序和与设置名称关联的连接字符串初始化此实例。 + + 在 app.config 文件中 <microsoft.visualstudio.qualitytools> 部分找到的数据源的名称。 + + + + 获取表示数据源的数据提供程序的值。 + + + 数据提供程序名称。如果数据提供程序未在对象初始化时进行指定,则将返回 System.Data.OleDb 的默认提供程序。 + + + + + 获取表示数据源的连接字符串的值。 + + + + + 获取指示提供数据的表名的值。 + + + + + 获取用于访问数据源的方法。 + + + + 其中一个 值。如果 未初始化,这将返回默认值。 + + + + + 获取 app.config 文件的 <microsoft.visualstudio.qualitytools> 部分中找到的数据源的名称。 + + + + + 可在其中将数据指定为内联的数据驱动测试的属性。 + + + + + 查找所有数据行并执行。 + + + 测试方法。 + + + 一系列。 + + + + + 运行数据驱动测试方法。 + + 要执行的测试方法。 + 数据行。 + 执行的结果。 + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..f335cdf --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,93 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 用來指定每個測試部署的部署項目 (檔案或目錄)。 + 可以指定於測試類別或測試方法。 + 可以有屬性的多個執行個體來指定多個項目。 + 項目路徑可以是相對或絕對路徑,如果是相對路徑,則是 RunConfig.RelativePathRoot 的相對路徑。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + DeploymentItemAttribute is currently not supported in .Net Core. This is just a placehodler for support in the future. + + + + + 初始化 類別的新執行個體。 + + 要部署的檔案或目錄。路徑是建置輸出目錄的相對路徑。項目將會複製到與已部署的測試組件相同的目錄。 + + + + 初始化 類別的新執行個體 + + 要部署之檔案或目錄的相對或絕對路徑。路徑是建置輸出目錄的相對路徑。項目將會複製到與已部署的測試組件相同的目錄。 + 要將項目複製到其中之目錄的路徑。它可以是部署目錄的絕對或相對路徑。下者所識別的所有檔案和目錄: 將會複製到這個目錄中。 + + + + 取得要複製之來源檔案或資料夾的路徑。 + + + + + 取得要將項目複製到其中之目錄的路徑。 + + + + + TestContext 類別。這個類別應該是完全抽象的,而且未包含任何 + 成員。配接器將會實作成員。架構中的使用者只 + 應透過妥善定義的介面來存取這個項目。 + + + + + 取得測試的測試屬性。 + + + + + 取得包含目前正在執行之測試方法的類別完整名稱 + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + 取得目前正在執行的測試方法名稱 + + + + + 取得目前測試結果。 + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..611e17b --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/netstandard1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 用於執行的 TestMethod。 + + + + + 取得測試方法的名稱。 + + + + + 取得測試類別的名稱。 + + + + + 取得測試方法的傳回型別。 + + + + + 取得測試方法的參數。 + + + + + 取得測試方法的 methodInfo。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 叫用測試方法。 + + + 要傳遞至測試方法的引數。(例如,針對資料驅動) + + + 測試方法引動過程結果。 + + + This call handles asynchronous test methods as well. + + + + + 取得測試方法的所有屬性。 + + + 父類別中定義的屬性是否有效。 + + + 所有屬性。 + + + + + 取得特定類型的屬性。 + + System.Attribute type. + + 父類別中定義的屬性是否有效。 + + + 指定類型的屬性。 + + + + + 協助程式。 + + + + + 檢查參數不為 null。 + + + 參數。 + + + 參數名稱。 + + + 訊息。 + + Throws argument null exception when parameter is null. + + + + 檢查參數不為 null 或為空白。 + + + 參數。 + + + 參數名稱。 + + + 訊息。 + + Throws ArgumentException when parameter is null. + + + + 如何在資料驅動測試中存取資料列的列舉。 + + + + + 會以循序順序傳回資料列。 + + + + + 會以隨機順序傳回資料列。 + + + + + 用以定義測試方法之內嵌資料的屬性。 + + + + + 初始化 類別的新執行個體。 + + 資料物件。 + + + + 初始化 類別 (其採用引數的陣列) 的新執行個體。 + + 資料物件。 + 其他資料。 + + + + 取得用於呼叫測試方法的資料。 + + + + + 取得或設定測試結果中的顯示名稱來進行自訂。 + + + + + 判斷提示結果不明例外狀況。 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 初始化 類別的新執行個體。 + + + + + InternalTestFailureException 類別。用來表示測試案例的內部失敗 + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 初始化 類別的新執行個體。 + + 例外狀況訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 例外狀況訊息。 + + + + 初始化 類別的新執行個體。 + + + + + 屬性,其指定預期所指定類型的例外狀況 + + + + + 初始化具預期類型之 類別的新執行個體 + + 預期的例外狀況類型 + + + + 初始化 類別 + (其具預期類型及訊息,用以在測試未擲回任何例外狀況時予以納入) 的新執行個體。 + + 預期的例外狀況類型 + + 測試因未擲回例外狀況而失敗時,要包含在測試結果中的訊息 + + + + + 取得值,指出預期例外狀況的類型 + + + + + 取得或設定值,指出是否允許類型衍生自預期例外狀況類型, + 以符合預期 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 驗證預期有單元測試所擲回的例外狀況類型 + + 單元測試所擲回的例外狀況 + + + + 指定以預期單元測試發生例外狀況之屬性的基底類別 + + + + + 使用預設無例外狀況訊息初始化 類別的新執行個體 + + + + + 初始化具無例外狀況訊息之 類別的新執行個體 + + + 測試因未擲回例外狀況而失敗時,要包含在測試結果中的 + 訊息 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 取得預設無例外狀況訊息 + + ExpectedException 屬性類型名稱 + 預設無例外狀況訊息 + + + + 判斷是否預期會發生例外狀況。如果傳回方法,則了解 + 預期會發生例外狀況。如果方法擲回例外狀況,則了解 + 預期不會發生例外狀況,而且測試結果中 + 會包含所擲回例外狀況的訊息。 類別可以基於便利 + 使用。如果使用 並且判斷提示失敗, + 則測試結果設定為 [結果不明]。 + + 單元測試所擲回的例外狀況 + + + + 如果它是 AssertFailedException 或 AssertInconclusiveException,會重新擲回例外狀況 + + 如果是判斷提示例外狀況,則重新擲回例外狀況 + + + + 這個類別的設計目的是要協助使用者執行使用泛型型別之類型的單元測試。 + GenericParameterHelper 滿足一些常用泛型型別條件約束 + 例如: + 1. 公用預設建構函式 + 2. 實作公用介面: IComparable、IEnumerable + + + + + 初始化 類別 (其符合 C# 泛型中的 'newable' 限制式) + 的新執行個體。 + + + This constructor initializes the Data property to a random value. + + + + + 初始化 類別 (其將 Data 屬性初始化為使用者提供的值) + 的新執行個體。 + + 任何整數值 + + + + 取得或設定資料 + + + + + 執行兩個 GenericParameterHelper 物件的值比較 + + 要與之執行比較的物件 + 如果 obj 的值與 'this' GenericParameterHelper 物件相同,則為 true。 + 否則為 false。 + + + + 傳回這個物件的雜湊碼。 + + 雜湊碼。 + + + + 比較這兩個 物件的資料。 + + 要比較的物件。 + + 已簽署的編號,表示此執行個體及值的相對值。 + + + Thrown when the object passed in is not an instance of . + + + + + 傳回長度衍生自 Data 屬性的 + IEnumerator 物件。 + + IEnumerator 物件 + + + + 傳回等於目前物件的 + GenericParameterHelper 物件。 + + 複製的物件。 + + + + 讓使用者從單位測試記錄/寫入追蹤以進行診斷。 + + + + + LogMessage 的處理常式。 + + 要記錄的訊息。 + + + + 要接聽的事件。在單元測試寫入器寫入一些訊息時引發。 + 主要由配接器取用。 + + + + + API,供測試寫入者呼叫以記錄訊息。 + + 含預留位置的字串格式。 + 預留位置的參數。 + + + + TestCategory 屬性; 用來指定單元測試的分類。 + + + + + 初始化 類別的新執行個體,並將分類套用至測試。 + + + 測試「分類」。 + + + + + 取得已套用至測試的測試分類。 + + + + + "Category" 屬性的基底類別 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 初始化 類別的新執行個體。 + 將分類套用至測試。TestCategories 所傳回的字串 + 會與 /category 命令搭配使用,以篩選測試 + + + + + 取得已套用至測試的測試分類。 + + + + + AssertFailedException 類別。用來表示測試案例失敗 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 初始化 類別的新執行個體。 + + + + + 要測試單元測試內各種條件的協助程式類別集合。 + 如果不符合正在測試的條件,則會擲回 + 例外狀況。 + + + + + 取得 Assert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 false。訊息會顯示在測試結果中。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 false。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + Thrown if is true. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 true。訊息會顯示在測試結果中。 + + + Thrown if is true. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 true。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is true. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不為 null。訊息會顯示在測試結果中。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不為 null。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + Thrown if is null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 null。訊息會顯示在測試結果中。 + + + Thrown if is null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 null。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is null. + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者不同: 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者不同: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者相同: 。訊息會顯示在 + 測試結果中。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者相同: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + Thrown if is not equal to . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + Thrown if is equal to . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + Thrown if is not equal to + . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 擲回 AssertFailedException。 + + + Always thrown. + + + + + 擲回 AssertFailedException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Always thrown. + + + + + 擲回 AssertFailedException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Always thrown. + + + + + 「靜態等於多載」用於比較兩種類型的執行個體的參考 + 相等。這種方法不應該用於比較兩個執行個體是否 + 相等。這個物件一律會擲出 Assert.Fail。請在單元測試中使用 + Assert.AreEqual 和相關聯多載。 + + 物件 A + 物件 B + 一律為 False。 + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 測試委派 所指定的程式碼是否會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並於程式碼未擲回例外狀況或擲回非 類型的例外狀況時,擲回 AssertFailedException。 + + 委派給要進行測試且預期會擲回例外狀況的程式碼。 + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 測試委派 所指定的程式碼是否會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並於程式碼未擲回例外狀況或擲回非 類型的例外狀況時,擲回 AssertFailedException。 + + 委派給要進行測試且預期會擲回例外狀況的程式碼。 + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 以 "\\0" 取代 null 字元 ('\0')。 + + + 要搜尋的字串。 + + + null 字元以 "\\0" 取代的已轉換字串。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + 建立並擲回 AssertionFailedException 的 Helper 函數 + + + 擲回例外狀況的判斷提示名稱 + + + 描述判斷提示失敗條件的訊息 + + + 參數。 + + + + + 檢查參數的有效條件 + + + 參數。 + + + 判斷提示「名稱」。 + + + 參數名稱 + + + 無效參數例外狀況的訊息 + + + 參數。 + + + + + 將物件安全地轉換成字串,並處理 null 值和 null 字元。 + Null 值會轉換成 "(null)"。Null 字元會轉換成 "\\0"。 + + + 要轉換為字串的物件。 + + + 已轉換的字串。 + + + + + 字串判斷提示。 + + + + + 取得 CollectionAssert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + Thrown if is not found in + . + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not found in + . + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not found in + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的開頭不是 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的開頭不是 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + Thrown if does not end with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的結尾不是 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not end with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的結尾不是 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not end with + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不符合 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不符合 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + Thrown if matches . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 符合 。訊息會顯示在 + 測試結果中。 + + + Thrown if matches . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 符合 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if matches . + + + + + 要測試與單元測試內集合相關聯之各種條件的 + 協助程式類別集合。如果不符合正在測試的條件, + 則會擲回例外狀況。 + + + + + 取得 CollectionAssert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + Thrown if is found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is found in + . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含 null 元素。訊息會顯示在測試結果中。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含 null 元素。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含至少一個重複元素。訊息會顯示在 + 測試結果中。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含至少一個重複元素。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 在下者中找不到: 。 + 訊息會顯示在測試結果中。 + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 在下者中找不到: 。 + 訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + Thrown if every element in is also found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的每個元素: + 也會在下者中找到: 。 + 訊息會顯示在測試結果中。 + + + Thrown if every element in is also found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的每個元素: + 也會在下者中找到: 。 + 訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if every element in is also found in + . + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在其中一個集合中找到元素但在另一個集合中找不到元素時 + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在其中一個集合中找到元素但在另一個集合中找不到元素時 + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含與下者相同的元素: 。訊息 + 會顯示在測試結果中。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含與下者相同的元素: 。訊息 + 會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 不是下者的執行個體: + 。訊息會顯示在測試結果中。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 不是下者的執行個體: + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 參數陣列,使用時機為格式 。 + + + Thrown if is equal to . + + + + + 判斷第一個集合是否為第二個集合的子集。 + 如果任一個集合包含重複的元素,則元素 + 在子集中的出現次數必須小於或 + 等於在超集中的出現次數。 + + + 測試預期包含在下者中的集合: 。 + + + 測試預期包含下者的集合: 。 + + + True 的情況為 是下者的子集: + ,否則為 false。 + + + + + 建構字典,內含每個元素在所指定集合中 + 的出現次數。 + + + 要處理的集合。 + + + 集合中的 null 元素數目。 + + + 包含每個元素在所指定集合內之出現次數 + 的字典。 + + + + + 尋找兩個集合之間不相符的元素。不相符的元素 + 為出現在預期集合中的次數 + 不同於它在實際集合中出現的次數。 + 集合假設為具有數目相同之元素的不同非 null 參考。 + 呼叫者負責這個層級的驗證。 + 如果沒有不相符的元素,則函數會傳回 false, + 而且不應該使用 out 參數。 + + + 要比較的第一個集合。 + + + 要比較的第二個集合。 + + + 下者的預期出現次數: + 或 0 (如果沒有不相符的 + 元素)。 + + + 下者的實際出現次數: + 或 0 (如果沒有不相符的 + 元素)。 + + + 不相符的元素 (可能為 null) 或 null (如果沒有 + 不相符的元素)。 + + + 如果找到不相符的元素,則為 true,否則為 false。 + + + + + 使用 object.Equals 來比較物件 + + + + + 架構例外狀況的基底類別。 + + + + + 初始化 類別的新執行個體。 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 強型別資源類別,用於查詢當地語系化字串等。 + + + + + 傳回這個類別所使用的快取的 ResourceManager 執行個體。 + + + + + 針對使用這個強型別資源類別的所有資源查閱, + 覆寫目前執行緒的 CurrentUICulture 屬性。 + + + + + 查閱與「存取字串有無效的語法。」類似的當地語系化字串。 + + + + + 查閱與「預期在集合中包含 {1} 項 <{2}>,但實際的集合卻有 {3} 項。{0}」類似的當地語系化字串。 + + + + + 查閱與「找到重複的項目:<{1}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1}>。大小寫與下列實際值不同:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期值 <{1}> 和實際值 <{2}> 之間的預期差異不大於 <{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1} ({2})>。實際:<{3} ({4})>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1}>。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期值 <{1}> 和實際值 <{2}> 之間的預期差異大於 <{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期任何值 (<{1}> 除外)。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「不要將實值型別傳遞給 AreSame()。轉換成 Object 的值從此不再一樣。請考慮使用 AreEqual()。{0}」類似的當地語系化字串。 + + + + + 查閱與「{0} 失敗。{1}」類似的當地語系化字串。 + + + + + 不支援查詢類似非同步處理 TestMethod 與 UITestMethodAttribute 的當地語系化字串。移除非同步處理或使用 TestMethodAttribute。 + + + + + 查閱與「兩個集合都是空的。{0}」類似的當地語系化字串。 + + + + + 查閱與「兩個集合含有相同的元素。」類似的當地語系化字串。 + + + + + 查閱與「兩個集合參考都指向同一個集合物件。{0}」類似的當地語系化字串。 + + + + + 查閱與「兩個集合含有相同的元素。{0}」類似的當地語系化字串。 + + + + + 查閱與「{0}({1})」類似的當地語系化字串。 + + + + + 查閱與「(null)」類似的當地語系化字串。 + + + + + 查閱與「(物件)」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 未包含字串 '{1}'。{2}。」類似的當地語系化字串。 + + + + + 查閱與「{0}({1})」類似的當地語系化字串。 + + + + + 查閱與「Assert.Equals 不應使用於判斷提示。請改用 Assert.AreEqual 及多載。」類似的當地語系化字串。 + + + + + 查閱與「集合中的元素數目不符。預期:<{1}>。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {0} 的元素不符。」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {1} 的項目不是預期的類型。預期的類型:<{2}>。實際的類型:<{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {1} 的元素是 (null)。預期的類型:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 不是以字串 '{1}' 結尾。{2}。」類似的當地語系化字串。 + + + + + 查閱與「無效的引數 - EqualsTester 無法使用 null。」類似的當地語系化字串。 + + + + + 查閱與「無法將 {0} 類型的物件轉換為 {1}。」類似的當地語系化字串。 + + + + + 查閱與「所參考的內部物件已不再有效。」類似的當地語系化字串。 + + + + + 查閱與「參數 '{0}' 無效。{1}。」類似的當地語系化字串。 + + + + + 查閱與「屬性 {0} 具有類型 {1}; 預期為類型 {2}。」類似的當地語系化字串。 + + + + + 查閱與「{0} 預期的類型:<{1}>。實際的類型:<{2}>。」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 與模式 '{1}' 不符。{2}。」類似的當地語系化字串。 + + + + + 查閱與「錯誤的類型:<{1}>。實際的類型:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 與模式 '{1}' 相符。{2}。」類似的當地語系化字串。 + + + + + 查閱與「未指定 DataRowAttribute。至少一個 DataRowAttribute 必須配合 DataTestMethodAttribute 使用。」類似的當地語系化字串。 + + + + + 查閱與「未擲回任何例外狀況。預期為 {1} 例外狀況。{0}」類似的當地語系化字串。 + + + + + 查閱與「參數 '{0}' 無效。值不能為 null。{1}。」類似的當地語系化字串。 + + + + + 查閱與「元素數目不同。」類似的當地語系化字串。 + + + + + 查閱與「找不到具有所指定簽章的建構函式。 + 您可能必須重新產生私用存取子,或者該成員可能為私用, + 並且定義在基底類別上。如果是後者,您必須將定義 + 該成員的類型傳送至 PrivateObject 的建構函式。」 + 類似的當地語系化字串。 + + + + + 查閱與「找不到所指定的成員 ({0})。 + 您可能必須重新產生私用存取子, + 或者該成員可能為私用,並且定義在基底類別上。如果是後者,您必須將定義該成員的類型 + 傳送至 PrivateObject 的建構函式。」 + 類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 不是以字串 '{1}' 開頭。{2}。」類似的當地語系化字串。 + + + + + 查閱與「預期的例外狀況類型必須是 System.Exception 或衍生自 System.Exception 的類型。」類似的當地語系化字串。 + + + + + 查閱與「(由於發生例外狀況,所以無法取得 {0} 類型之例外狀況的訊息。)」類似的當地語系化字串。 + + + + + 查閱與「測試方法未擲回預期的例外狀況 {0}。{1}」類似的當地語系化字串。 + + + + + 查閱與「測試方法未擲回例外狀況。測試方法上定義的屬性 {0} 需要例外狀況。」類似的當地語系化字串。 + + + + + 查閱與「測試方法擲回例外狀況 {0},但是需要的是例外狀況 {1}。例外狀況訊息: {2}」類似的當地語系化字串。 + + + + + 查閱與「測試方法擲回例外狀況 {0},但是需要的是例外狀況 {1} 或由它衍生的類型。例外狀況訊息: {2}」類似的當地語系化字串。 + + + + + 查閱與「擲回例外狀況 {2},但需要的是例外狀況 {1}。{0} + 例外狀況訊息: {3} + 堆疊追蹤: {4}」類似的當地語系化字串。 + + + + + 單元測試結果 + + + + + 已執行測試,但發生問題。 + 問題可能包含例外狀況或失敗的判斷提示。 + + + + + 測試已完成,但是無法指出成功還是失敗。 + 可能用於已中止測試。 + + + + + 已執行測試且沒有任何問題。 + + + + + 目前正在執行測試。 + + + + + 嘗試執行測試時發生系統錯誤。 + + + + + 測試逾時。 + + + + + 使用者已中止測試。 + + + + + 測試處於未知狀態 + + + + + 提供單元測試架構的協助程式功能 + + + + + 遞迴地取得例外狀況訊息 (包含所有內部例外狀況 + 的訊息) + + 要為其取得訊息的例外狀況 + 含有錯誤訊息資訊的字串 + + + + 逾時的列舉,可以與 類別搭配使用。 + 列舉的類型必須相符 + + + + + 無限。 + + + + + 測試類別屬性。 + + + + + 取得可讓您執行此測試的測試方法屬性。 + + 此方法上所定義的測試方法屬性執行個體。 + 要用來執行此測試。 + Extensions can override this method to customize how all methods in a class are run. + + + + 測試方法屬性。 + + + + + 執行測試方法。 + + 要執行的測試方法。 + 代表測試結果的 TestResult 物件陣列。 + Extensions can override this method to customize running a TestMethod. + + + + 測試初始化屬性。 + + + + + 測試清除屬性。 + + + + + Ignore 屬性。 + + + + + 測試屬性 (property) 屬性 (attribute)。 + + + + + 初始化 類別的新執行個體。 + + + 名稱。 + + + 值。 + + + + + 取得名稱。 + + + + + 取得值。 + + + + + 類別會將屬性初始化。 + + + + + 類別清除屬性。 + + + + + 組件會將屬性初始化。 + + + + + 組件清除屬性。 + + + + + 測試擁有者 + + + + + 初始化 類別的新執行個體。 + + + 擁有者。 + + + + + 取得擁有者。 + + + + + Priority 屬性; 用來指定單元測試的優先順序。 + + + + + 初始化 類別的新執行個體。 + + + 優先順序。 + + + + + 取得優先順序。 + + + + + 測試描述 + + + + + 初始化 類別的新執行個體來描述測試。 + + 描述。 + + + + 取得測試的描述。 + + + + + CSS 專案結構 URI + + + + + 初始化用於 CSS 專案結構 URI 之 類別的新執行個體。 + + CSS 專案結構 URI。 + + + + 取得 CSS 專案結構 URI。 + + + + + CSS 反覆項目 URI + + + + + 初始化用於 CSS 反覆項目 URI 之 類別的新執行個體。 + + CSS 反覆項目 URI。 + + + + 取得 CSS 反覆項目 URI。 + + + + + 工作項目屬性; 用來指定與這個測試相關聯的工作項目。 + + + + + 初始化用於工作項目屬性之 類別的新執行個體。 + + 工作項目的識別碼。 + + + + 取得建立關聯之工作項目的識別碼。 + + + + + Timeout 屬性; 用來指定單元測試的逾時。 + + + + + 初始化 類別的新執行個體。 + + + 逾時。 + + + + + 初始化具有預設逾時之 類別的新執行個體 + + + 逾時 + + + + + 取得逾時。 + + + + + 要傳回給配接器的 TestResult 物件。 + + + + + 初始化 類別的新執行個體。 + + + + + 取得或設定結果的顯示名稱。適用於傳回多個結果時。 + 如果為 null,則使用「方法名稱」當成 DisplayName。 + + + + + 取得或設定測試執行的結果。 + + + + + 取得或設定測試失敗時所擲回的例外狀況。 + + + + + 取得或設定測試程式碼所記錄之訊息的輸出。 + + + + + 取得或設定測試程式碼所記錄之訊息的輸出。 + + + + + 透過測試程式碼取得或設定偵錯追蹤。 + + + + + Gets or sets the debug traces by test code. + + + + + 取得或設定測試執行的持續時間。 + + + + + 取得或設定資料來源中的資料列索引。僅針對個別執行資料驅動測試之資料列 + 的結果所設定。 + + + + + 取得或設定測試方法的傳回值 (目前一律為 null)。 + + + + + 取得或設定測試所附加的結果檔案。 + + + + + 指定連接字串、表格名稱和資料列存取方法來進行資料驅動測試。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + 資料來源的預設提供者名稱。 + + + + + 預設資料存取方法。 + + + + + 初始化 類別的新執行個體。將使用資料提供者、連接字串、運算列表和資料存取方法將這個執行個體初始化,以存取資料來源。 + + 非變異資料提供者名稱 (例如 System.Data.SqlClient) + + 資料提供者特定連接字串。 + 警告: 連接字串可能會包含敏感性資料 (例如,密碼)。 + 連接字串是以純文字形式儲存在原始程式碼中和編譯的組件中。 + 限制對原始程式碼和組件的存取,以保護這項機密資訊。 + + 運算列表的名稱。 + 指定資料的存取順序。 + + + + 初始化 類別的新執行個體。此執行個體將使用連接字串和表格名稱進行初始化。 + 指定連接字串和運算列表以存取 OLEDB 資料來源。 + + + 資料提供者特定連接字串。 + 警告: 連接字串可能會包含敏感性資料 (例如,密碼)。 + 連接字串是以純文字形式儲存在原始程式碼中和編譯的組件中。 + 限制對原始程式碼和組件的存取,以保護這項機密資訊。 + + 運算列表的名稱。 + + + + 初始化 類別的新執行個體。將使用與設定名稱相關聯的資料提供者和連接字串將這個執行個體初始化。 + + 在 app.config 檔案的 <microsoft.visualstudio.qualitytools> 區段中找到資料來源名稱。 + + + + 取得值,代表資料來源的資料提供者。 + + + 資料提供者名稱。如果未在物件初始化時指定資料提供者,將會傳回 System.Data.OleDb 的預設提供者。 + + + + + 取得值,代表資料來源的連接字串。 + + + + + 取得值,指出提供資料的表格名稱。 + + + + + 取得用來存取資料來源的方法。 + + + + 下列其中之一: 值。如果 未進行初始化,則這會傳回預設值 。 + + + + + 取得在 app.config 檔案 <microsoft.visualstudio.qualitytools> 區段中找到的資料來源名稱。 + + + + + 可在其中內嵌指定資料之資料驅動測試的屬性。 + + + + + 尋找所有資料列,並執行。 + + + 測試「方法」。 + + + 下列項目的陣列: 。 + + + + + 執行資料驅動測試方法。 + + 要執行的測試方法。 + 資料列。 + 執行結果。 + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML new file mode 100644 index 0000000..7fd6e50 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML @@ -0,0 +1,149 @@ + + + + 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 extensibility point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + Initializes a new instance of the class. + + The file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. + + + + Initializes a new instance of the class + + The relative or absolute path to the file or directory to deploy. The path is relative to the build output directory. The item will be copied to the same directory as the deployed test assemblies. + The path of the directory to which the items are to be copied. It can be either absolute or relative to the deployment directory. All files and directories identified by will be copied to this directory. + + + + Gets the path of the source file or folder to be copied. + + + + + Gets the path of the directory to which the item is copied. + + + + + Execute test code in UI thread for Windows store apps. + + + + + Executes the test method on the UI Thread. + + + The test method. + + + An array of instances. + + Throws when run on an async test method. + + + + + TestContext class. This class should be fully abstract and not contain any + members. The adapter will implement the members. Users in the framework should + only access this via a well-defined interface. + + + + + Gets test properties for a test. + + + + + Gets or sets the cancellation token source. This token source is cancelled when test times out. Also when explicitly cancelled the test will be aborted + + + + + Gets Fully-qualified name of the class containing the test method currently being executed + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Gets the fully specified type name metadata format. + + + + + Gets the fully specified method name metadata format. + + + + + Gets the Name of the test method currently being executed + + + + + Gets the current test outcome. + + + + + Adds a file name to the list in TestResult.ResultFileNames. + + + The file name. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + + 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/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll new file mode 100644 index 0000000000000000000000000000000000000000..3c48fec5a2ff3cbb0a2cb569c3390be9f2d23279 GIT binary patch literal 20384 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 p_5(|nb-C}+DeeQWi-GU3J)iGRcRE|JJ7 + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + The assembly cleanup attribute. + + + + + The assembly initialize attribute. + + + + + The class cleanup attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Specifies the ClassCleanup Inheritance Behavior + + + + + Initializes a new instance of the class. + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Initializes a new instance of the class. + + + Specifies the ClassCleanup Inheritance Behavior + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Initializes a new instance of the class. + + + Specifies the ClassCleanup Inheritance Behavior + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Gets the Inheritance Behavior + + + + + Gets when to run class cleanup methods. + + + + + When to run ClassCleanup during test execution + + + + + Run at end of assembly + + + + + Run at end of class + + + + + Specification for when to run class cleanup methods. + + + + + Default class cleanup execution + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Specifies the class clean-up behavior. + To capture output of class clean-up method in logs + must be set to . + + + + + Gets when to run class cleanup methods. + + + + + The class initialize attribute. + + + + + Initializes a new instance of the class. + ClassInitializeAttribute + + + + + Initializes a new instance of the class. + ClassInitializeAttribute + + + Specifies the ClassInitialize Inheritance Behavior + + + + + Gets the Inheritance Behavior + + + + + CSS Iteration URI + + + + + Initializes a new instance of the class for CSS Iteration URI. + + The CSS Iteration URI. + + + + Gets the CSS Iteration URI. + + + + + 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. + + + + + Attribute for data driven test where data can be specified in-line. + + + + + Description of the test + + + + + Initializes a new instance of the class to describe a test. + + The description. + + + + Gets the description of a test. + + + + + The presence of this attribute in a test assembly causes MSTest to discover test classes (i.e. classes having + the "TestClass" attribute) and test methods (i.e. methods having the "TestMethod" attribute) which are declared + internal in addition to test classes and test methods which are declared public. When this attribute is not + present in a test assembly the tests in such classes will not be discovered. + + + + + 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. + + + + + + + + + + + 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. + + + + + Enumeration for inheritance behavior, that can be used with both the class + and class. + Defines the behavior of the ClassInitialize and ClassCleanup methods of base classes. + The type of the enumeration must match + + + + + None. + + + + + Before each derived class. + + + + + Test Owner + + + + + Initializes a new instance of the class. + + + The owner. + + + + + Gets the owner. + + + + + 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. + + + + + Priority attribute; used to specify the priority of a unit test. + + + + + Initializes a new instance of the class. + + + The priority. + + + + + Gets the priority. + + + + + 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 cleanup attribute marks methods that are executed after every test marked with a . + + + + + Specifies how to discover ITestDataSource tests. + + + + + Initializes a new instance of the class. + + + Sets which to use when discovering ITestDataSource tests. + + + + + Gets specified discovery option. + + + + + Supported TestDataSource discovery modes + + + + + Discover tests during execution. + This was the default option on version 2.2.3 and before. + + + + + Discover and expand ITestDataSource based tests. + This is the default behavior after version 2.2.3. + + + + + The test initialize attribute. + + + + + The test method attribute. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + Display name for the test. + + + + + Gets display name for the test. + + + + + 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 property attribute. + + + + + Initializes a new instance of the class. + + + The name. + + + The value. + + + + + Gets the name. + + + + + Gets the value. + + + + + TestResult object to be returned to adapter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the display name of the result. Useful when returning multiple results. + If null then Method name is used as DisplayName. + + + + + Gets or sets the outcome of the test execution. + + + + + Gets or sets the exception thrown when test is failed. + + + + + Gets or sets the output of the message logged by test code. + + + + + Gets or sets the output of the message logged by test code. + + + + + Gets or sets the debug traces by test code. + + + + + Gets or sets the debug traces by test code. + + + + + Gets or sets the execution id of the result. + + + + + Gets or sets the parent execution id of the result. + + + + + Gets or sets the inner results count of the result. + + + + + Gets or sets the duration of test execution. + + + + + Gets or sets the data row index in data source. Set only for results of individual + run of data row of a data driven test. + + + + + Gets or sets the return value of the test method. (Currently null always). + + + + + Gets or sets the result files attached by the test. + + + + + Enumeration for timeouts, that can be used with the class. + The type of the enumeration must match + + + + + The infinite. + + + + + Timeout attribute; used to specify the timeout of a unit test. + + + + + Initializes a new instance of the class. + + + The timeout in milliseconds. + + + + + Initializes a new instance of the class with a preset timeout + + + The timeout + + + + + Gets the timeout in milliseconds. + + + + + 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 work item associated. + + + + + Test data source for data driven tests. + + + + + Gets the test data from custom test data source. + + + The method info of test method. + + + Test data for calling test method. + + + + + Gets the display name corresponding to test data row for displaying in TestResults. + + + The method info of test method. + + + The test data which is passed to test method. + + + The . + + + + + TestMethod for execution. + + + + + Gets the name of test method. + + + + + Gets the name of test class. + + + + + Gets the return type of test method. + + + + + Gets the arguments with which test method is invoked. + + + + + Gets the parameters of test method. + + + + + Gets the methodInfo for test method. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invokes the test method. + + + Arguments to pass to test method. (E.g. For data driven) + + + Result of test method invocation. + + + This call handles asynchronous test methods as well. + + + + + Get all attributes of the test method. + + + Whether attribute defined in parent class is valid. + + + All attributes. + + + + + Get attribute of specific type. + + System.Attribute type. + + Whether attribute defined in parent class is valid. + + + The attributes of the specified type. + + + + + The helper. + + + + + The check parameter not null. + + + The parameter. + + + The parameter name. + + + The message. + + Throws argument null exception when parameter is null. + + + + The check parameter not null or empty. + + + The parameter. + + + The parameter name. + + + The message. + + Throws ArgumentException when parameter is null. + + + + Enumeration for how we access data rows in data driven testing. + + + + + Rows are returned in sequential order. + + + + + Rows are returned in random order. + + + + + Attribute to define in-line data for a test method. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The data object. + + + + Initializes a new instance of the class which takes in an array of arguments. + + A data object. + More data. + + + + Gets data for calling test method. + + + + + Gets or sets display name in test results for customization. + + + + + + + + + + + The assert inconclusive exception. + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + InternalTestFailureException class. Used to indicate internal failure for a test case + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initializes a new instance of the class. + + The exception message. + The exception. + + + + Initializes a new instance of the class. + + The exception message. + + + + Initializes a new instance of the class. + + + + + Attribute that specifies to expect an exception of the specified type + + + + + Initializes a new instance of the class with the expected type + + Type of the expected exception + + + + Initializes a new instance of the class with + the expected type and the message to include when no exception is thrown by the test. + + Type of the expected exception + + Message to include in the test result if the test fails due to not throwing an exception + + + + + Gets a value indicating the Type of the expected exception + + + + + Gets or sets a value indicating whether to allow types derived from the type of the expected exception to + qualify as expected + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Verifies that the type of the exception thrown by the unit test is expected + + The exception thrown by the unit test + + + + Base class for attributes that specify to expect an exception from a unit test + + + + + Initializes a new instance of the class with a default no-exception message + + + + + Initializes a new instance of the class with a no-exception message + + + Message to include in the test result if the test fails due to not throwing an + exception + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Gets the message to include in the test result if the test fails due to not throwing an exception + + + + + Gets the default no-exception message + + The ExpectedException attribute type name + The default no-exception message + + + + Determines whether the exception is expected. If the method returns, then it is + understood that the exception was expected. If the method throws an exception, then it + is understood that the exception was not expected, and the thrown exception's message + is included in the test result. The class can be used for + convenience. If is used and the assertion fails, + then the test outcome is set to Inconclusive. + + The exception thrown by the unit test + + + + Rethrow the exception if it is an AssertFailedException or an AssertInconclusiveException + + The exception to rethrow if it is an assertion exception + + + + This class is designed to help user doing unit testing for types which uses generic types. + GenericParameterHelper satisfies some common generic type constraints + such as: + 1. public default constructor + 2. implements common interface: IComparable, IEnumerable + + + + + Initializes a new instance of the class that + satisfies the 'newable' constraint in C# generics. + + + This constructor initializes the Data property to a random value. + + + + + Initializes a new instance of the class that + initializes the Data property to a user-supplied value. + + Any integer value + + + + Gets or sets the Data + + + + + Do the value comparison for two GenericParameterHelper object + + object to do comparison with + true if obj has the same value as 'this' GenericParameterHelper object. + false otherwise. + + + + Returns a hashcode for this object. + + The hash code. + + + + Compares the data of the two objects. + + The object to compare with. + + A signed number indicating the relative values of this instance and value. + + + Thrown when the object passed in is not an instance of . + + + + + Returns an IEnumerator object whose length is derived from + the Data property. + + The IEnumerator object + + + + Returns a GenericParameterHelper object that is equal to + the current object. + + The cloned object. + + + + Enables users to log/write traces from unit tests for diagnostics. + + + + + Handler for LogMessage. + + Message to log. + + + + Event to listen. Raised when unit test writer writes some message. + Mainly to consume by adapter. + + + + + API for test writer to call to Log messages. + + String format with placeholders. + Parameters for placeholders. + + + + TestCategory attribute; used to specify the category of a unit test. + + + + + Initializes a new instance of the class and applies the category to the test. + + + The test Category. + + + + + Gets the test categories that has been applied to the test. + + + + + Base class for the "Category" attribute + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initializes a new instance of the class. + Applies the category to the test. The strings returned by TestCategories + are used with the /category command to filter tests + + + + + Gets the test category that has been applied to the test. + + + + + AssertFailedException class. Used to indicate failure for a test case + + + + + Initializes a new instance of the class. + + The message. + The exception. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + + + + A collection of helper classes to test various conditions within + unit tests. If the condition being tested is not met, an exception + is thrown. + + + + + Gets the singleton instance of the Assert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + Thrown if is false. + + + + + Tests whether the specified condition is true and throws an exception + if the condition is false. + + + The condition the test expects to be true. + + + 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. + + + 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 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. + + + 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. + + + 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 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 decimals are equal and throws an exception + if they are not equal. + + + The first decimal to compare. This is the decimal the tests expects. + + + The second decimal to compare. This is the decimal 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 decimals are equal and throws an exception + if they are not equal. + + + The first decimal to compare. This is the decimal the tests expects. + + + The second decimal to compare. This is the decimal 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 decimals are equal and throws an exception + if they are not equal. + + + The first decimal to compare. This is the decimal the tests expects. + + + The second decimal to compare. This is the decimal 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 decimals are unequal and throws an exception + if they are equal. + + + The first decimal to compare. This is the decimal the test expects not to + match . + + + The second decimal to compare. This is the decimal 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 decimals are unequal and throws an exception + if they are equal. + + + The first decimal to compare. This is the decimal the test expects not to + match . + + + The second decimal to compare. This is the decimal 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 decimals are unequal and throws an exception + if they are equal. + + + The first decimal to compare. This is the decimal the test expects not to + match . + + + The second decimal to compare. This is the decimal 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 longs are equal and throws an exception + if they are not equal. + + + The first long to compare. This is the long the tests expects. + + + The second long to compare. This is the long 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 longs are equal and throws an exception + if they are not equal. + + + The first long to compare. This is the long the tests expects. + + + The second long to compare. This is the long 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 longs are equal and throws an exception + if they are not equal. + + + The first long to compare. This is the long the tests expects. + + + The second long to compare. This is the long 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 longs are unequal and throws an exception + if they are equal. + + + The first long to compare. This is the long the test expects not to + match . + + + The second long to compare. This is the long 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 longs are unequal and throws an exception + if they are equal. + + + The first long to compare. This is the long the test expects not to + match . + + + The second long to compare. This is the long 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 longs are unequal and throws an exception + if they are equal. + + + The first long to compare. This is the long the test expects not to + match . + + + The second long to compare. This is the long produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + Thrown if is not equal to + . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are equal and throws an exception + if they are not equal. + + + The first double to compare. This is the double the tests expects. + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by more than . + + + The message to include in the exception when + is different than by more than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + The first double to compare. This is the double the test expects not to + match . + + + The second double to compare. This is the double produced by the code under test. + + + The required accuracy. An exception will be thrown only if + is different than + by at most . + + + The message to include in the exception when + is equal to or different by less than + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are equal and throws an exception + if they are not equal. + + + The first string to compare. This is the string the tests expects. + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is not equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. The invariant culture is used for the comparison. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + Thrown if is equal to . + + + + + Tests whether the specified strings are unequal and throws an exception + if they are equal. + + + The first string to compare. This is the string the test expects not to + match . + + + The second string to compare. This is the string produced by the code under test. + + + A Boolean indicating a case-sensitive or insensitive comparison. (true + indicates a case-insensitive comparison.) + + + A CultureInfo object that supplies culture-specific comparison information. + + + The message to include in the exception when + is equal to . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is equal to . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is an instance of the expected + type and throws an exception if the expected type is not in the + inheritance hierarchy of the object. + + + The object the test expects to be of the specified type. + + + The expected type of . + + + The message to include in the exception when + is not an instance of . The message is + shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Tests whether the specified object is not an instance of the wrong + type and throws an exception if the specified type is in the + inheritance hierarchy of the object. + + + The object the test expects not to be of the specified type. + + + The type that should not be. + + + The message to include in the exception when + is an instance of . The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Throws an AssertFailedException. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertFailedException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + Always thrown. + + + + + Throws an AssertInconclusiveException. + + + The message to include in the exception. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Always thrown. + + + + + Static equals overloads are used for comparing instances of two types for reference + equality. This method should not be used for comparison of two instances for + equality. This object will always throw with Assert.Fail. Please use + Assert.AreEqual and associated overloads in your unit tests. + + Object A + Object B + False, always. + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The exception that was thrown. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + + Delegate to code to be tested and which is expected to throw exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + Delegate to code to be tested and which is expected to throw exception. + + The message to include in the exception when + does not throws exception of type . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Tests whether the code specified by delegate throws exact given exception of type (and not of derived type) + and throws AssertFailedException if code does not throws exception or throws exception of type other than . + + Delegate to code to be tested and which is expected to throw exception. + + The message to include in the exception when + does not throws exception of type . + + + An array of parameters to use when formatting . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + The executing the delegate. + + + + + Replaces null characters ('\0') with "\\0". + + + The string to search. + + + The converted string with null characters replaced by "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Helper function that creates and throws an AssertionFailedException + + + name of the assertion throwing an exception + + + message describing conditions for assertion failure + + + The parameters. + + + + + Checks the parameter for valid conditions + + + The parameter. + + + The assertion Name. + + + parameter name + + + message for the invalid parameter exception + + + The parameters. + + + + + Safely converts an object to a string, handling null values and null characters. + Null values are converted to "(null)". Null characters are converted to "\\0". + + + The object to convert to a string. + + + The converted string. + + + + + The string assert. + + + + + Gets the singleton instance of the CollectionAssert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert customAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + Thrown if is not found in + . + + + + + Tests whether the specified string contains the specified substring + and throws an exception if the substring does not occur within the + test string. + + + The string that is expected to contain . + + + The string expected to occur within . + + + The comparison method to compare strings . + + + 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. + + + The comparison method to compare strings . + + + 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 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. + + + The comparison method to compare strings . + + + 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 comparison method to compare strings . + + + 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 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. + + + The comparison method to compare strings . + + + 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. + + + The comparison method to compare strings . + + + 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 comparison method to compare strings . + + + 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 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. + + + The comparison method to compare strings . + + + 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. + + + The comparison method to compare strings . + + + An array of parameters to use when formatting . + + + Thrown if does not end with + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + Thrown if does not match + . + + + + + Tests whether the specified string matches a regular expression and + throws an exception if the string does not match the expression. + + + The string that is expected to match . + + + The regular expression that is + expected to match. + + + The message to include in the exception when + does not match . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if does not match + . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + Thrown if matches . + + + + + Tests whether the specified string does not match a regular expression + and throws an exception if the string matches the expression. + + + The string that is expected not to match . + + + The regular expression that is + expected to not match. + + + The message to include in the exception when + matches . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if matches . + + + + + A collection of helper classes to test various conditions associated + with collections within unit tests. If the condition being tested is not + met, an exception is thrown. + + + + + Gets the singleton instance of the CollectionAssert functionality. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert customAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + Thrown if is not found in + . + + + + + Tests whether the specified collection contains the specified element + and throws an exception if the element is not in the collection. + + + The collection in which to search for the element. + + + The element that is expected to be in the collection. + + + The message to include in the exception when + is not in . The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if is not found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + Thrown if is found in + . + + + + + Tests whether the specified collection does not contain the specified + element and throws an exception if the element is in the collection. + + + The collection in which to search for the element. + + + The element that is expected not to be in the collection. + + + The message to include in the exception when + is in . The message is shown in test + results. + + + An array of parameters to use when formatting . + + + Thrown if is found in + . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are non-null and throws + an exception if any element is null. + + + The collection in which to search for null elements. + + + The message to include in the exception when + contains a null element. The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if a null element is found in . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether all items in the specified collection are unique or not and + throws if any two elements in the collection are equal. + + + The collection in which to search for duplicate elements. + + + The message to include in the exception when + contains at least one duplicate element. The message is shown in + test results. + + + An array of parameters to use when formatting . + + + Thrown if a two or more equal elements are found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is a subset of another collection and + throws an exception if any element in the subset is not also in the + superset. + + + The collection expected to be a subset of . + + + The collection expected to be a superset of + + + The message to include in the exception when an element in + is not found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is not found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + Thrown if every element in is also found in + . + + + + + Tests whether one collection is not a subset of another collection and + throws an exception if all elements in the subset are also in the + superset. + + + The collection expected not to be a subset of . + + + The collection expected not to be a superset of + + + The message to include in the exception when every element in + is also found in . + The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if every element in is also found in + . + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the same elements and throws an + exception if either collection contains an element not in the other + collection. + + + The first collection to compare. This contains the elements the test + expects. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when an element was found + in one of the collections but not the other. The message is shown + in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether two collections contain the different elements and throws an + exception if the two collections contain identical elements without regard + to order. + + + The first collection to compare. This contains the elements the test + expects to be different than the actual collection. + + + The second collection to compare. This is the collection produced by + the code under test. + + + The message to include in the exception when + contains the same elements as . The message + is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether all elements in the specified collection are instances + of the expected type and throws an exception if the expected type is + not in the inheritance hierarchy of one or more of the elements. + + + The collection containing elements the test expects to be of the + specified type. + + + The expected type of each element of . + + + The message to include in the exception when an element in + is not an instance of + . The message is shown in test results. + + + An array of parameters to use when formatting . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Tests whether the specified collections are equal and throws an exception + if the two collections are not equal. Equality is defined as having the same + elements in the same order and quantity. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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. Whether two elements are the same + is checked using method. + 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} must derive from {1}!. + + + + + 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 UITestMethodAttribute.DispatcherQueue should not be null. To use UITestMethodAttribute within a WinUI Desktop App, remember to set the static UITestMethodAttribute.DispatcherQueue during the test initialization.. + + + + + Looks up a localized string similar to Both collections are empty. {0}. + + + + + Looks up a localized string similar to Both collection contain same elements.. + + + + + Looks up a localized string similar to Both collection references point to the same collection object. {0}. + + + + + Looks up a localized string similar to Both collections contain the same elements. {0}. + + + + + Looks up a localized string similar to {0}({1}). + + + + + Looks up a localized string similar to (null). + + + + + Looks up a localized string similar to (object). + + + + + Looks up a localized string similar to String '{0}' does not contain string '{1}'. {2}.. + + + + + Looks up a localized string similar to {0} ({1}). + + + + + Looks up a localized string similar to Assert.Equals should not be used for Assertions. Please use Assert.AreEqual & overloads instead.. + + + + + Looks up a localized string similar to Method {0} must match the expected signature: public static {1} {0}({2}).. + + + + + Looks up a localized string similar to Property or method {0} on {1} returns empty IEnumerable<object[]>.. + + + + + Looks up a localized string similar to Property or method {0} on {1} does not return IEnumerable<object[]>.. + + + + + Looks up a localized string similar to Value returned by property or method {0} shouldn't be null.. + + + + + Looks up a localized string similar to The number of elements in the collections do not match. Expected:<{1}>. Actual:<{2}>.{0}. + + + + + Looks up a localized string similar to Element at index {0} do not match.. + + + + + Looks up a localized string similar to Element at index {1} is not of expected type. Expected type:<{2}>. Actual type:<{3}>.{0}. + + + + + Looks up a localized string similar to Element at index {1} is (null). Expected type:<{2}>.{0}. + + + + + Looks up a localized string similar to String '{0}' does not end with string '{1}'. {2}.. + + + + + Looks up a localized string similar to Invalid argument- EqualsTester can't use nulls.. + + + + + Looks up a localized string similar to Cannot convert object of type {0} to {1}.. + + + + + Looks up a localized string similar to The internal object referenced is no longer valid.. + + + + + Looks up a localized string similar to The parameter '{0}' is invalid. {1}.. + + + + + Looks up a localized string similar to The property {0} has type {1}; expected type {2}.. + + + + + Looks up a localized string similar to {0} Expected type:<{1}>. Actual type:<{2}>.. + + + + + Looks up a localized string similar to String '{0}' does not match pattern '{1}'. {2}.. + + + + + Looks up a localized string similar to Wrong Type:<{1}>. Actual type:<{2}>. {0}. + + + + + Looks up a localized string similar to String '{0}' matches pattern '{1}'. {2}.. + + + + + Looks up a localized string similar to No test data source specified. Atleast one TestDataSource is required with DataTestMethodAttribute.. + + + + + Looks up a localized string similar to No exception thrown. {1} exception was expected. {0}. + + + + + Looks up a localized string similar to The parameter '{0}' is invalid. The value cannot be null. {1}.. + + + + + Looks up a localized string similar to Different number of elements.. + + + + + Looks up a localized string similar to + The constructor with the specified signature could not be found. You might need to regenerate your private accessor, + or the member may be private and defined on a base class. If the latter is true, you need to pass the type + that defines the member into PrivateObject's constructor. + . + + + + + Looks up a localized string similar to + The member specified ({0}) could not be found. You might need to regenerate your private accessor, + or the member may be private and defined on a base class. If the latter is true, you need to pass the type + that defines the member into PrivateObject's constructor. + . + + + + + Looks up a localized string similar to String '{0}' does not start with string '{1}'. {2}.. + + + + + Looks up a localized string similar to The expected exception type must be System.Exception or a type derived from System.Exception.. + + + + + Looks up a localized string similar to (Failed to get the message for an exception of type {0} due to an exception.). + + + + + Looks up a localized string similar to Test method did not throw expected exception {0}. {1}. + + + + + Looks up a localized string similar to Test method did not throw an exception. An exception was expected by attribute {0} defined on the test method.. + + + + + Looks up a localized string similar to Test method threw exception {0}, but exception {1} was expected. Exception message: {2}. + + + + + Looks up a localized string similar to Test method threw exception {0}, but exception {1} or a type derived from it was expected. Exception message: {2}. + + + + + Looks up a localized string similar to Threw exception {2}, but exception {1} was expected. {0} + Exception Message: {3} + Stack Trace: {4}. + + + + + unit test outcomes + + + + + Test was executed, but there were issues. + Issues may involve exceptions or failed assertions. + + + + + Test has completed, but we can't say if it passed or failed. + May be used for aborted tests. + + + + + Test was executed without any issues. + + + + + Test is currently executing. + + + + + There was a system error while we were trying to execute a test. + + + + + The test timed out. + + + + + Test was aborted by the user. + + + + + Test is in an unknown state + + + + + Test cannot be executed. + + + + + Provides helper functionality for the unit test framework + + + + + Gets the exception messages, including the messages for all inner exceptions + recursively + + Exception to get messages for + string with error message information + + + + 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. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll new file mode 100644 index 0000000000000000000000000000000000000000..e0ab0d015150f2852335346562d66a9f4f0120bb GIT binary patch literal 74128 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..4fa9657 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Používá se pro určení položky nasazení (souboru nebo adresáře) za účelem nasazení podle testu. + Lze zadat na testovací třídě nebo testovací metodě. + Může mít více instancí atributu pro zadání více než jedné položky. + Cesta k položce může být absolutní nebo relativní. Pokud je relativní, je relativní ve vztahu k RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + Inicializuje novou instanci třídy . + + Soubor nebo adresář, který se má nasadit. Cesta je relativní ve vztahu k adresáři výstupu sestavení. Položka bude zkopírována do adresáře, ve kterém jsou nasazená testovací sestavení. + + + + Inicializuje novou instanci třídy . + + Relativní nebo absolutní cesta k souboru nebo adresáři, který se má nasadit. Cesta je relativní ve vztahu k adresáři výstupu sestavení. Položka bude zkopírována do stejného adresáře jako nasazená testovací sestavení. + Cesta k adresáři, do kterého se mají položky kopírovat. Může být absolutní nebo relativní ve vztahu k adresáři nasazení. Všechny soubory a adresáře určené cestou budou zkopírovány do tohoto adresáře. + + + + Získá cestu ke zdrojovému souboru nebo složce, které se mají kopírovat. + + + + + Získá cestu adresáře, do kterého se položka zkopíruje. + + + + + Spustí testovací kód ve vlákně uživatelského rozhraní pro aplikace pro Windows Store. + + + + + Spustí testovací metodu ve vlákně uživatelského rozhraní. + + + Testovací metoda + + + Pole instance + + Throws when run on an async test method. + + + + + Třída TestContext. Tato třída by měla být zcela abstraktní a neměla by obsahovat žádné + členy. Členy implementuje adaptér. Uživatelé rozhraní by měli + k této funkci přistupovat jenom prostřednictvím dobře definovaného rozhraní. + + + + + Získá vlastnosti testu. + + + + + Získá plně kvalifikovaný název třídy obsahující aktuálně prováděnou testovací metodu. + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Získá název aktuálně prováděné testovací metody. + + + + + Získá aktuální výsledek testu. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..3f446b4 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4197 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Atribut TestMethod pro provádění + + + + + Získá název testovací metody. + + + + + Získá název třídy testu. + + + + + Získá návratový typ testovací metody. + + + + + Získá parametry testovací metody. + + + + + Získá methodInfo pro testovací metodu. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Vyvolá testovací metodu. + + + Argumenty pro testovací metodu (např. pro testování řízené daty) + + + Výsledek vyvolání testovací metody + + + This call handles asynchronous test methods as well. + + + + + Získá všechny atributy testovací metody. + + + Jestli je platný atribut definovaný v nadřazené třídě + + + Všechny atributy + + + + + Získá atribut konkrétního typu. + + System.Attribute type. + + Jestli je platný atribut definovaný v nadřazené třídě + + + Atributy zadaného typu + + + + + Pomocná služba + + + + + Kontrolní parametr není null. + + + Parametr + + + Název parametru + + + Zpráva + + Throws argument null exception when parameter is null. + + + + Ověřovací parametr není null nebo prázdný. + + + Parametr + + + Název parametru + + + Zpráva + + Throws ArgumentException when parameter is null. + + + + Výčet způsobů přístupu k datovým řádkům při testování řízeném daty + + + + + Řádky se vrací v sekvenčním pořadí. + + + + + Řádky se vrátí v náhodném pořadí. + + + + + Atribut pro definování vložených dat pro testovací metodu + + + + + Inicializuje novou instanci třídy . + + Datový objekt + + + + Inicializuje novou instanci třídy , která přijímá pole argumentů. + + Datový objekt + Další data + + + + Získá data pro volání testovací metody. + + + + + Získá nebo nastaví zobrazovaný název ve výsledcích testu pro přizpůsobení. + + + + + Výjimka s neprůkazným kontrolním výrazem + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Inicializuje novou instanci třídy . + + + + + Třída InternalTestFailureException. Používá se pro označení interní chyby testovacího případu. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializuje novou instanci třídy . + + Zpráva o výjimce + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva o výjimce + + + + Inicializuje novou instanci třídy . + + + + + Atribut, podle kterého se má očekávat výjimka zadaného typu + + + + + Inicializuje novou instanci třídy s očekávaným typem. + + Typ očekávané výjimky + + + + Inicializuje novou instanci třídy + s očekávaným typem a zprávou, která se zahrne v případě, že test nevyvolá žádnou výjimku. + + Typ očekávané výjimky + + Zpráva, která má být zahrnuta do výsledku testu, pokud se test nezdaří z důvodu nevyvolání výjimky + + + + + Načte hodnotu, která označuje typ očekávané výjimky. + + + + + Získá nebo načte hodnotu, která označuje, jestli je možné typy odvozené od typu očekávané výjimky + považovat za očekávané. + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Ověří, jestli se očekává typ výjimky vyvolané testem jednotek. + + Výjimka vyvolaná testem jednotek + + + + Základní třída pro atributy, které určují, že se má očekávat výjimka testu jednotek + + + + + Inicializuje novou instanci třídy s výchozí zprávou no-exception. + + + + + Inicializuje novou instanci třídy se zprávou no-exception. + + + Zprávy, které mají být zahrnuty ve výsledku testu, pokud se test nezdaří z důvodu nevyvolání + výjimky + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Získá zprávu, které se má zahrnout do výsledku testu, pokud tento test selže v důsledku výjimky. + + + + + Získá výchozí zprávu no-exception. + + Název typu atributu ExpectedException + Výchozí zpráva neobsahující výjimku + + + + Určuje, jestli se daná výjimka očekává. Pokud metoda skončí, rozumí se tomu tak, + že se výjimka očekávala. Pokud metoda vyvolá výjimku, rozumí se tím, + že se výjimka neočekávala a součástí výsledku testu + je zpráva vyvolané výjimky. Pomocí třídy je možné si usnadnit + práci. Pokud se použije a kontrolní výraz selže, + výsledek testu se nastaví na Neprůkazný. + + Výjimka vyvolaná testem jednotek + + + + Znovu vyvolá výjimku, pokud se jedná o atribut AssertFailedException nebo AssertInconclusiveException. + + Výjimka, která se má znovu vyvolat, pokud se jedná výjimku kontrolního výrazu + + + + Tato třída je koncipovaná tak, aby uživatelům pomáhala při testování jednotek typů, které využívá obecné typy. + Atribut GenericParameterHelper řeší některá běžná omezení obecných typů, + jako jsou: + 1. veřejný výchozí konstruktor + 2. implementace společného rozhraní: IComparable, IEnumerable + + + + + Inicializuje novou instanci třídy , která + splňuje omezení newable v obecných typech jazyka C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializuje novou instanci třídy , která + inicializuje vlastnost Data na hodnotu zadanou uživatelem. + + Libovolné celé číslo + + + + Získá nebo nastaví data. + + + + + Provede porovnání hodnot pro dva objekty GenericParameterHelper. + + objekt, se kterým chcete porovnávat + pravda, pokud má objekt stejnou hodnotu jako „tento“ objekt GenericParameterHelper. + V opačném případě nepravda. + + + + Vrátí pro tento objekt hodnotu hash. + + Kód hash + + + + Porovná data daných dvou objektů . + + Objekt pro porovnání + + Číslo se znaménkem označující relativní hodnoty této instance a hodnoty + + + Thrown when the object passed in is not an instance of . + + + + + Vrátí objekt IEnumerator, jehož délka je odvozená od + vlastnosti dat. + + Objekt IEnumerator + + + + Vrátí objekt GenericParameterHelper, který se rovná + aktuálnímu objektu. + + Klonovaný objekt + + + + Umožňuje uživatelům protokolovat/zapisovat trasování z testů jednotek pro účely diagnostiky. + + + + + Obslužná rutina pro LogMessage + + Zpráva, kterou chcete zaprotokolovat + + + + Událost pro naslouchání. Dojde k ní, když autor testů jednotek napíše zprávu. + Určeno především pro použití adaptérem. + + + + + Rozhraní API pro volání zpráv protokolu zapisovačem testu + + Formátovací řetězec se zástupnými symboly + Parametry pro zástupné symboly + + + + Atribut TestCategory, používá se pro zadání kategorie testu jednotek. + + + + + Inicializuje novou instanci třídy a zavede pro daný test kategorii. + + + Kategorie testu + + + + + Získá kategorie testu, které se nastavily pro test. + + + + + Základní třída atributu Category + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializuje novou instanci třídy . + Tuto kategorii zavede pro daný test. Řetězce vrácené z TestCategories + se použijí spolu s příkazem /category k filtrování testů. + + + + + Získá kategorii testu, která se nastavila pro test. + + + + + Třída AssertFailedException. Používá se pro značení chyby testovacího případu. + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Inicializuje novou instanci třídy . + + + + + Kolekce pomocných tříd pro testování nejrůznějších podmínek v rámci + testů jednotek. Pokud se testovaná podmínka nesplní, vyvolá se + výjimka. + + + + + Získá instanci typu singleton funkce Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Thrown if is false. + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je nepravda. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is false. + + + + + Testuje, jestli je zadaná podmínka pravdivá, a vyvolá výjimku, + pokud nepravdivá není. + + + Podmínka, která má být podle testu pravdivá. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je nepravda. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is false. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Thrown if is true. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je pravda. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is true. + + + + + Testuje, jestli zadaná podmínka není nepravdivá, a vyvolá výjimku, + pokud pravdivá je. + + + Podmínka, která podle testu má být nepravdivá + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je pravda. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is true. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a vyvolá výjimku, + pokud tomu tak není. + + + Objekt, který má podle testu být Null + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Thrown if is null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is null. + + + + + Testuje, jestli je zadaný objekt null, a pokud je, + vyvolá výjimku. + + + Objekt, u kterého test očekává, že nebude Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is null. + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli oba zadané objekty odkazují na stejný objekt, + a vyvolá výjimku, pokud obě zadané hodnoty na stejný objekt neodkazují. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not refer to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli zadané objekty odkazují na různé objekty, + a vyvolá výjimku, pokud tyto dvě zadané hodnoty odkazují na stejný objekt. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if refers to the same object + as . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané hodnoty stejné, a vyvolá výjimku, + pokud tyto dvě hodnoty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou dvě logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, kterou test očekává. + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot a vyvolá výjimku, + pokud si tyto dvě hodnoty jsou rovny. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + The type of values to compare. + + + První hodnota, kterou chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá hodnota, kterou chcete porovnat. Jedná se o hodnotu vytvořenou testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané objekty stejné, a vyvolá výjimku, + pokud oba objekty stejné nejsou. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o objekt, který test očekává. + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných objektů a vyvolá výjimku, + pokud jsou oba objekty stejné. Rozdílné číselné typy se považují + za nestejné, i když jsou logické hodnoty stejné. 42L se nerovná 42. + + + První objekt, který chcete porovnat. Jedná se o hodnotu, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý objekt, který chcete porovnat. Jedná se o objekt vytvořený testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot float a vyvolá výjimku, + pokud nejsou stejné. + + + První plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku, kterou test očekává. + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot float a vyvolá výjimku, + pokud jsou stejné. + + + První desetinná čárka, kterou chcete porovnat. Toto je desetinná čárka, která se podle testu nemá + shodovat s aktuální hodnotou . + + + Druhá plovoucí desetinná čárka, kterou chcete porovnat. Jedná se o plovoucí desetinnou čárku vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Thrown if is not equal to + . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje rovnost zadaných hodnot double a vyvolá výjimku, + pokud se neshodují. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, kterou test očekává. + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o více než . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se liší od o více než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných hodnot double a vyvolá výjimku, + pokud jsou si rovny. + + + První dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost, která se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhá dvojitá přesnost, kterou chcete porovnat. Jedná se o dvojitou přesnost vytvořenou testovaným kódem. + + + Požadovaná přesnost. Výjimka bude vyvolána pouze tehdy, pokud + se liší od + o maximálně . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná nebo se liší o méně než + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. Pro porovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to . + + + + + Testuje, jestli jsou zadané řetězce stejné, a vyvolá výjimku, + pokud stejné nejsou. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který test očekává. + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou stejné. Pro srovnání se používá neutrální jazyková verze. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných řetězců a vyvolá výjimku, + pokud jsou si rovny. + + + První řetězec, který chcete porovnat. Jedná se o řetězec, který se podle testu nemá + shodovat se skutečnou hodnotou . + + + Druhý řetězec, který se má porovnat. Jedná se o řetězec vytvořený testovaným kódem. + + + Logická hodnota označující porovnání s rozlišováním velkých a malých písmen nebo bez jejich rozlišování. (Hodnota pravda + označuje porovnání bez rozlišování velkých a malých písmen.) + + + Objekt CultureInfo, který poskytuje informace o porovnání jazykových verzí. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není instancí . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt je instancí očekávaného + typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědění objektu. + + + Objekt, který podle testu má být zadaného typu + + + Očekávaný typ . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není instancí . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je instancí . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, jestli zadaný objekt není instancí nesprávného + typu, a vyvolá výjimku, pokud zadaný typ je v + hierarchii dědění objektu. + + + Objekt, který podle testu nemá být zadaného typu. + + + Typ, který by hodnotou neměl být. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je instancí . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Vyvolá výjimku AssertFailedException. + + + Always thrown. + + + + + Vyvolá výjimku AssertFailedException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Always thrown. + + + + + Vyvolá výjimku AssertFailedException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Always thrown. + + + + + Vyvolá výjimku AssertInconclusiveException. + + + Zpráva, která má být zahrnuta do výjimky. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Always thrown. + + + + + Statická přetížení operátoru rovnosti se používají k porovnání rovnosti odkazů na instance + dvou typů. Tato metoda by se neměla používat k porovnání rovnosti dvou + instancí. Tento objekt vždy vyvolá Assert.Fail. Ve svých testech + jednotek prosím použijte Assert.AreEqual a přidružená přetížení. + + Objekt A + Objekt B + Vždy nepravda. + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegujte kód, který chcete testovat a který má vyvolat výjimku. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ výjimky, ke které má podle očekávání dojít + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá + + AssertFailedException + , + pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá AssertFailedException, pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Testujte, jestli kód určený delegátem vyvolá přesně danou výjimku typu (a ne odvozeného typu), + a vyvolá AssertFailedException, pokud kód nevyvolává výjimky nebo vyvolává výjimky typu jiného než . + + Delegát kódu, který chcete testovat a který má vyvolat výjimku + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nevyvolá výjimku typu . + + + Pole parametrů, které se má použít při formátování . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Třídu spouští delegáta. + + + + + Nahradí znaky null ('\0') řetězcem "\\0". + + + Řetězec, který se má hledat + + + Převedený řetězec se znaky Null nahrazený řetězcem "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Pomocná funkce, která vytváří a vyvolává výjimku AssertionFailedException + + + název kontrolního výrazu, který vyvolává výjimku + + + zpráva popisující podmínky neplatnosti kontrolního výrazu + + + Parametry + + + + + Ověří parametr pro platné podmínky. + + + Parametr + + + Název kontrolního výrazu + + + název parametru + + + zpráva pro neplatnou výjimku parametru + + + Parametry + + + + + Bezpečně převede objekt na řetězec, včetně zpracování hodnot null a znaků null. + Hodnoty null se převádějí na formát (null). Znaky null se převádějí na \\0. + + + Objekt, který chcete převést na řetězec + + + Převedený řetězec + + + + + Kontrolní výraz řetězce + + + + + Získá instanci typu singleton funkce CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec obsahuje zadaný podřetězec, + a vyvolá výjimku, pokud se podřetězec v testovacím řetězci + nevyskytuje. + + + Řetězec, který má obsahovat . + + + Řetězec má být v rozmezí hodnot . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nezačíná na . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec začíná zadaným podřetězcem, + a vyvolá výjimku, pokud testovací řetězec podřetězcem + nezačíná. + + + Řetězec, který má začínat na . + + + Řetězec, který má být prefixem hodnoty . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nezačíná na . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not begin with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Thrown if does not end with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nekončí na . Zpráva se + zobrazuje ve výsledcích testu. + + + Thrown if does not end with + . + + + + + Testuje, jestli zadaný řetězec končí zadaným podřetězcem, + a vyvolá výjimku, pokud jím testovací řetězec + nekončí. + + + Řetězec, který má končit na . + + + Řetězec, který má být příponou . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + nekončí na . Zpráva se + zobrazuje ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not end with + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + neodpovídá . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný objekt shoduje s regulárním výrazem, a + vyvolá výjimku, pokud se řetězec s výrazem neshoduje. + + + Řetězec, který se má shodovat se vzorkem . + + + Regulární výraz, který se + má shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + neodpovídá . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if does not match + . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Thrown if matches . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + odpovídá . Zpráva je zobrazena ve výsledcích + testu. + + + Thrown if matches . + + + + + Testuje, jestli se zadaný řetězec neshoduje s regulárním výrazem, + a vyvolá výjimku, pokud se řetězec s výrazem shoduje. + + + Řetězec, který se nemá shodovat se skutečnou hodnotou . + + + Regulární výraz, který se + nemá shodovat. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + odpovídá . Zpráva je zobrazena ve výsledcích + testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if matches . + + + + + Kolekce tříd pomocných služeb pro ověřování nejrůznějších podmínek vztahujících se + na kolekce v rámci testů jednotek. Pokud se testovaná podmínka + nesplní, vyvolá se výjimka. + + + + + Získá instanci typu singleton funkce CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce obsahuje zadaný prvek, + a vyvolá výjimku, pokud prvek v kolekci není. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který má být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + není v . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Thrown if is found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je v kolekci . Zpráva je zobrazena ve výsledcích + testu. + + + Thrown if is found in + . + + + + + Testuje, jestli zadaná kolekce neobsahuje zadaný + prvek, a vyvolá výjimku, pokud prvek je v kolekci. + + + Kolekce, ve které chcete prvek vyhledat + + + Prvek, který nemá být v kolekci + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + je v kolekci . Zpráva je zobrazena ve výsledcích + testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is found in + . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Thrown if a null element is found in . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje prvek Null. Zpráva je zobrazena ve výsledcích testu. + + + Thrown if a null element is found in . + + + + + Testuje, jestli ani jedna položka v zadané kolekci není null, a vyvolá + výjimku, pokud je jakýkoli prvek null. + + + Kolekce, ve které chcete hledat prvky Null. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje prvek Null. Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if a null element is found in . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje alespoň jeden duplicitní prvek. Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jsou všechny položky v zadané kolekci jedinečné, a + vyvolá výjimku, pokud libovolné dva prvky v kolekci jsou stejné. + + + Kolekce, ve které chcete hledat duplicitní prvky + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje alespoň jeden duplicitní prvek. Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + se nenachází v podmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna kolekce je podmnožinou jiné kolekce, + a vyvolá výjimku, pokud libovolný prvek podmnožiny není zároveň + prvkem nadmnožiny. + + + Kolekce, která má být podmnožinou . + + + Kolekce má být nadmnožinou + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + se nenachází v podmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element in is not found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Zpráva, kterou chcete zahrnout do výjimky, pokud každý prvek v podmnožině + se nachází také v nadmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli jedna z kolekcí není podmnožinou jiné kolekce, a vyvolá + výjimku, pokud všechny prvky podmnožiny jsou také prvky + nadmnožiny. + + + Kolekce, která nemá být podmnožinou nadmnožiny . + + + Kolekce, která nemá být nadmnožinou podmnožiny + + + Zpráva, kterou chcete zahrnout do výjimky, pokud každý prvek v podmnožině + se nachází také v nadmnožině . + Zpráva je zobrazena ve výsledku testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if every element in is also found in + . + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud byl nalezen prvek + v jedné z kolekcí, ale ne ve druhé. Zpráva je zobrazena + ve výsledcích testu. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují stejný prvek, a vyvolá + výjimku, pokud některá z kolekcí obsahuje prvek, který není součástí druhé + kolekce. + + + První kolekce, kterou chcete porovnat. Jedná se o prvek, který test + očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud byl nalezen prvek + v jedné z kolekcí, ale ne ve druhé. Zpráva je zobrazena + ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje stejný prvek jako . Zpráva + je zobrazena ve výsledcích testu. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli dvě kolekce obsahují rozdílné prvky, a vyvolá + výjimku, pokud tyto dvě kolekce obsahují identické prvky bez ohledu + na pořadí. + + + První kolekce, kterou chcete porovnat. Obsahuje prvek, který se podle testu + má lišit od skutečné kolekce. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + obsahuje stejný prvek jako . Zpráva + je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + není instancí typu + . Zpráva je zobrazena ve výsledcích testu. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli všechny prvky v zadané kolekci jsou instancemi + očekávaného typu, a vyvolá výjimku, pokud očekávaný typ není + v hierarchii dědičnosti jednoho nebo více prvků. + + + Kolekce obsahující prvky, které podle testu mají být + zadaného typu. + + + Očekávaný typ jednotlivých prvků . + + + Zpráva, kterou chcete zahrnout do výjimky, pokud prvek v + není instancí typu + . Zpráva je zobrazena ve výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is not equal to + . + + + + + Testuje, jestli jsou zadané kolekce stejné, a vyvolá výjimku, + pokud obě kolekce stejné nejsou. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Rozdílné odkazy na stejnou hodnotu + se považují za stejné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, kterou test očekává. + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, pokud + se nerovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is not equal to + . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, když + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Thrown if is equal to . + + + + + Testuje nerovnost zadaných kolekcí a vyvolá výjimku, + pokud jsou dvě kolekce stejné. Rovnost je definovaná jako množina stejných + prvků ve stejném pořadí a o stejném počtu. Odlišné odkazy na stejnou + hodnotu se považují za sobě rovné. + + + První kolekce, kterou chcete porovnat. Jedná se o kolekci, která podle testu + nemá odpovídat . + + + Druhá kolekce, kterou chcete porovnat. Jedná se o kolekci vytvořenou + testovaným kódem. + + + Implementace porovnání, která se má použít pro porovnání prvků kolekce + + + Zpráva, kterou chcete zahrnout do výjimky, když + se rovná . Zpráva je zobrazena ve + výsledcích testu. + + + Pole parametrů, které se má použít při formátování . + + + Thrown if is equal to . + + + + + Určuje, jestli první kolekce je podmnožinou druhé + kolekce. Pokud některá z množin obsahuje duplicitní prvky, musí počet + výskytů prvku v podmnožině být menší, nebo + se musí rovnat počtu výskytů v nadmnožině. + + + Kolekce, která podle testu má být obsažena v nadmnožině . + + + Kolekce, která podle testu má obsahovat . + + + Pravda, pokud je podmnožinou + , jinak nepravda. + + + + + Vytvoří slovník obsahující počet výskytů jednotlivých + prvků v zadané kolekci. + + + Kolekce, kterou chcete zpracovat + + + Počet prvků Null v kolekci + + + Slovník obsahující počet výskytů jednotlivých prvků + v zadané kolekci. + + + + + Najde mezi dvěma kolekcemi neshodný prvek. Neshodný + prvek je takový, který má v očekávané kolekci + odlišný počet výskytů ve srovnání se skutečnou kolekcí. Kolekce + se považují za rozdílné reference bez hodnoty null se + stejným počtem prvků. Za tuto úroveň ověření odpovídá + volající. Pokud neexistuje žádný neshodný prvek, funkce vrátí + false a neměli byste použít parametry Out. + + + První kolekce, která se má porovnat + + + Druhá kolekce k porovnání + + + Očekávaný počet výskytů prvku + nebo 0, pokud není žádný nevyhovující + prvek. + + + Skutečný počet výskytů prvku + nebo 0, pokud není žádný nevyhovující + prvek. + + + Neshodný prvek (může být Null) nebo Null, pokud neexistuje žádný + neshodný prvek. + + + pravda, pokud je nalezen nevyhovující prvek; v opačném případě nepravda. + + + + + Porovná objekt pomocí atributu object.Equals. + + + + + Základní třída pro výjimky architektury + + + + + Inicializuje novou instanci třídy . + + + + + Inicializuje novou instanci třídy . + + Zpráva + Výjimka + + + + Inicializuje novou instanci třídy . + + Zpráva + + + + Třída prostředků se silnými typy pro vyhledávání lokalizovaných řetězců atd. + + + + + Vrátí v mezipaměti uloženou instanci ResourceManager použitou touto třídou. + + + + + Přepíše vlastnost CurrentUICulture aktuálního vlákna pro všechna + vyhledávání prostředků pomocí této třídy prostředků silného typu. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Přístupový řetězec má neplatnou syntaxi. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Očekávaná kolekce obsahuje počet výskytů {1} <{2}>. Skutečná kolekce obsahuje tento počet výskytů: {3}. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Našla se duplicitní položka:<{1}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Očekáváno:<{1}>. Případ je rozdílný pro skutečnou hodnotu:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Mezi očekávanou hodnotou <{1}> a skutečnou hodnotou <{2}> se očekává rozdíl maximálně <{3}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekáváno:<{1} ({2})>. Skutečnost:<{3} ({4})>. {0}. + + + + + Vyhledá řetězec podobný řetězci Očekáváno:<{1}>. Skutečnost:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Mezi očekávanou hodnotou <{1}> a skutečnou hodnotou <{2}> se očekával rozdíl větší než <{3}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekávala se libovolná hodnota s výjimkou:<{1}>. Skutečnost:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nevkládejte hodnotu typů do AreSame(). Hodnoty převedené na typ Object nebudou nikdy stejné. Zvažte možnost použít AreEqual(). {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Chyba {0}. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: async TestMethod s atributem UITestMethodAttribute se nepodporují. Buď odeberte async, nebo použijte TestMethodAttribute. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce jsou prázdné. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce obsahují stejný prvek. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě reference kolekce odkazují na stejný objekt kolekce. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Obě kolekce obsahují stejné prvky. {0}. + + + + + Vyhledá řetězec podobný řetězci {0}({1}). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (null). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (objekt). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} neobsahuje řetězec {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci {0} ({1}). + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Atribut Assert.Equals by se neměl používat pro kontrolní výrazy. Použijte spíše Assert.AreEqual a přetížení. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Počet prvků v kolekci se neshoduje. Očekáváno:<{1}>. Skutečnost:<{2}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Prvek indexu {0} se neshoduje. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Prvek indexu {1} je neočekávaného typu. Očekávaný typ:<{2}>. Skutečný typ:<{3}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Prvek indexu {1} je (null). Očekávaný typ:<{2}>.{0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} nekončí řetězcem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Neplatný argument: EqualsTester nemůže použít hodnoty null. + + + + + Vyhledá řetězec podobný řetězci Nejde převést objekt typu {0} na {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Interní odkazovaný objekt už není platný. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Parametr {0} je neplatný. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Vlastnost {0} má typ {1}; očekávaný typ {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci {0} Očekávaný typ:<{1}>. Skutečný typ:<{2}>. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} se neshoduje se vzorkem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Nesprávný typ:<{1}>. Skutečný typ:<{2}>. {0}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} se shoduje se vzorkem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nezadal se žádný atribut DataRowAttribute. K atributu DataTestMethodAttribute se vyžaduje aspoň jeden atribut DataRowAttribute. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Nevyvolala se žádná výjimka. Očekávala se výjimka {1}. {0}. + + + + + Vyhledá lokalizované řetězce podobné tomuto: Parametr {0} je neplatný. Hodnota nemůže být null. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Rozdílný počet prvků. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci + Konstruktor se zadaným podpisem se nenašel. Pravděpodobně budete muset obnovit privátní přístupový objekt, + nebo je člen pravděpodobně privátní a založený na základní třídě. Pokud je pravdivý druhý zmíněný případ, musíte vložit typ + definující člen do konstruktoru objektu PrivateObject. + + + + + + Vyhledá lokalizovaný řetězec podobný řetězci + Zadaný člen ({0}) se nenašel. Pravděpodobně budete muset obnovit privátní přístupový objekt, + nebo je člen pravděpodobně privátní a založený na základní třídě. Pokud je pravdivý druhý zmíněný případ, musíte vložit typ + definující člen do konstruktoru atributu PrivateObject. + + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Řetězec {0} nezačíná řetězcem {1}. {2}. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Očekávaný typ výjimky musí být System.Exception nebo typ odvozený od System.Exception. + + + + + Vyhledá lokalizovaný řetězec podobný řetězci (Z důvodu výjimky se nepodařilo získat zprávu pro výjimku typu {0}.). + + + + + Vyhledá lokalizovaný řetězec podobný řetězci Testovací metoda nevyvolala očekávanou výjimku {0}. {1}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda nevyvolala výjimku. Atribut {0} definovaný testovací metodou očekával výjimku. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda vyvolala výjimku {0}, ale očekávala se výjimka {1}. Zpráva o výjimce: {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Testovací metoda vyvolala výjimku {0}, očekávala se ale odvozená výjimka {1} nebo typ. Zpráva o výjimce: {2}. + + + + + Vyhledá lokalizovaný řetězec podobný tomuto: Vyvolala se výjimka {2}, ale očekávala se výjimka {1}. {0} + Zpráva o výjimce: {3} + Trasování zásobníku: {4} + + + + + Výsledky testu jednotek + + + + + Test se provedl, ale došlo k problémům. + Problémy se můžou týkat výjimek nebo neúspěšných kontrolních výrazů. + + + + + Test se dokončil, ale není možné zjistit, jestli byl úspěšný, nebo ne. + Dá se použít pro zrušené testy. + + + + + Test se provedl zcela bez problémů. + + + + + V tuto chvíli probíhá test. + + + + + Při provádění testu došlo k chybě systému. + + + + + Časový limit testu vypršel. + + + + + Test byl zrušen uživatelem. + + + + + Test je v neznámém stavu. + + + + + Poskytuje pomocnou funkci pro systém pro testy jednotek. + + + + + Rekurzivně získá zprávy o výjimce, včetně zpráv pro všechny vnitřní + výjimky. + + Výjimka pro načítání zpráv pro + řetězec s informacemi v chybové zprávě + + + + Výčet pro časové limity, který se dá použít spolu s třídou . + Typ výčtu musí odpovídat + + + + + Nekonečno + + + + + Atribut třídy testu + + + + + Získá atribut testovací metody, který umožní spustit tento test. + + Instance atributu testovací metody definované v této metodě. + Typ Použije se ke spuštění tohoto testu. + Extensions can override this method to customize how all methods in a class are run. + + + + Atribut testovací metody + + + + + Spustí testovací metodu. + + Testovací metoda, která se má spustit. + Pole objektů TestResult, které představuje výsledek (nebo výsledky) daného testu. + Extensions can override this method to customize running a TestMethod. + + + + Atribut inicializace testu + + + + + Atribut vyčištění testu + + + + + Atribut ignore + + + + + Atribut vlastnosti testu + + + + + Inicializuje novou instanci třídy . + + + Název + + + Hodnota + + + + + Získá název. + + + + + Získá hodnotu. + + + + + Atribut inicializace třídy + + + + + Atribut vyčištění třídy + + + + + Atribut inicializace sestavení + + + + + Atribut vyčištění sestavení + + + + + Vlastník testu + + + + + Inicializuje novou instanci třídy . + + + Vlastník + + + + + Získá vlastníka. + + + + + Atribut priority, používá se pro určení priority testu jednotek. + + + + + Inicializuje novou instanci třídy . + + + Priorita + + + + + Získá prioritu. + + + + + Popis testu + + + + + Inicializuje novou instanci třídy , která popíše test. + + Popis + + + + Získá popis testu. + + + + + Identifikátor URI struktury projektů CSS + + + + + Inicializuje novou instanci třídy pro identifikátor URI struktury projektů CSS. + + Identifikátor URI struktury projektů CSS + + + + Získá identifikátor URI struktury projektů CSS. + + + + + Identifikátor URI iterace CSS + + + + + Inicializuje novou instanci třídy pro identifikátor URI iterace CSS. + + Identifikátor URI iterace CSS + + + + Získá identifikátor URI iterace CSS. + + + + + Atribut WorkItem, používá se pro zadání pracovní položky přidružené k tomuto testu. + + + + + Inicializuje novou instanci třídy pro atribut WorkItem. + + ID pro pracovní položku + + + + Získá ID k přidružené pracovní položce. + + + + + Atribut časového limitu, používá se pro zadání časového limitu testu jednotek. + + + + + Inicializuje novou instanci třídy . + + + Časový limit + + + + + Inicializuje novou instanci třídy s předem nastaveným časovým limitem. + + + Časový limit + + + + + Získá časový limit. + + + + + Objekt TestResult, který se má vrátit adaptéru + + + + + Inicializuje novou instanci třídy . + + + + + Získá nebo nastaví zobrazovaný název výsledku. Vhodné pro vrácení většího počtu výsledků. + Pokud je null, jako DisplayName se použije název metody. + + + + + Získá nebo nastaví výsledek provedení testu. + + + + + Získá nebo nastaví výjimku vyvolanou při chybě testu. + + + + + Získá nebo nastaví výstup zprávy zaprotokolované testovacím kódem. + + + + + Získá nebo nastaví výstup zprávy zaprotokolované testovacím kódem. + + + + + Získá nebo načte trasování ladění testovacího kódu. + + + + + Gets or sets the debug traces by test code. + + + + + Získá nebo nastaví délku trvání testu. + + + + + Získá nebo nastaví index řádku dat ve zdroji dat. Nastavte pouze pro výsledky jednoho + spuštění řádku dat v testu řízeném daty. + + + + + Získá nebo nastaví návratovou hodnotu testovací metody. (Aktuálně vždy null) + + + + + Získá nebo nastaví soubory s výsledky, které připojil test. + + + + + Určuje připojovací řetězec, název tabulky a metodu přístupu řádku pro testování řízené daty. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Název výchozího poskytovatele pro DataSource + + + + + Výchozí metoda pro přístup k datům + + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s poskytovatelem dat, připojovacím řetězcem, tabulkou dat a přístupovou metodou k datům, pomocí kterých se získá přístup ke zdroji dat. + + Název poskytovatele neutrálních dat, jako je System.Data.SqlClient + + Připojovací řetězec specifický pro poskytovatele dat. + UPOZORNĚNÍ: Připojovací řetězec může obsahovat citlivé údaje (třeba heslo). + Připojovací řetězec se ukládá v podobě prostého textu ve zdrojovém kódu a v kompilovaném sestavení. + Tyto citlivé údaje zabezpečíte omezením přístupu ke zdrojovému kódu a sestavení. + + Název tabulky dat + Určuje pořadí přístupu k datům. + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s připojovacím řetězcem a názvem tabulky. + Zadejte připojovací řetězec a tabulku dat, pomocí kterých se získá přístup ke zdroji dat OLEDB. + + + Připojovací řetězec specifický pro poskytovatele dat. + UPOZORNĚNÍ: Připojovací řetězec může obsahovat citlivé údaje (třeba heslo). + Připojovací řetězec se ukládá v podobě prostého textu ve zdrojovém kódu a v kompilovaném sestavení. + Tyto citlivé údaje zabezpečíte omezením přístupu ke zdrojovému kódu a sestavení. + + Název tabulky dat + + + + Inicializuje novou instanci třídy . Tato instance se inicializuje s poskytovatelem dat a připojovacím řetězcem přidruženým k názvu nastavení. + + Název zdroje dat nalezený v oddílu <microsoft.visualstudio.qualitytools> souboru app.config. + + + + Získá hodnotu představující poskytovatele dat zdroje dat. + + + Název poskytovatele dat. Pokud poskytovatel dat nebyl při inicializaci objektu zadán, bude vrácen výchozí poskytovatel System.Data.OleDb. + + + + + Získá hodnotu představující připojovací řetězec zdroje dat. + + + + + Získá hodnotu označující název tabulky poskytující data. + + + + + Získá metodu používanou pro přístup ke zdroji dat. + + + + Jedna z těchto položek: . Pokud není inicializován, vrátí výchozí hodnotu . + + + + + Získá název zdroje dat nalezeného v části <microsoft.visualstudio.qualitytools> v souboru app.config. + + + + + Atribut testu řízeného daty, kde se data dají zadat jako vložená. + + + + + Vyhledá všechny datové řádky a spustí je. + + + Testovací metoda + + + Pole . + + + + + Spustí testovací metodu řízenou daty. + + Testovací metoda, kterou chcete provést. + Datový řádek + Výsledek provedení + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..3d6c968 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Wird zum Angeben des Bereitstellungselements (Datei oder Verzeichnis) für eine Bereitstellung pro Test verwendet. + Kann für eine Testklasse oder Testmethode angegeben werden. + Kann mehrere Instanzen des Attributs besitzen, um mehrere Elemente anzugeben. + Der Elementpfad kann absolut oder relativ sein. Wenn er relativ ist, dann relativ zu "RunConfig.RelativePathRoot". + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die bereitzustellende Datei oder das Verzeichnis. Der Pfad ist relativ zum Buildausgabeverzeichnis. Das Element wird in das gleiche Verzeichnis wie die bereitgestellten Testassemblys kopiert. + + + + Initialisiert eine neue Instanz der -Klasse. + + Der relative oder absolute Pfad zur bereitzustellenden Datei oder zum Verzeichnis. Der Pfad ist relativ zum Buildausgabeverzeichnis. Das Element wird in das gleiche Verzeichnis wie die bereitgestellten Testassemblys kopiert. + Der Pfad des Verzeichnisses, in das die Elemente kopiert werden sollen. Er kann absolut oder relativ zum Bereitstellungsverzeichnis sein. Alle Dateien und Verzeichnisse, die identifiziert werden durch werden in dieses Verzeichnis kopiert. + + + + Ruft den Pfad der Quelldatei oder des -ordners ab, die bzw. der kopiert werden soll. + + + + + Ruft den Pfad des Verzeichnisses ab, in das das Element kopiert werden soll. + + + + + Hiermit wird Testcode im UI-Thread für Windows Store-Apps ausgeführt. + + + + + Hiermit wird die Testmethode für den UI-Thread ausgeführt. + + + Die Testmethode. + + + Ein Array aus -Instanzen. + + Throws when run on an async test method. + + + + + Die TestContext-Klasse. Diese Klasse muss vollständig abstrakt sein und keine + Member enthalten. Der Adapter implementiert die Member. Benutzer im Framework sollten + darauf nur über eine klar definierte Schnittstelle zugreifen. + + + + + Ruft Testeigenschaften für einen Test ab. + + + + + Ruft den vollqualifizierten Namen der Klasse ab, die die Testmethode enthält, die zurzeit ausgeführt wird. + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Ruft den Namen der zurzeit ausgeführten Testmethode ab. + + + + + Ruft das aktuelle Testergebnis ab. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..ae68026 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod für die Ausführung. + + + + + Ruft den Namen der Testmethode ab. + + + + + Ruft den Namen der Testklasse ab. + + + + + Ruft den Rückgabetyp der Testmethode ab. + + + + + Ruft die Parameter der Testmethode ab. + + + + + Ruft die methodInfo der Testmethode ab. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Ruft die Testmethode auf. + + + An die Testmethode zu übergebende Argumente (z. B. für datengesteuerte Tests). + + + Das Ergebnis des Testmethodenaufrufs. + + + This call handles asynchronous test methods as well. + + + + + Ruft alle Attribute der Testmethode ab. + + + Gibt an, ob das in der übergeordneten Klasse definierte Attribut gültig ist. + + + Alle Attribute. + + + + + Ruft ein Attribut eines bestimmten Typs ab. + + System.Attribute type. + + Gibt an, ob das in der übergeordneten Klasse definierte Attribut gültig ist. + + + Die Attribute des angegebenen Typs. + + + + + Das Hilfsprogramm. + + + + + Der check-Parameter ungleich null. + + + Der Parameter. + + + Der Parametername. + + + Die Meldung. + + Throws argument null exception when parameter is null. + + + + Der check-Parameter ungleich null oder leer. + + + Der Parameter. + + + Der Parametername. + + + Die Meldung. + + Throws ArgumentException when parameter is null. + + + + Enumeration für die Art des Zugriffs auf Datenzeilen in datengesteuerten Tests. + + + + + Zeilen werden in sequenzieller Reihenfolge zurückgegeben. + + + + + Zeilen werden in zufälliger Reihenfolge zurückgegeben. + + + + + Attribut zum Definieren von Inlinedaten für eine Testmethode. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Das Datenobjekt. + + + + Initialisiert eine neue Instanz der -Klasse, die ein Array aus Argumenten akzeptiert. + + Ein Datenobjekt. + Weitere Daten. + + + + Ruft Daten für den Aufruf der Testmethode ab. + + + + + Ruft den Anzeigenamen in den Testergebnissen für die Anpassung ab. + + + + + Die nicht eindeutige Assert-Ausnahme. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Die InternalTestFailureException-Klasse. Wird zum Angeben eines internen Fehlers für einen Testfall verwendet. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Ausnahmemeldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Ausnahmemeldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Ein Attribut, das angibt, dass eine Ausnahme des angegebenen Typs erwartet wird + + + + + Initialisiert eine neue Instanz der -Klasse mit dem erwarteten Typ + + Der Typ der erwarteten Ausnahme. + + + + Initialisiert eine neue Instanz der-Klasse mit + dem erwarteten Typ und der einzuschließenden Meldung, wenn vom Test keine Ausnahme ausgelöst wurde. + + Der Typ der erwarteten Ausnahme. + + Die Meldung, die in das Testergebnis eingeschlossen werden soll, wenn beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft einen Wert ab, der den Typ der erwarteten Ausnahme angibt. + + + + + Ruft einen Wert ab, der angibt, ob es zulässig ist, dass vom Typ der erwarteten Ausnahme abgeleitete Typen + als erwartet qualifiziert werden. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Überprüft, ob der Typ der vom Komponententest ausgelösten Ausnahme erwartet wird. + + Die vom Komponententest ausgelöste Ausnahme. + + + + Basisklasse für Attribute, die angeben, dass eine Ausnahme aus einem Komponententest erwartet wird. + + + + + Initialisiert eine neue Instanz der -Klasse mit einer standardmäßigen "no-exception"-Meldung. + + + + + Initialisiert eine neue Instanz der -Klasse mit einer 2no-exception"-Meldung + + + Die Meldung, die in das Testergebnis eingeschlossen werden soll, wenn beim Test ein Fehler auftritt, + weil keine Ausnahme ausgelöst wird. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft die Meldung ab, die dem Testergebnis hinzugefügt werden soll, falls beim Test ein Fehler auftritt, weil keine Ausnahme ausgelöst wird. + + + + + Ruft die standardmäßige Nichtausnahmemeldung ab. + + Der Typname des ExpectedException-Attributs. + Die standardmäßige Nichtausnahmemeldung. + + + + Ermittelt, ob die Annahme erwartet ist. Wenn die Methode zurückkehrt, wird davon ausgegangen, + dass die Annahme erwartet war. Wenn die Methode eine Ausnahme auslöst, + wird davon ausgegangen, dass die Ausnahme nicht erwartet war, und die Meldung + der ausgelösten Ausnahme wird in das Testergebnis eingeschlossen. Die -Klasse wird aus Gründen der + Zweckmäßigkeit bereitgestellt. Wenn verwendet wird und ein Fehler der Assertion auftritt, + wird das Testergebnis auf Inconclusive festgelegt. + + Die vom Komponententest ausgelöste Ausnahme. + + + + Löst die Ausnahme erneut aus, wenn es sich um eine AssertFailedException oder eine AssertInconclusiveException handelt. + + Die Ausnahme, die erneut ausgelöst werden soll, wenn es sich um eine Assertionausnahme handelt. + + + + Diese Klasse unterstützt Benutzer beim Ausführen von Komponententests für Typen, die generische Typen verwenden. + GenericParameterHelper erfüllt einige allgemeine generische Typeinschränkungen, + beispielsweise: + 1. öffentlicher Standardkonstruktor + 2. implementiert allgemeine Schnittstellen: IComparable, IEnumerable + + + + + Initialisiert eine neue Instanz der -Klasse, die + die Einschränkung "newable" in C#-Generika erfüllt. + + + This constructor initializes the Data property to a random value. + + + + + Initialisiert eine neue Instanz der-Klasse, die + die Data-Eigenschaft mit einem vom Benutzer bereitgestellten Wert initialisiert. + + Ein Integerwert + + + + Ruft die Daten ab oder legt sie fest. + + + + + Führt den Wertvergleich für zwei GenericParameterHelper-Objekte aus. + + Das Objekt, mit dem der Vergleich ausgeführt werden soll. + TRUE, wenn das Objekt den gleichen Wert wie "dieses" GenericParameterHelper-Objekt aufweist. + Andernfalls FALSE. + + + + Gibt einen Hashcode für diese Objekt zurück. + + Der Hash. + + + + Vergleicht die Daten der beiden -Objekte. + + Das Objekt, mit dem verglichen werden soll. + + Eine signierte Zahl, die die relativen Werte dieser Instanz und dieses Werts angibt. + + + Thrown when the object passed in is not an instance of . + + + + + Gibt ein IEnumerator-Objekt zurück, dessen Länge aus + der Data-Eigenschaft abgeleitet ist. + + Das IEnumerator-Objekt + + + + Gibt ein GenericParameterHelper-Objekt zurück, das gleich + dem aktuellen Objekt ist. + + Das geklonte Objekt. + + + + Ermöglicht Benutzern das Protokollieren/Schreiben von Ablaufverfolgungen aus Komponententests für die Diagnose. + + + + + Handler für LogMessage. + + Die zu protokollierende Meldung. + + + + Zu überwachendes Ereignis. Wird ausgelöst, wenn der Komponententestwriter eine Meldung schreibt. + Wird hauptsächlich von Adaptern verwendet. + + + + + Vom Testwriter aufzurufende API zum Protokollieren von Meldungen. + + Das Zeichenfolgenformat mit Platzhaltern. + Parameter für Platzhalter. + + + + Das TestCategory-Attribut. Wird zum Angeben der Kategorie eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse und wendet die Kategorie auf den Test an. + + + Die test-Kategorie. + + + + + Ruft die Testkategorien ab, die auf den Test angewendet wurden. + + + + + Die Basisklasse für das Category-Attribut. + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initialisiert eine neue Instanz der -Klasse. + Wendet die Kategorie auf den Test an. Die von TestCategories + zurückgegebenen Zeichenfolgen werden mit dem Befehl "/category" zum Filtern von Tests verwendet. + + + + + Ruft die Testkategorie ab, die auf den Test angewendet wurde. + + + + + Die AssertFailedException-Klasse. Wird zum Angeben eines Fehlers für einen Testfall verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Eine Sammlung von Hilfsklassen zum Testen verschiedener Bedingungen in + Komponententests. Wenn die getestete Bedingung nicht erfüllt wird, wird eine Ausnahme + ausgelöst. + + + + + Ruft die Singleton-Instanz der Assert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + FALSE ist. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung TRUE ist, und löst eine Ausnahme aus, + wenn die Bedingung FALSE ist. + + + Die Bedingung, von der der Test erwartet, dass sie TRUE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + FALSE ist. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is false. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Thrown if is true. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist TRUE. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is true. + + + + + Testet, ob die angegebene Bedingung FALSE ist, und löst eine Ausnahme aus, + wenn die Bedingung TRUE ist. + + + Die Bedingung, von der der Test erwartet, dass sie FALSE ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist TRUE. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is true. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt NULL ist, und löst eine Ausnahme aus, + wenn dies nicht der Fall ist. + + + Das Objekt, von dem der Test erwartet, dass es NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Thrown if is null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is null. + + + + + Testet, ob das angegebene Objekt ungleich NULL ist, und löst eine Ausnahme aus, + wenn es NULL ist. + + + Das Objekt, von dem der Test erwartet, dass es ungleich NULL ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist NULL. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is null. + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, den der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not refer to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Objekte beide auf das gleiche Objekt verweisen, und + löst eine Ausnahme aus, wenn die beiden Eingaben nicht auf das gleiche Objekt verweisen. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist der Wert, der vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist identisch mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if refers to the same object + as . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Werte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Der erste zu vergleichende Wert. Dies ist der Wert, den der Test erwartet. + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Werte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Werte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + The type of values to compare. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Der zweite zu vergleichende Wert. Dies ist der Wert, der vom zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte gleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte nicht gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist das Objekt, das der Test erwartet. + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Objekte ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Objekte gleich sind. Verschiedene numerische Typen werden selbst dann als ungleich + behandelt, wenn die logischen Werte gleich sind. 42L ist nicht gleich 42. + + + Das erste zu vergleichende Objekt. Dies ist der Wert, von dem der Test keine + Übereinstimmung erwartet. . + + + Das zweite zu vergleichende Objekt. Dies ist das Objekt, das vom getesteten Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, den der Test erwartet. + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Gleitkommawerte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Gleitkommawert. Dies ist der Gleitkommawert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Double-Werte gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, den der Test erwartet. + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um mehr als . + + + Die in die Ausnahme einzuschließende Meldung, wenn + sich unterscheidet von um mehr als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Double-Werte ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Der erste zu vergleichende Double-Wert. Dies ist der Double-Wert, für den der Test keine Übereinstimmung + erwartet. . + + + Der zweite zu vergleichende Double-Wert. Dies ist der Double-Wert, der vom getesteten Code generiert wird. + + + Die erforderliche Genauigkeit. Eine Ausnahme wird nur ausgelöst, wenn + sich unterscheidet von + um höchstens . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich oder sich unterscheidet um weniger als + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen gleich sind, und löst eine Ausnahme aus, + wenn sie ungleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die der Test erwartet. + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. Die invariante Kultur wird für den Vergleich verwendet. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Zeichenfolgen ungleich sind, und löst eine Ausnahme aus, + wenn sie gleich sind. + + + Die erste zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, von der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Zeichenfolge. Dies ist die Zeichenfolge, die vom getesteten Code generiert wird. + + + Ein boolescher Wert, der einen Vergleich mit oder ohne Beachtung von Groß-/Kleinschreibung angibt. (TRUE + gibt einen Vergleich ohne Beachtung von Groß-/Kleinschreibung an.) + + + Ein CultureInfo-Objekt, das kulturspezifische Vergleichsinformationen bereitstellt. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt eine Instanz des erwarteten + Typs ist, und löst eine Ausnahme aus, wenn sich der erwartete Typ nicht in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es vom angegebenen Typ ist. + + + Der erwartete Typ von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testet, ob das angegebene Objekt keine Instanz des falschen + Typs ist, und löst eine Ausnahme aus, wenn sich der angegebene Typ in der + Vererbungshierarchie des Objekts befindet. + + + Das Objekt, von dem der Test erwartet, dass es nicht vom angegebenen Typ ist. + + + Der Typ, der unzulässig ist. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist keine Instanz von . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Löst eine AssertFailedException aus. + + + Always thrown. + + + + + Löst eine AssertFailedException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Always thrown. + + + + + Löst eine AssertFailedException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Always thrown. + + + + + Löst eine AssertInconclusiveException aus. + + + Die in die Ausnahme einzuschließende Meldung. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Always thrown. + + + + + Statische equals-Überladungen werden zum Vergleichen von Instanzen zweier Typen für + Verweisgleichheit verwendet. Diese Methode sollte nicht zum Vergleichen von zwei Instanzen auf + Gleichheit verwendet werden. Dieses Objekt löst immer einen Assert.Fail aus. Verwenden Sie + Assert.AreEqual und zugehörige Überladungen in Ihren Komponententests. + + Objekt A + Objekt B + Immer FALSE. + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der Typ der Ausnahme, die ausgelöst werden soll. + + + + + Testet, ob der von Delegat ausgegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und + + AssertFailedException + + auslöst, wenn der Code keine Ausnahme oder einen anderen Typ als auslöst. + + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Testet, ob der von Delegat angegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und AssertFailedException auslöst, wenn der Code keine Ausnahme auslöst oder einen anderen Typ als auslöst. + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Testet, ob der von Delegat angegebene Code genau die angegebene Ausnahme vom Typ (und nicht vom abgeleiteten Typ) auslöst + und AssertFailedException auslöst, wenn der Code keine Ausnahme auslöst oder einen anderen Typ als auslöst. + + Zu testender Delegatcode, von dem erwartet wird, dass er eine Ausnahme auslöst. + + Die in die Ausnahme einzuschließende Meldung, wenn + löst keine Ausnahme aus vom Typ . + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Der der Delegat ausgeführt wird. + + + + + Ersetzt Nullzeichen ("\0") durch "\\0". + + + Die Zeichenfolge, nach der gesucht werden soll. + + + Die konvertierte Zeichenfolge, in der Nullzeichen durch "\\0" ersetzt wurden. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Eine Hilfsfunktion, die eine AssertionFailedException erstellt und auslöst. + + + Der Name der Assertion, die eine Ausnahme auslöst. + + + Eine Meldung, die Bedingungen für den Assertionfehler beschreibt. + + + Die Parameter. + + + + + Überprüft den Parameter auf gültige Bedingungen. + + + Der Parameter. + + + Der Name der Assertion. + + + Parametername + + + Meldung für die ungültige Parameterausnahme. + + + Die Parameter. + + + + + Konvertiert ein Objekt sicher in eine Zeichenfolge und verarbeitet dabei NULL-Werte und Nullzeichen. + NULL-Werte werden in "(null)" konvertiert. Nullzeichen werden in "\\0" konvertiert". + + + Das Objekt, das in eine Zeichenfolge konvertiert werden soll. + + + Die konvertierte Zeichenfolge. + + + + + Die Zeichenfolgenassertion. + + + + + Ruft die Singleton-Instanz der CollectionAssert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge die angegebene Teilzeichenfolge + enthält, und löst eine Ausnahme aus, wenn die Teilzeichenfolge nicht in der + Testzeichenfolge vorkommt. + + + Die Zeichenfolge, von der erwartet wird, dass sie Folgendes enthält: . + + + Die Zeichenfolge, die erwartet wird in . + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + beginnt nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + beginnt, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge beginnt. + + + Die Zeichenfolge, von der erwartet wird, dass sie beginnt mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Präfix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + beginnt nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not begin with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + endet nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit der angegebenen Teilzeichenfolge + endet, und löst eine Ausnahme aus, wenn die Testzeichenfolge nicht mit der + Teilzeichenfolge endet. + + + Die Zeichenfolge, von der erwartet wird, dass sie endet mit . + + + Die Zeichenfolge, von der erwartet wird, dass sie ein Suffix ist von . + + + Die in die Ausnahme einzuschließende Meldung, wenn + endet nicht mit . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not end with + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + keine Übereinstimmung vorliegt. . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge nicht mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem eine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + keine Übereinstimmung vorliegt. . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if does not match + . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Thrown if matches . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + Übereinstimmungen . Die Meldung wird in den Testergebnissen + angezeigt. + + + Thrown if matches . + + + + + Testet, ob die angegebene Zeichenfolge nicht mit einem regulären Ausdruck übereinstimmt, und + löst eine Ausnahme aus, wenn die Zeichenfolge mit dem Ausdruck übereinstimmt. + + + Die Zeichenfolge, von der erwartet wird, dass sie nicht übereinstimmt mit . + + + Der reguläre Ausdruck, mit dem keine + Übereinstimmung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + Übereinstimmungen . Die Meldung wird in den Testergebnissen + angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if matches . + + + + + Eine Sammlung von Hilfsklassen zum Testen verschiedener Bedingungen, die + Sammlungen in Komponententests zugeordnet sind. Wenn die getestete Bedingung nicht + erfüllt wird, wird eine Ausnahme ausgelöst. + + + + + Ruft die Singleton-Instanz der CollectionAssert-Funktionalität ab. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element enthält, + und löst eine Ausnahme aus, wenn das Element nicht in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht in . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Thrown if is found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist in . Die Meldung wird in den Testergebnissen + angezeigt. + + + Thrown if is found in + . + + + + + Testet, ob die angegebene Sammlung das angegebene Element nicht enthält, + und löst eine Ausnahme aus, wenn das Element in der Sammlung enthalten ist. + + + Die Sammlung, in der nach dem Element gesucht werden soll. + + + Das Element, dessen Vorhandensein nicht in der Sammlung erwartet wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist in . Die Meldung wird in den Testergebnissen + angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält ein Nullelement. Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung ungleich null sind, und löst + eine Ausnahme aus, wenn eines der Elemente NULL ist. + + + Die Sammlung, in der nach den Nullelementen gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält ein Nullelement. Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if a null element is found in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält mindestens ein Elementduplikat. Die Meldung wird in + den Testergebnissen angezeigt. + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung eindeutig sind, und + löst eine Ausnahme aus, wenn zwei Elemente in der Sammlung gleich sind. + + + Die Sammlung, in der nach Elementduplikaten gesucht werden soll. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält mindestens ein Elementduplikat. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if a two or more equal elements are found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + wurde nicht gefunden in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn ein beliebiges Element in der Untermenge nicht auch in der + Obermenge enthalten ist. + + + Die Sammlung, von der erwartet wird, dass sie eine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie eine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + wurde nicht gefunden in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element in is not found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Thrown if every element in is also found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn jedes Element in + auch gefunden wird in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if every element in is also found in + . + + + + + Testet, ob eine Sammlung eine Untermenge einer anderen Sammlung ist, und + löst eine Ausnahme aus, wenn alle Elemente in der Untermenge auch in der + Obermenge enthalten sind. + + + Die Sammlung, von der erwartet wird, dass sie keine Untermenge ist von . + + + Die Sammlung, von der erwartet wird, dass sie keine Obermenge ist von + + + Die in die Ausnahme einzuschließende Meldung, wenn jedes Element in + auch gefunden wird in . + Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if every element in is also found in + . + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in einer + der Sammlungen gefunden wurde, aber nicht in der anderen. Die Meldung wird in + den Testergebnissen angezeigt. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen die gleichen Elemente enthalten, und löst eine + Ausnahme aus, wenn eine der Sammlungen ein Element enthält, das in der anderen + Sammlung nicht enthalten ist. + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, die der Test + erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in einer + der Sammlungen gefunden wurde, aber nicht in der anderen. Die Meldung wird in + den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält die gleichen Elemente wie . Die Meldung + wird in den Testergebnissen angezeigt. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob zwei Sammlungen verschiedene Elemente enthalten, und löst eine + Ausnahme aus, wenn die beiden Sammlungen identische Elemente enthalten (ohne Berücksichtigung + der Reihenfolge). + + + Die erste zu vergleichende Sammlung. Enthält die Elemente, von denen der Test erwartet, + dass sie sich von der tatsächlichen Sammlung unterscheiden. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + enthält die gleichen Elemente wie . Die Meldung + wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + ist keine Instanz von + . Die Meldung wird in den Testergebnissen angezeigt. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob alle Elemente in der angegebenen Sammlung Instanzen + des erwarteten Typs sind, und löst eine Ausnahme aus, wenn der erwartete Typ sich + nicht in der Vererbungshierarchie mindestens eines Elements befindet. + + + Die Sammlung, die Elemente enthält, von denen der Test erwartet, dass sie + vom angegebenen Typ sind. + + + Der erwartete Typ jedes Elements von . + + + Die in die Ausnahme einzuschließende Meldung, wenn ein Element in + ist keine Instanz von + . Die Meldung wird in den Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen gleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen ungleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, die der Test erwartet. + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist nicht gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is not equal to + . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Thrown if is equal to . + + + + + Testet, ob die angegebenen Sammlungen ungleich sind, und löst eine Ausnahme aus, + wenn die beiden Sammlungen gleich sind. "Gleichheit" wird definiert durch die gleichen + Elemente in der gleichen Reihenfolge und Anzahl. Unterschiedliche Verweise auf den gleichen + Wert werden als gleich betrachtet. + + + Die erste zu vergleichende Sammlung. Dies ist die Sammlung, mit der der Test keine + Übereinstimmung erwartet. . + + + Die zweite zu vergleichende Sammlung. Dies ist die Sammlung, die vom + zu testenden Code generiert wird. + + + Die zu verwendende Vergleichsimplementierung beim Vergleichen von Elementen der Sammlung. + + + Die in die Ausnahme einzuschließende Meldung, wenn + ist gleich . Die Meldung wird in den + Testergebnissen angezeigt. + + + Ein zu verwendendes Array von Parametern beim Formatieren von: . + + + Thrown if is equal to . + + + + + Ermittelt, ob die erste Sammlung eine Teilmenge der zweiten + Sammlung ist. Wenn eine der Mengen Elementduplikate enthält, muss die Anzahl + der Vorkommen des Elements in der Teilmenge kleiner oder + gleich der Anzahl der Vorkommen in der Obermenge sein. + + + Die Sammlung, von der der Test erwartet, dass sie enthalten ist in . + + + Die Sammlung, von der der Test erwartet, dass sie Folgendes enthält: . + + + TRUE, wenn: eine Teilmenge ist von + , andernfalls FALSE. + + + + + Generiert ein Wörterbuch, das Anzahl der Vorkommen jedes + Elements in der angegebenen Sammlung enthält. + + + Die zu verarbeitende Sammlung. + + + Die Anzahl der Nullelemente in der Sammlung. + + + Ein Wörterbuch, das Anzahl der Vorkommen jedes + Elements in der angegebenen Sammlung enthält. + + + + + Findet ein nicht übereinstimmendes Element in den beiden Sammlungen. Ein nicht übereinstimmendes + Element ist ein Element, für das sich die Anzahl der Vorkommen in der + erwarteten Sammlung von der Anzahl der Vorkommen in der tatsächlichen Sammlung unterscheidet. Von den + Sammlungen wird angenommen, dass unterschiedliche Verweise ungleich null mit der + gleichen Anzahl von Elementen vorhanden sind. Der Aufrufer ist für diese Ebene + der Überprüfung verantwortlich. Wenn kein nicht übereinstimmendes Element vorhanden ist, gibt die Funktion FALSE + zurück, und die out-Parameter sollten nicht verwendet werden. + + + Die erste zu vergleichende Sammlung. + + + Die zweite zu vergleichende Sammlung. + + + Die erwartete Anzahl von Vorkommen von + oder 0, wenn kein nicht übereinstimmendes + Element vorhanden ist. + + + Die tatsächliche Anzahl von Vorkommen von + oder 0, wenn kein nicht übereinstimmendes + Element vorhanden ist. + + + Das nicht übereinstimmende Element (kann NULL sein) oder NULL, wenn kein nicht + übereinstimmendes Element vorhanden ist. + + + TRUE, wenn ein nicht übereinstimmendes Element gefunden wurde, andernfalls FALSE. + + + + + vergleicht die Objekte mithilfe von object.Equals + + + + + Basisklasse für Frameworkausnahmen. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + Die Ausnahme. + + + + Initialisiert eine neue Instanz der -Klasse. + + Die Meldung. + + + + Eine stark typisierte Ressourcenklasse zum Suchen nach lokalisierten Zeichenfolgen usw. + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcensuchen mithilfe dieser stark typisierten Ressourcenklasse. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zugriffszeichenfolge weist ungültige Syntax auf." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartete Sammlung enthält {1} Vorkommen von <{2}>. Die tatsächliche Sammlung enthält {3} Vorkommen. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Elementduplikat gefunden: <{1}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1}>. Groß-/Kleinschreibung unterscheidet sich für den tatsächlichen Wert: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Differenz nicht größer als <{3}> zwischen erwartetem Wert <{1}> und tatsächlichem Wert <{2}> erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1} ({2})>. Tatsächlich: <{3} ({4})>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Erwartet: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Differenz größer als <{3}> zwischen erwartetem Wert <{1}> und tatsächlichem Wert <{2}> erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beliebiger Wert erwartet, ausgenommen: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Übergeben Sie keine Werttypen an AreSame(). In Object konvertierte Werte sind nie gleich. Verwenden Sie ggf. AreEqual(). {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Fehler von {0}. {1}" nach. + + + + + Sucht nach einer lokalisierten Zeichenfolge ähnlich der folgenden: "async TestMethod" wird mit UITestMethodAttribute nicht unterstützt. Entfernen Sie "async", oder verwenden Sie TestMethodAttribute. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen sind leer. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen enthalten die gleichen Elemente." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungsverweise zeigen auf das gleiche Sammlungsobjekt. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Beide Sammlungen enthalten die gleichen Elemente. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0}({1})." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(null)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(object)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' enthält nicht Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0} ({1})." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Assert.Equals sollte für Assertionen nicht verwendet werden. Verwenden Sie stattdessen Assert.AreEqual & Überladungen." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Anzahl der Elemente in den Sammlungen stimmt nicht überein. Erwartet: <{1}>. Tatsächlich: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {0} stimmt nicht überein." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {1} weist nicht den erwarteten Typ auf. Erwarteter Typ: <{2}>. Tatsächlicher Typ: <{3}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Element am Index {1} ist (null). Erwarteter Typ: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' endet nicht mit Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Ungültiges Argument: EqualsTester darf keine NULL-Werte verwenden." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Objekt vom Typ {0} kann nicht in {1} konvertiert werden." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Das referenzierte interne Objekt ist nicht mehr gültig." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der Parameter '{0}' ist ungültig. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Eigenschaft {0} weist den Typ {1} auf. Erwartet wurde der Typ {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "{0} Erwarteter Typ: <{1}>. Tatsächlicher Typ: <{2}>." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' stimmt nicht mit dem Muster '{1}' überein. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Falscher Typ: <{1}>. Tatsächlicher Typ: <{2}>. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Zeichenfolge '{0}' stimmt mit dem Muster '{1}' überein. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Kein DataRowAttribute angegeben. Mindestens ein DataRowAttribute ist mit DataTestMethodAttribute erforderlich." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Keine Ausnahme ausgelöst. {1}-Ausnahme wurde erwartet. {0}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der Parameter '{0}' ist ungültig. Der Wert darf nicht NULL sein. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Unterschiedliche Anzahl von Elementen." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich + "Der Konstruktor mit der angegebenen Signatur wurde nicht gefunden. Möglicherweise müssen Sie Ihren privaten Accessor erneut generieren, + oder der Member ist ggf. privat und für eine Basisklasse definiert. Wenn Letzteres zutrifft, müssen Sie den Typ an den + Konstruktor von PrivateObject übergeben, der den Member definiert." nach. + . + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich + "Der angegebene Member ({0}) wurde nicht gefunden. Möglicherweise müssen Sie Ihren privaten Accessor erneut generieren, + oder der Member ist ggf. privat und für eine Basisklasse definiert. Wenn Letzteres zutrifft, müssen Sie den Typ an den + Konstruktor von PrivateObject übergeben, der den Member definiert." nach. + . + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Zeichenfolge '{0}' beginnt nicht mit der Zeichenfolge '{1}'. {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Der erwartete Ausnahmetyp muss System.Exception oder ein von System.Exception abgeleiteter Typ sein." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "(Fehler beim Abrufen der Meldung vom Typ {0} aufgrund einer Ausnahme.)" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat erwartete Ausnahme {0} nicht ausgelöst. {1}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Die Testmethode hat keine Ausnahme ausgelöst. Vom Attribut {0}, das für die Testmethode definiert ist, wurde eine Ausnahme erwartet." nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat Ausnahme {0} ausgelöst, aber Ausnahme {1} wurde erwartet. Ausnahmemeldung: {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Testmethode hat Ausnahme {0} ausgelöst, aber Ausnahme {1} oder ein davon abgeleiteter Typ wurde erwartet. Ausnahmemeldung: {2}" nach. + + + + + Schlägt eine lokalisierte Zeichenfolge ähnlich "Ausnahme {2} wurde ausgelöst, aber Ausnahme {1} wurde erwartet. {0} + Ausnahmemeldung: {3} + Stapelüberwachung: {4}" nach. + + + + + Ergebnisse des Komponententests + + + + + Der Test wurde ausgeführt, aber es gab Probleme. + Möglicherweise liegen Ausnahmen oder Assertionsfehler vor. + + + + + Der Test wurde abgeschlossen, es lässt sich aber nicht sagen, ob er bestanden wurde oder fehlerhaft war. + Kann für abgebrochene Tests verwendet werden. + + + + + Der Test wurde ohne Probleme ausgeführt. + + + + + Der Test wird zurzeit ausgeführt. + + + + + Systemfehler beim Versuch, einen Test auszuführen. + + + + + Timeout des Tests. + + + + + Der Test wurde vom Benutzer abgebrochen. + + + + + Der Test weist einen unbekannten Zustand auf. + + + + + Stellt Hilfsfunktionen für das Komponententestframework bereit. + + + + + Ruft die Ausnahmemeldungen (einschließlich der Meldungen für alle inneren Ausnahmen) + rekursiv ab. + + Ausnahme, für die Meldungen abgerufen werden sollen + Zeichenfolge mit Fehlermeldungsinformationen + + + + Enumeration für Timeouts, die mit der -Klasse verwendet werden kann. + Der Typ der Enumeration muss entsprechen: + + + + + Unendlich. + + + + + Das Testklassenattribut. + + + + + Erhält ein Testmethodenattribut, das die Ausführung des Tests ermöglicht. + + Die für diese Methode definierte Attributinstanz der Testmethode. + Diezum Ausführen dieses Tests + Extensions can override this method to customize how all methods in a class are run. + + + + Das Testmethodenattribut. + + + + + Führt eine Testmethode aus. + + Die auszuführende Textmethode. + Ein Array aus TestResult-Objekten, die für die Ergebnisses des Tests stehen. + Extensions can override this method to customize running a TestMethod. + + + + Das Testinitialisierungsattribut. + + + + + Das Testbereinigungsattribut. + + + + + Das Ignorierattribut. + + + + + Das Testeigenschaftattribut. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Der Name. + + + Der Wert. + + + + + Ruft den Namen ab. + + + + + Ruft den Wert ab. + + + + + Das Klasseninitialisierungsattribut. + + + + + Das Klassenbereinigungsattribut. + + + + + Das Assemblyinitialisierungsattribut. + + + + + Das Assemblybereinigungsattribut. + + + + + Der Testbesitzer. + + + + + Initialisiert eine neue Instanz der-Klasse. + + + Der Besitzer. + + + + + Ruft den Besitzer ab. + + + + + Prioritätsattribut. Wird zum Angeben der Priorität eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Die Priorität. + + + + + Ruft die Priorität ab. + + + + + Die Beschreibung des Tests. + + + + + Initialisiert eine neue Instanz der -Klasse zum Beschreiben eines Tests. + + Die Beschreibung. + + + + Ruft die Beschreibung eines Tests ab. + + + + + Der URI der CSS-Projektstruktur. + + + + + Initialisiert eine neue Instanz der -Klasse der CSS Projektstruktur-URI. + + Der CSS-Projektstruktur-URI. + + + + Ruft den CSS-Projektstruktur-URI ab. + + + + + Der URI der CSS-Iteration. + + + + + Initialisiert eine neue Instanz der-Klasse für den CSS Iterations-URI. + + Der CSS-Iterations-URI. + + + + Ruft den CSS-Iterations-URI ab. + + + + + WorkItem-Attribut. Wird zum Angeben eines Arbeitselements verwendet, das diesem Test zugeordnet ist. + + + + + Initialisiert eine neue Instanz der-Klasse für das WorkItem-Attribut. + + Die ID eines Arbeitselements. + + + + Ruft die ID für ein zugeordnetes Arbeitselement ab. + + + + + Timeoutattribut. Wird zum Angeben des Timeouts eines Komponententests verwendet. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + Das Timeout. + + + + + Initialisiert eine neue Instanz der -Klasse mit einem voreingestellten Timeout. + + + Das Timeout. + + + + + Ruft das Timeout ab. + + + + + Das TestResult-Objekt, das an den Adapter zurückgegeben werden soll. + + + + + Initialisiert eine neue Instanz der -Klasse. + + + + + Ruft den Anzeigenamen des Ergebnisses ab oder legt ihn fest. Hilfreich, wenn mehrere Ergebnisse zurückgegeben werden. + Wenn NULL, wird der Methodenname als DisplayName verwendet. + + + + + Ruft das Ergebnis der Testausführung ab oder legt es fest. + + + + + Ruft die Ausnahme ab, die bei einem Testfehler ausgelöst wird, oder legt sie fest. + + + + + Ruft die Ausgabe der Meldung ab, die vom Testcode protokolliert wird, oder legt sie fest. + + + + + Ruft die Ausgabe der Meldung ab, die vom Testcode protokolliert wird, oder legt sie fest. + + + + + Ruft die Debugablaufverfolgungen nach Testcode fest oder legt sie fest. + + + + + Gets or sets the debug traces by test code. + + + + + Ruft die Dauer der Testausführung ab oder legt sie fest. + + + + + Ruft den Datenzeilenindex in der Datenquelle ab, oder legt ihn fest. Nur festgelegt für Ergebnisse einer individuellen + Ausführung einer Datenzeile eines datengesteuerten Tests. + + + + + Ruft den Rückgabewert der Testmethode ab (zurzeit immer NULL). + + + + + Ruft die vom Test angehängten Ergebnisdateien ab, oder legt sie fest. + + + + + Gibt die Verbindungszeichenfolge, den Tabellennamen und die Zeilenzugriffsmethode für datengesteuerte Tests an. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Der Standardanbietername für DataSource. + + + + + Die standardmäßige Datenzugriffsmethode. + + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einem Datenanbieter, einer Verbindungszeichenfolge, einer Datentabelle und einer Datenzugriffsmethode für den Zugriff auf die Daten initialisiert. + + Invarianter Datenanbietername, z. B. "System.Data.SqlClient" + + Die für den Datenanbieter spezifische Verbindungszeichenfolge. + WARNUNG: Die Verbindungszeichenfolge kann sensible Daten (z. B. ein Kennwort) enthalten. + Die Verbindungszeichenfolge wird als Nur-Text im Quellcode und in der kompilierten Assembly gespeichert. + Schränken Sie den Zugriff auf den Quellcode und die Assembly ein, um diese vertraulichen Informationen zu schützen. + + Der Name der Datentabelle. + Gibt die Reihenfolge für den Datenzugriff an. + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einer Verbindungszeichenfolge und einem Tabellennamen initialisiert. + Geben Sie eine Verbindungszeichenfolge und Datentabelle an, um auf die OLEDB-Datenquelle zuzugreifen. + + + Die für den Datenanbieter spezifische Verbindungszeichenfolge. + WARNUNG: Die Verbindungszeichenfolge kann sensible Daten (z. B. ein Kennwort) enthalten. + Die Verbindungszeichenfolge wird als Nur-Text im Quellcode und in der kompilierten Assembly gespeichert. + Schränken Sie den Zugriff auf den Quellcode und die Assembly ein, um diese vertraulichen Informationen zu schützen. + + Der Name der Datentabelle. + + + + Initialisiert eine neue Instanz der -Klasse. Diese Instanz wird mit einem Datenanbieter und einer Verbindungszeichenfolge mit dem Namen der Einstellung initialisiert. + + Der Name einer Datenquelle, die im Abschnitt <microsoft.visualstudio.qualitytools> in der Datei "app.config" gefunden wurde. + + + + Ruft einen Wert ab, der den Datenanbieter der Datenquelle darstellt. + + + Der Name des Datenanbieters. Wenn kein Datenanbieter während der Objektinitialisierung festgelegt wurde, wird der Standardanbieter "System.Data.OleDb" zurückgegeben. + + + + + Ruft einen Wert ab, der die Verbindungszeichenfolge für die Datenquelle darstellt. + + + + + Ruft einen Wert ab, der den Tabellennamen angibt, der Daten bereitstellt. + + + + + Ruft die Methode ab, die für den Zugriff auf die Datenquelle verwendet wird. + + + + Einer der-Werte. Wenn das nicht initialisiert wurde, wird der Standardwert zurückgegeben. . + + + + + Ruft den Namen einer Datenquelle ab, die im Abschnitt <microsoft.visualstudio.qualitytools> in der Datei "app.config" gefunden wurde. + + + + + Ein Attribut für datengesteuerte Tests, in denen Daten inline angegeben werden können. + + + + + Ermittelt alle Datenzeilen und beginnt mit der Ausführung. + + + Die test-Methode. + + + Ein Array aus . + + + + + Führt die datengesteuerte Testmethode aus. + + Die auszuführende Testmethode. + Die Datenzeile. + Ergebnisse der Ausführung. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..6655c2f --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Se usa para especificar el elemento (archivo o directorio) para la implementación por prueba. + Puede especificarse en la clase de prueba o en el método de prueba. + Puede tener varias instancias del atributo para especificar más de un elemento. + La ruta de acceso del elemento puede ser absoluta o relativa. Si es relativa, lo es respecto a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + Inicializa una nueva instancia de la clase . + + Archivo o directorio para implementar. La ruta de acceso es relativa al directorio de salida de compilación. El elemento se copiará en el mismo directorio que los ensamblados de prueba implementados. + + + + Inicializa una nueva instancia de la clase . + + Ruta de acceso relativa o absoluta al archivo o directorio para implementar. La ruta de acceso es relativa al directorio de salida de compilación. El elemento se copiará en el mismo directorio que los ensamblados de prueba implementados. + Ruta de acceso del directorio en el que se van a copiar los elementos. Puede ser absoluta o relativa respecto al directorio de implementación. Todos los archivos y directorios que identifica se copiarán en este directorio. + + + + Obtiene la ruta de acceso al archivo o carpeta de origen que se debe copiar. + + + + + Obtiene la ruta de acceso al directorio donde se copia el elemento. + + + + + Ejecuta el código de la prueba en el subproceso de la interfaz de usuario para aplicaciones de la Tienda Windows. + + + + + Ejecuta el método de prueba en el subproceso de la interfaz de usuario. + + + El método de prueba. + + + Una matriz de Instancias. + + Throws when run on an async test method. + + + + + Clase TestContext. Esta clase debe ser totalmente abstracta y no contener ningún + miembro. El adaptador implementará los miembros. Los usuarios del marco solo deben + tener acceso a esta clase a través de una interfaz bien definida. + + + + + Obtiene las propiedades de una prueba. + + + + + Obtiene el nombre completo de la clase que contiene el método de prueba que se está ejecutando. + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Obtiene el nombre del método de prueba que se está ejecutando. + + + + + Obtiene el resultado de la prueba actual. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..5b05af9 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4199 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Atributo TestMethod para la ejecución. + + + + + Obtiene el nombre del método de prueba. + + + + + Obtiene el nombre de la clase de prueba. + + + + + Obtiene el tipo de valor devuelto del método de prueba. + + + + + Obtiene los parámetros del método de prueba. + + + + + Obtiene el valor de methodInfo para el método de prueba. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invoca el método de prueba. + + + Argumentos que se pasan al método de prueba (por ejemplo, controlada por datos) + + + Resultado de la invocación del método de prueba. + + + This call handles asynchronous test methods as well. + + + + + Obtiene todos los atributos del método de prueba. + + + Indica si el atributo definido en la clase primaria es válido. + + + Todos los atributos. + + + + + Obtiene un atributo de un tipo específico. + + System.Attribute type. + + Indica si el atributo definido en la clase primaria es válido. + + + Atributos del tipo especificado. + + + + + Elemento auxiliar. + + + + + Parámetro de comprobación no NULL. + + + El parámetro. + + + El nombre del parámetro. + + + El mensaje. + + Throws argument null exception when parameter is null. + + + + Parámetro de comprobación no NULL o vacío. + + + El parámetro. + + + El nombre del parámetro. + + + El mensaje. + + Throws ArgumentException when parameter is null. + + + + Enumeración de cómo se accede a las filas de datos en las pruebas controladas por datos. + + + + + Las filas se devuelven en orden secuencial. + + + + + Las filas se devuelven en orden aleatorio. + + + + + Atributo para definir los datos insertados de un método de prueba. + + + + + Inicializa una nueva instancia de la clase . + + Objeto de datos. + + + + Inicializa una nueva instancia de la clase , que toma una matriz de argumentos. + + Objeto de datos. + Más datos. + + + + Obtiene datos para llamar al método de prueba. + + + + + Obtiene o establece el nombre para mostrar en los resultados de pruebas para personalizarlo. + + + + + Excepción de aserción no concluyente. + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Inicializa una nueva instancia de la clase . + + + + + Clase InternalTestFailureException. Se usa para indicar un error interno de un caso de prueba. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializa una nueva instancia de la clase . + + Mensaje de la excepción. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + Mensaje de la excepción. + + + + Inicializa una nueva instancia de la clase . + + + + + Atributo que indica que debe esperarse una excepción del tipo especificado. + + + + + Inicializa una nueva instancia de la clase con el tipo esperado. + + Tipo de la excepción esperada + + + + Inicializa una nueva instancia de la clase + con el tipo esperado y el mensaje para incluir cuando la prueba no produce una excepción. + + Tipo de la excepción esperada + + Mensaje que se incluye en el resultado de la prueba si esta no se supera debido a que no se inicia una excepción + + + + + Obtiene un valor que indica el tipo de la excepción esperada. + + + + + Obtiene o establece un valor que indica si se permite que los tipos derivados del tipo de la excepción esperada + se consideren también como esperados. + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Comprueba que el tipo de la excepción producida por la prueba unitaria es el esperado. + + Excepción que inicia la prueba unitaria + + + + Clase base para atributos que especifican que se espere una excepción de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase con un mensaje de ausencia de excepción predeterminado. + + + + + Inicializa una nueva instancia de la clase con un mensaje de ausencia de excepción. + + + Mensaje para incluir en el resultado de la prueba si esta no se supera debido a que no se inicia una + excepción + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Obtiene el mensaje que debe incluirse en el resultado de la prueba si esta no acaba correctamente porque no se produce una excepción. + + + + + Obtiene el mensaje de ausencia de excepción predeterminado. + + Nombre del tipo de atributo ExpectedException + Mensaje de ausencia de excepción predeterminado + + + + Determina si se espera la excepción. Si el método devuelve un valor, se entiende + que se esperaba la excepción. Si el método produce una excepción, + se entiende que no se esperaba la excepción y se incluye el mensaje + de la misma en el resultado de la prueba. Se puede usar para mayor + comodidad. Si se utiliza y la aserción no funciona, + el resultado de la prueba se establece como No concluyente. + + Excepción que inicia la prueba unitaria + + + + Produce de nuevo la excepción si es de tipo AssertFailedException o AssertInconclusiveException. + + La excepción que se va a reiniciar si es una excepción de aserción + + + + Esta clase está diseñada para ayudar al usuario a realizar pruebas unitarias para tipos con tipos genéricos. + GenericParameterHelper satisface algunas de las restricciones de tipo genérico comunes, + como: + 1. Constructor predeterminado público. + 2. Implementa una interfaz común: IComparable, IEnumerable. + + + + + Inicializa una nueva instancia de la clase que + satisface la restricción "renovable" en genéricos de C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializa una nueva instancia de la clase que + inicializa la propiedad Data con un valor proporcionado por el usuario. + + Cualquier valor entero + + + + Obtiene o establece los datos. + + + + + Compara el valor de dos objetos GenericParameterHelper. + + objeto con el que hacer la comparación + Es true si el objeto tiene el mismo valor que el objeto GenericParameterHelper "this". + De lo contrario, false. + + + + Devuelve un código hash para este objeto. + + El código hash. + + + + Compara los datos de los dos objetos . + + Objeto con el que se va a comparar. + + Número con signo que indica los valores relativos de esta instancia y valor. + + + Thrown when the object passed in is not an instance of . + + + + + Devuelve un objeto IEnumerator cuya longitud se deriva de + la propiedad Data. + + El objeto IEnumerator + + + + Devuelve un objeto GenericParameterHelper que es igual al + objeto actual. + + El objeto clonado. + + + + Permite a los usuarios registrar o escribir el seguimiento de las pruebas unitarias con fines de diagnóstico. + + + + + Controlador para LogMessage. + + Mensaje para registrar. + + + + Evento que se debe escuchar. Se genera cuando el autor de las pruebas unitarias escribe algún mensaje. + Lo consume principalmente el adaptador. + + + + + API del escritor de la prueba para llamar a los mensajes de registro. + + Formato de cadena con marcadores de posición. + Parámetros para los marcadores de posición. + + + + Atributo TestCategory. Se usa para especificar la categoría de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase y le aplica la categoría a la prueba. + + + Categoría de prueba. + + + + + Obtiene las categorías que se le han aplicado a la prueba. + + + + + Clase base del atributo "Category". + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializa una nueva instancia de la clase . + Aplica la categoría a la prueba. Las cadenas que devuelve TestCategories + se usan con el comando /category para filtrar las pruebas. + + + + + Obtiene la categoría que se le ha aplicado a la prueba. + + + + + Clase AssertFailedException. Se usa para indicar el error de un caso de prueba. + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Inicializa una nueva instancia de la clase . + + + + + Colección de clases auxiliares para probar varias condiciones en las + pruebas unitarias. Si la condición que se está probando no se cumple, se produce + una excepción. + + + + + Obtiene la instancia de singleton de la funcionalidad de Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Thrown if is false. + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Mensaje que se va a incluir en la excepción cuando + es false. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is false. + + + + + Comprueba si la condición especificada es true y produce una excepción + si la condición es false. + + + Condición que la prueba espera que sea true. + + + Mensaje que se va a incluir en la excepción cuando + es false. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is false. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Thrown if is true. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Mensaje que se va a incluir en la excepción cuando + es true. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is true. + + + + + Comprueba si la condición especificada es false y produce una excepción + si la condición es true. + + + Condición que la prueba espera que sea false. + + + Mensaje que se va a incluir en la excepción cuando + es true. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is true. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + no es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado es NULL y produce una excepción + si no lo es. + + + El objeto que la prueba espera que sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + no es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Thrown if is null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is null. + + + + + Comprueba si el objeto especificado no es NULL y produce una excepción + si lo es. + + + El objeto que la prueba espera que no sea NULL. + + + Mensaje que se va a incluir en la excepción cuando + es NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is null. + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual que . El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia al mismo objeto + y produce una excepción si ambas entradas no hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera. + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual que . El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not refer to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual que . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos objetos especificados hacen referencia a objetos diferentes + y produce una excepción si ambas entradas hacen referencia al mismo objeto. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual que . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if refers to the same object + as . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if is not equal to . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos valores especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera. + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos valores especificados son distintos y produce una excepción + si son iguales. Los tipos numéricos distintos se tratan + como diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + The type of values to compare. + + + Primer valor para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo valor para comparar. Este es el valor generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son iguales y produce una excepción + si no lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el objeto que la prueba espera. + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos objetos especificados son distintos y produce una excepción + si lo son. Los tipos numéricos distintos se tratan + como tipos diferentes aunque sus valores lógicos sean iguales. 42L no es igual que 42. + + + Primer objeto para comparar. Este es el valor que la prueba espera que no + coincida con . + + + Segundo objeto para comparar. Este es el objeto generado por el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son iguales y produce una excepción + si no lo son. + + + Primer valor float para comparar. Este es el valor float que la prueba espera. + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si los valores float especificados son distintos y produce una excepción + si son iguales. + + + Primer valor float para comparar. Este es el valor float que la prueba espera que no + coincida con . + + + Segundo valor float para comparar. Este es el valor float generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Thrown if is not equal to + . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si los valores double especificados son iguales y produce una excepción + si no lo son. + + + Primer valor double para comparar. Este es el valor double que la prueba espera. + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por más de . + + + Mensaje que se va a incluir en la excepción cuando + difiere de por más de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si los valores double especificados son distintos y produce una excepción + si son iguales. + + + Primer valor double para comparar. Este es el valor double que la prueba espera que no + coincida con . + + + Segundo valor double para comparar. Este es el valor double generado por el código sometido a prueba. + + + Precisión requerida. Se iniciará una excepción solamente si + difiere de + por un máximo de . + + + Mensaje que se va a incluir en la excepción cuando + es igual a o difiere por menos de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. Se usa la referencia cultural invariable para la comparación. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son iguales y produce una excepción + si no lo son. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera. + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. Para la comparación, se usa la referencia cultural invariable. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si las cadenas especificadas son distintas y produce una excepción + si son iguales. + + + Primera cadena para comparar. Esta es la cadena que la prueba espera que no + coincida con . + + + Segunda cadena para comparar. Esta es la cadena generada por el código sometido a prueba. + + + Valor booleano que indica una comparación donde se distingue o no mayúsculas de minúsculas. (true + indica una comparación que no distingue mayúsculas de minúsculas). + + + Objeto CultureInfo que proporciona información de comparación específica de la referencia cultural. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Mensaje que se va a incluir en la excepción cuando + no es una instancia de . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado es una instancia del tipo + esperado y produce una excepción si el tipo esperado no se encuentra en + la jerarquía de herencia del objeto. + + + El objeto que la prueba espera que sea del tipo especificado. + + + Tipo esperado de . + + + Mensaje que se va a incluir en la excepción cuando + no es una instancia de . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Mensaje que se va a incluir en la excepción cuando + es una instancia de . El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Comprueba si el objeto especificado no es una instancia del tipo + incorrecto y produce una excepción si el tipo especificado se encuentra en la + jerarquía de herencia del objeto. + + + El objeto que la prueba espera que no sea del tipo especificado. + + + El tipo que no debe tener. + + + Mensaje que se va a incluir en la excepción cuando + es una instancia de . El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Produce una excepción AssertFailedException. + + + Always thrown. + + + + + Produce una excepción AssertFailedException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Always thrown. + + + + + Produce una excepción AssertFailedException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Always thrown. + + + + + Produce una excepción AssertInconclusiveException. + + + Mensaje que se va a incluir en la excepción. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Always thrown. + + + + + Las sobrecargas de igualdad estáticas se usan para comparar la igualdad de referencia de + instancias de dos tipos. Este método no debe usarse para comparar la igualdad de dos instancias. + Este objeto se devolverá siempre con Assert.Fail. Utilice + Assert.AreEqual y las sobrecargas asociadas en pruebas unitarias. + + Objeto A + Objeto B + False, siempre. + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado a código que se va a probar y que se espera que inicie una excepción. + + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + El tipo de excepción que se espera que se inicie. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción + + AssertFailedException + + si el código no produce la excepción dada o produce otra de un tipo que no sea . + + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción AssertFailedException si el código no produce la excepción dada o produce otra de un tipo que no sea . + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Comprueba si el código especificado por el delegado produce exactamente la excepción dada de tipo (y no de un tipo derivado) + y devuelve una excepción AssertFailedException si el código no produce la excepción dada o produce otra de un tipo que no sea . + + Delegado para el código que se va a probar y que se espera que inicie una excepción. + + Mensaje que se va a incluir en la excepción cuando + no inicia una excepción de tipo . + + + Matriz de parámetros que se usa al formatear . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + que ejecuta el delegado. + + + + + Reemplaza los caracteres NULL "\0" por "\\0". + + + Cadena para buscar. + + + La cadena convertida con los caracteres NULL reemplazados por "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Función auxiliar que produce una excepción AssertionFailedException. + + + nombre de la aserción que inicia una excepción + + + mensaje que describe las condiciones del error de aserción + + + Los parámetros. + + + + + Comprueba el parámetro para las condiciones válidas. + + + El parámetro. + + + Nombre de la aserción. + + + nombre de parámetro + + + mensaje de la excepción de parámetro no válido + + + Los parámetros. + + + + + Convierte un objeto en cadena de forma segura, con control de los valores y caracteres NULL. + Los valores NULL se convierten en "NULL". Los caracteres NULL se convierten en "\\0". + + + Objeto que se va a convertir en cadena. + + + La cadena convertida. + + + + + Aserción de cadena. + + + + + Obtiene la instancia de singleton de la funcionalidad CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada contiene la subcadena indicada + y produce una excepción si la subcadena no está en la + cadena de prueba. + + + La cadena que se espera que contenga . + + + La cadena que se espera que aparezca en . + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not found in + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Mensaje que se va a incluir en la excepción cuando + no empieza por . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada empieza por la subcadena indicada + y produce una excepción si la cadena de prueba no empieza por la + subcadena. + + + Cadena que se espera que empiece por . + + + Cadena que se espera que sea un prefijo de . + + + Mensaje que se va a incluir en la excepción cuando + no empieza por . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not begin with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Mensaje que se va a incluir en la excepción cuando + no termina con . El mensaje se + muestra en los resultados de las pruebas. + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada termina con la subcadena indicada + y produce una excepción si la cadena de prueba no termina con la + subcadena. + + + Cadena que se espera que termine con . + + + Cadena que se espera que sea un sufijo de . + + + Mensaje que se va a incluir en la excepción cuando + no termina con . El mensaje se + muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not end with + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Mensaje que se va a incluir en la excepción cuando + no coincide con . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada coincide con una expresión regular + y produce una excepción si la cadena no coincide con la expresión. + + + La cadena que se espera que coincida con . + + + Expresión regular con la que se espera que + coincida. + + + Mensaje que se va a incluir en la excepción cuando + no coincide con . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if does not match + . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Thrown if matches . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Mensaje que se va a incluir en la excepción cuando + coincide con . El mensaje se muestra en los resultados de las + pruebas. + + + Thrown if matches . + + + + + Comprueba si la cadena especificada no coincide con una expresión regular + y produce una excepción si la cadena coincide con la expresión. + + + Cadena que se espera que no coincida con . + + + Expresión regular con la que se espera que no + coincida. + + + Mensaje que se va a incluir en la excepción cuando + coincide con . El mensaje se muestra en los resultados de las + pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if matches . + + + + + Colección de clases auxiliares para probar varias condiciones asociadas + a las colecciones en las pruebas unitarias. Si la condición que se está probando no se + cumple, se produce una excepción. + + + + + Obtiene la instancia de singleton de la funcionalidad CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada contiene el elemento indicado + y produce una excepción si el elemento no está en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + no se encuentra en . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Thrown if is found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + se encuentra en . El mensaje se muestra en los resultados de las + pruebas. + + + Thrown if is found in + . + + + + + Comprueba si la colección especificada no contiene el elemento indicado + y produce una excepción si el elemento se encuentra en la colección. + + + Colección donde buscar el elemento. + + + El elemento que se espera que no esté en la colección. + + + Mensaje que se va a incluir en la excepción cuando + se encuentra en . El mensaje se muestra en los resultados de las + pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is found in + . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Thrown if a null element is found in . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Mensaje que se va a incluir en la excepción cuando + contiene un elemento NULL. El mensaje se muestra en los resultados de las pruebas. + + + Thrown if a null element is found in . + + + + + Comprueba que todos los elementos de la colección especificada no sean NULL + y produce una excepción si alguno lo es. + + + Colección donde buscar elementos NULL. + + + Mensaje que se va a incluir en la excepción cuando + contiene un elemento NULL. El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if a null element is found in . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Mensaje que se va a incluir en la excepción cuando + contiene al menos un elemento duplicado. El mensaje se muestra en los + resultados de las pruebas. + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si todos los elementos de la colección especificada son únicos o no + y produce una excepción si dos elementos de la colección son iguales. + + + Colección donde buscar elementos duplicados. + + + Mensaje que se va a incluir en la excepción cuando + contiene al menos un elemento duplicado. El mensaje se muestra en los + resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if a two or more equal elements are found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección es un subconjunto de otra y produce + una excepción si algún elemento del subconjunto no se encuentra también en el + superconjunto. + + + Se esperaba que la colección fuera un subconjunto de . + + + Se esperaba que la colección fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element in is not found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Thrown if every element in is also found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando cada elemento de + también se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Thrown if every element in is also found in + . + + + + + Comprueba si una colección no es un subconjunto de otra y produce + una excepción si todos los elementos del subconjunto se encuentran también en el + superconjunto. + + + Se esperaba que la colección no fuera un subconjunto de . + + + Se esperaba que la colección no fuera un superconjunto de + + + Mensaje que se va a incluir en la excepción cuando cada elemento de + también se encuentra en . + El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if every element in is also found in + . + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando un elemento se encontró + en una de las colecciones pero no en la otra. El mensaje se muestra + en los resultados de las pruebas. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen los mismos elementos y produce + una excepción si alguna de ellas contiene un elemento que + no está en la otra. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando un elemento se encontró + en una de las colecciones pero no en la otra. El mensaje se muestra + en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + contiene los mismos elementos que . El mensaje + se muestra en los resultados de las pruebas. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si dos colecciones contienen elementos distintos y produce una + excepción si las colecciones contienen elementos idénticos, independientemente + del orden. + + + Primera colección para comparar. Contiene los elementos que la prueba + espera que sean distintos a los de la colección real. + + + Segunda colección para comparar. Esta es la colección generada por + el código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + contiene los mismos elementos que . El mensaje + se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no es una instancia de + . El mensaje se muestra en los resultados de las pruebas. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si todos los elementos de la colección especificada son instancias + del tipo esperado y produce una excepción si el tipo esperado no + se encuentra en la jerarquía de herencia de uno o más de los elementos. + + + Colección que contiene los elementos que la prueba espera que sean del + tipo especificado. + + + El tipo esperado de cada elemento de . + + + Mensaje que se va a incluir en la excepción cuando un elemento de + no es una instancia de + . El mensaje se muestra en los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son iguales y produce una excepción + si las colecciones no son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera. + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + no es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is not equal to + . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Thrown if is equal to . + + + + + Comprueba si dos colecciones especificadas son distintas y produce una excepción + si las colecciones son iguales. La igualdad equivale a tener los mismos + elementos en el mismo orden y la misma cantidad. Las distintas referencias al mismo + valor se consideran iguales. + + + Primera colección para comparar. Esta es la colección que la prueba espera que + no coincida con . + + + Segunda colección para comparar. Esta es la colección generada por el + código sometido a prueba. + + + Implementación de comparación que se va a usar al comparar elementos de la colección. + + + Mensaje que se va a incluir en la excepción cuando + es igual a . El mensaje se muestra en + los resultados de las pruebas. + + + Matriz de parámetros que se usa al formatear . + + + Thrown if is equal to . + + + + + Determina si la primera colección es un subconjunto de la + segunda. Si cualquiera de los conjuntos contiene elementos duplicados, el número + de repeticiones del elemento en el subconjunto debe ser inferior o + igual al número de repeticiones en el superconjunto. + + + Colección que la prueba espera que esté incluida en . + + + Colección que la prueba espera que contenga . + + + True si es un subconjunto de + , de lo contrario false. + + + + + Construye un diccionario que contiene el número de repeticiones de cada + elemento en la colección especificada. + + + Colección que se va a procesar. + + + Número de elementos NULL de la colección. + + + Diccionario que contiene el número de repeticiones de cada elemento + en la colección especificada. + + + + + Encuentra un elemento no coincidente entre ambas colecciones. Un elemento + no coincidente es aquel que aparece un número distinto de veces en la + colección esperada de lo que aparece en la colección real. Se + supone que las colecciones son referencias no NULL diferentes con el + mismo número de elementos. El autor de la llamada es el responsable de + este nivel de comprobación. Si no hay ningún elemento no coincidente, + la función devuelve false y no deben usarse parámetros out. + + + La primera colección para comparar. + + + La segunda colección para comparar. + + + Número esperado de repeticiones de + o 0 si no hay ningún elemento no + coincidente. + + + El número real de repeticiones de + o 0 si no hay ningún elemento no + coincidente. + + + El elemento no coincidente (puede ser nulo) o NULL si no hay ningún + elemento no coincidente. + + + Es true si se encontró un elemento no coincidente. De lo contrario, false. + + + + + compara los objetos con object.Equals. + + + + + Clase base para las excepciones de marco. + + + + + Inicializa una nueva instancia de la clase . + + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + La excepción. + + + + Inicializa una nueva instancia de la clase . + + El mensaje. + + + + Clase de recurso fuertemente tipado para buscar cadenas traducidas, etc. + + + + + Devuelve la instancia de ResourceManager almacenada en caché que usa esta clase. + + + + + Invalida la propiedad CurrentUICulture del subproceso actual para todas + las búsquedas de recursos que usan esta clase de recursos fuertemente tipados. + + + + + Busca una cadena traducida similar a "La cadena de acceso tiene una sintaxis no válida". + + + + + Busca una cadena traducida similar a "La colección esperada contiene {1} repeticiones de <{2}>. La colección actual contiene {3} repeticiones. {0}". + + + + + Busca una cadena traducida similar a "Se encontró un elemento duplicado: <{1}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1}>. El caso es distinto para el valor real: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba una diferencia no superior a <{3}> entre el valor esperado <{1}> y el valor real <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1} ({2})>, pero es: <{3} ({4})>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba una diferencia mayor que <{3}> entre el valor esperado <{1}> y el valor real <{2}>. {0}". + + + + + Busca una cadena traducida similar a "Se esperaba cualquier valor excepto: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "No pase tipos de valor a AreSame(). Los valores convertidos a Object no serán nunca iguales. Considere el uso de AreEqual(). {0}". + + + + + Busca una cadena traducida similar a "Error de {0}. {1}". + + + + + Busca una cadena traducida similar a "No se admite un método de prueba asincrónico con UITestMethodAttribute. Quite el método asincrónico o use TestMethodAttribute. + + + + + Busca una cadena traducida similar a "Ambas colecciones están vacías". {0}. + + + + + Busca una cadena traducida similar a "Ambas colecciones tienen los mismos elementos". + + + + + Busca una cadena traducida similar a "Las referencias de ambas colecciones apuntan al mismo objeto de colección. {0}". + + + + + Busca una cadena traducida similar a "Ambas colecciones tienen los mismos elementos. {0}". + + + + + Busca una cadena traducida similar a "{0}({1})". + + + + + Busca una cadena traducida similar a "(NULL)". + + + + + Busca una cadena traducida similar a "(objeto)". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no contiene la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "{0} ({1})". + + + + + Busca una cadena traducida similar a "No se debe usar Assert.Equals para aserciones. Use Assert.AreEqual y Overloads en su lugar". + + + + + Busca una cadena traducida similar a "El número de elementos de las colecciones no coincide. Se esperaba: <{1}>, pero es: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "El elemento del índice {0} no coincide". + + + + + Busca una cadena traducida similar a "El elemento del índice {1} no es del tipo esperado. Tipo esperado: <{2}>, tipo real: <{3}>. {0}". + + + + + Busca una cadena traducida similar a "El elemento del índice {1} es (NULL). Se esperaba el tipo: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no termina con la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "Argumento no válido: EqualsTester no puede utilizar valores NULL". + + + + + Busca una cadena traducida similar a "El objeto de tipo {0} no se puede convertir en {1}". + + + + + Busca una cadena traducida similar a "El objeto interno al que se hace referencia ya no es válido". + + + + + Busca una cadena traducida similar a "El parámetro "{0}" no es válido. {1}". + + + + + Busca una cadena traducida similar a "La propiedad {0} tiene el tipo {1}; se esperaba el tipo {2}". + + + + + Busca una cadena traducida similar a "{0} Tipo esperado: <{1}>. Tipo real: <{2}>". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no coincide con el patrón "{1}". {2}". + + + + + Busca una cadena traducida similar a "Tipo incorrecto: <{1}>. Tipo real: <{2}>. {0}". + + + + + Busca una cadena traducida similar a "La cadena "{0}" coincide con el patrón "{1}". {2}". + + + + + Busca una cadena traducida similar a "No se especificó ningún atributo DataRowAttribute. Se requiere al menos un elemento DataRowAttribute con DataTestMethodAttribute". + + + + + Busca una cadena traducida similar a "No se produjo ninguna excepción. Se esperaba la excepción {1}. {0}". + + + + + Busca una cadena traducida similar a "El parámetro "{0}" no es válido. El valor no puede ser NULL. {1}". + + + + + Busca una cadena traducida similar a "Número diferente de elementos". + + + + + Busca una cadena traducida similar a + "No se encontró el constructor con la signatura especificada. Es posible que tenga que regenerar el descriptor de acceso privado, + o que el miembro sea privado y esté definido en una clase base. Si se trata de esto último, debe pasar el tipo + que define el miembro al constructor de PrivateObject". + + + + + Busca una cadena traducida similar a + "No se encontró el miembro especificado ({0}). Es posible que tenga que regenerar el descriptor de acceso privado, + o que el miembro sea privado y esté definido en una clase base. Si se trata de esto último, debe pasar el tipo + que define el miembro al constructor de PrivateObject". + + + + + Busca una cadena traducida similar a "La cadena "{0}" no empieza con la cadena "{1}". {2}". + + + + + Busca una cadena traducida similar a "El tipo de excepción esperado debe ser System.Exception o un tipo derivado de System.Exception". + + + + + Busca una cadena traducida similar a "No se pudo obtener el mensaje para una excepción del tipo {0} debido a una excepción". + + + + + Busca una cadena traducida similar a "El método de prueba no inició la excepción esperada {0}. {1}". + + + + + Busca una cadena traducida similar a "El método de prueba no inició una excepción. El atributo {0} definido en el método de prueba esperaba una excepción". + + + + + Busca una cadena traducida similar a "El método de prueba inició la excepción {0}, pero se esperaba la excepción {1}. Mensaje de la excepción: {2}". + + + + + Busca una cadena traducida similar a "El método de prueba inició la excepción {0}, pero se esperaba la excepción {1} o un tipo derivado de ella. Mensaje de la excepción: {2}". + + + + + Busca una cadena traducida similar a "Se produjo la excepción {2}, pero se esperaba la excepción {1}. {0} + Mensaje de excepción: {3} + Seguimiento de la pila: {4}". + + + + + Resultados de la prueba unitaria. + + + + + La prueba se ejecutó, pero hubo problemas. + Entre estos, puede haber excepciones o aserciones con errores. + + + + + La prueba se completó, pero no podemos determinar si el resultado fue correcto o no. + Se puede usar para pruebas anuladas. + + + + + La prueba se ejecutó sin problemas. + + + + + La prueba se está ejecutando. + + + + + Error del sistema al intentar ejecutar una prueba. + + + + + Se agotó el tiempo de espera de la prueba. + + + + + El usuario anuló la prueba. + + + + + La prueba tiene un estado desconocido + + + + + Proporciona funcionalidad auxiliar para el marco de pruebas unitarias. + + + + + Obtiene los mensajes de excepción, incluidos los mensajes de todas las excepciones internas, + de forma recursiva. + + Excepción para la que se obtienen los mensajes + la cadena con información del mensaje de error + + + + Enumeración para cuando se agota el tiempo de espera que se puede usar con el atributo . + El tipo de la enumeración debe coincidir. + + + + + Infinito. + + + + + Atributo de la clase de prueba. + + + + + Obtiene un atributo de método de prueba que habilita la ejecución de esta prueba. + + La instancia de atributo de método de prueba definida en este método. + Tipo que se utilizará para ejecutar esta prueba. + Extensions can override this method to customize how all methods in a class are run. + + + + Atributo del método de prueba. + + + + + Ejecuta un método de prueba. + + El método de prueba para ejecutar. + Una matriz de objetos de TestResult que representan los resultados de la prueba. + Extensions can override this method to customize running a TestMethod. + + + + Atributo para inicializar la prueba. + + + + + Atributo de limpieza de la prueba. + + + + + Atributo de omisión. + + + + + Atributo de propiedad de la prueba. + + + + + Inicializa una nueva instancia de la clase . + + + El nombre. + + + El valor. + + + + + Obtiene el nombre. + + + + + Obtiene el valor. + + + + + Atributo de inicialización de la clase. + + + + + Atributo de limpieza de la clase. + + + + + Atributo de inicialización del ensamblado. + + + + + Atributo de limpieza del ensamblado. + + + + + Propietario de la prueba. + + + + + Inicializa una nueva instancia de la clase . + + + El propietario. + + + + + Obtiene el propietario. + + + + + Atributo de prioridad. Se usa para especificar la prioridad de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase . + + + La prioridad. + + + + + Obtiene la prioridad. + + + + + Descripción de la prueba. + + + + + Inicializa una nueva instancia de la clase para describir una prueba. + + La descripción. + + + + Obtiene la descripción de una prueba. + + + + + URI de estructura de proyectos de CSS. + + + + + Inicializa una nueva instancia de la clase para el URI de estructura de proyecto de CSS. + + URI de estructura de proyectos de CSS. + + + + Obtiene el URI de estructura de proyectos de CSS. + + + + + URI de iteración de CSS. + + + + + Inicializa una nueva instancia de la clase para el URI de iteración de CSS. + + URI de iteración de CSS. + + + + Obtiene el URI de iteración de CSS. + + + + + Atributo WorkItem. Se usa para especificar un elemento de trabajo asociado a esta prueba. + + + + + Inicializa una nueva instancia de la clase para el atributo WorkItem. + + Identificador de un elemento de trabajo. + + + + Obtiene el identificador de un elemento de trabajo asociado. + + + + + Atributo de tiempo de espera. Se usa para especificar el tiempo de espera de una prueba unitaria. + + + + + Inicializa una nueva instancia de la clase . + + + Tiempo de espera. + + + + + Inicializa una nueva instancia de la clase con un tiempo de espera preestablecido. + + + Tiempo de espera + + + + + Obtiene el tiempo de espera. + + + + + Objeto TestResult que debe devolverse al adaptador. + + + + + Inicializa una nueva instancia de la clase . + + + + + Obtiene o establece el nombre para mostrar del resultado. Es útil cuando se devuelven varios resultados. + Si es NULL, se utiliza el nombre del método como nombre para mostrar. + + + + + Obtiene o establece el resultado de la ejecución de pruebas. + + + + + Obtiene o establece la excepción que se inicia cuando la prueba da error. + + + + + Obtiene o establece la salida del mensaje registrado por el código de la prueba. + + + + + Obtiene o establece la salida del mensaje registrado por el código de la prueba. + + + + + Obtiene o establece el seguimiento de depuración que realiza el código de la prueba. + + + + + Gets or sets the debug traces by test code. + + + + + Obtiene o establece la duración de la ejecución de la prueba. + + + + + Obtiene o establece el índice de la fila de datos en el origen de datos. Se establece solo para resultados + de ejecuciones individuales de filas de datos de una prueba controlada por datos. + + + + + Obtiene o establece el valor devuelto del método de prueba. Actualmente es siempre NULL. + + + + + Obtiene o establece los archivos de resultados que adjunta la prueba. + + + + + Especifica la cadena de conexión, el nombre de tabla y el método de acceso a fila para las pruebas controladas por datos. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nombre de proveedor predeterminado del origen de datos. + + + + + Método de acceso a datos predeterminado. + + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con un proveedor de datos, una cadena de conexión, una tabla de datos y un método de acceso a datos para acceder al origen de datos. + + Nombre invariable del proveedor de datos, como System.Data.SqlClient + + Cadena de conexión específica del proveedor de datos. + ADVERTENCIA: La cadena de conexión puede contener información confidencial (por ejemplo, una contraseña). + La cadena de conexión se almacena en texto sin formato en el código fuente y en el ensamblado compilado. + Restrinja el acceso al código fuente y al ensamblado para proteger esta información confidencial. + + Nombre de la tabla de datos. + Especifica el orden de acceso a los datos. + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con una cadena de conexión y un nombre de tabla. + Especifique la cadena de conexión y la tabla de datos para acceder al origen de datos OLEDB. + + + Cadena de conexión específica del proveedor de datos. + ADVERTENCIA: La cadena de conexión puede contener información confidencial (por ejemplo, una contraseña). + La cadena de conexión se almacena en texto sin formato en el código fuente y en el ensamblado compilado. + Restrinja el acceso al código fuente y al ensamblado para proteger esta información confidencial. + + Nombre de la tabla de datos. + + + + Inicializa una nueva instancia de la clase . Esta instancia se inicializará con un proveedor de datos y una cadena de conexión asociada al nombre del valor de configuración. + + El nombre de un origen de datos que se encuentra en la sección <microsoft.visualstudio.qualitytools> del archivo app.config. + + + + Obtiene un valor que representa el proveedor de datos del origen de datos. + + + Nombre del proveedor de datos. Si no se designó un proveedor de datos al inicializar el objeto, se devolverá el proveedor predeterminado de System.Data.OleDb. + + + + + Obtiene un valor que representa la cadena de conexión para el origen de datos. + + + + + Obtiene un valor que indica el nombre de la tabla que proporciona los datos. + + + + + Obtiene el método usado para tener acceso al origen de datos. + + + + Uno de los . Si no se ha inicializado, devolverá el valor predeterminado . + + + + + Obtiene el nombre del origen de datos que se encuentra en la sección <microsoft.visualstudio.qualitytools> del archivo app.config. + + + + + Atributo para una prueba controlada por datos donde los datos pueden especificarse insertados. + + + + + Busca todas las filas de datos y las ejecuta. + + + El método de prueba. + + + Una matriz de . + + + + + Ejecuta el método de prueba controlada por datos. + + Método de prueba para ejecutar. + Fila de datos. + Resultados de la ejecución. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..356cec5 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Permet de spécifier l'élément de déploiement (fichier ou répertoire) pour un déploiement par test. + Peut être spécifié sur une classe de test ou une méthode de test. + Peut avoir plusieurs instances de l'attribut pour spécifier plusieurs éléments. + Le chemin de l'élément peut être absolu ou relatif. S'il est relatif, il l'est par rapport à RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + Initialise une nouvelle instance de la classe . + + Fichier ou répertoire à déployer. Le chemin est relatif au répertoire de sortie de build. L'élément est copié dans le même répertoire que les assemblys de tests déployés. + + + + Initialise une nouvelle instance de la classe + + Chemin relatif ou absolu du fichier ou du répertoire à déployer. Le chemin est relatif au répertoire de sortie de build. L'élément est copié dans le même répertoire que les assemblys de tests déployés. + Chemin du répertoire dans lequel les éléments doivent être copiés. Il peut être absolu ou relatif au répertoire de déploiement. Tous les fichiers et répertoires identifiés par vont être copiés dans ce répertoire. + + + + Obtient le chemin du fichier ou dossier source à copier. + + + + + Obtient le chemin du répertoire dans lequel l'élément est copié. + + + + + Exécutez le code de test dans le thread d'IU (interface utilisateur) pour les applications du Windows Store. + + + + + Exécute la méthode de test sur le thread d'IU (interface utilisateur). + + + Méthode de test. + + + Tableau de instances. + + Throws when run on an async test method. + + + + + Classe TestContext. Cette classe doit être complètement abstraite, et ne doit contenir aucun + membre. L'adaptateur va implémenter les membres. Les utilisateurs du framework ne doivent + y accéder que via une interface bien définie. + + + + + Obtient les propriétés de test d'un test. + + + + + Obtient le nom complet de la classe contenant la méthode de test en cours d'exécution + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Obtient le nom de la méthode de test en cours d'exécution + + + + + Obtient le résultat de test actuel. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..2d63dc0 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod pour exécution. + + + + + Obtient le nom de la méthode de test. + + + + + Obtient le nom de la classe de test. + + + + + Obtient le type de retour de la méthode de test. + + + + + Obtient les paramètres de la méthode de test. + + + + + Obtient le methodInfo de la méthode de test. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Appelle la méthode de test. + + + Arguments à passer à la méthode de test. (Exemple : pour un test piloté par les données) + + + Résultat de l'appel de la méthode de test. + + + This call handles asynchronous test methods as well. + + + + + Obtient tous les attributs de la méthode de test. + + + Indique si l'attribut défini dans la classe parente est valide. + + + Tous les attributs. + + + + + Obtient l'attribut du type spécifique. + + System.Attribute type. + + Indique si l'attribut défini dans la classe parente est valide. + + + Attributs du type spécifié. + + + + + Assistance. + + + + + Paramètre de vérification non null. + + + Paramètre. + + + Nom du paramètre. + + + Message. + + Throws argument null exception when parameter is null. + + + + Paramètre de vérification non null ou vide. + + + Paramètre. + + + Nom du paramètre. + + + Message. + + Throws ArgumentException when parameter is null. + + + + Énumération liée à la façon dont nous accédons aux lignes de données dans les tests pilotés par les données. + + + + + Les lignes sont retournées dans un ordre séquentiel. + + + + + Les lignes sont retournées dans un ordre aléatoire. + + + + + Attribut permettant de définir les données inline d'une méthode de test. + + + + + Initialise une nouvelle instance de la classe . + + Objet de données. + + + + Initialise une nouvelle instance de la classe qui accepte un tableau d'arguments. + + Objet de données. + Plus de données. + + + + Obtient les données permettant d'appeler la méthode de test. + + + + + Obtient ou définit le nom d'affichage dans les résultats des tests à des fins de personnalisation. + + + + + Exception d'assertion non concluante. + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Initialise une nouvelle instance de la classe . + + + + + Classe InternalTestFailureException. Sert à indiquer l'échec interne d'un cas de test + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Initialise une nouvelle instance de la classe . + + Message d'exception. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message d'exception. + + + + Initialise une nouvelle instance de la classe . + + + + + Attribut indiquant d'attendre une exception du type spécifié + + + + + Initialise une nouvelle instance de la classe avec le type attendu + + Type de l'exception attendue + + + + Initialise une nouvelle instance de la classe avec + le type attendu et le message à inclure quand aucune exception n'est levée par le test. + + Type de l'exception attendue + + Message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient une valeur indiquant le type de l'exception attendue + + + + + Obtient ou définit une valeur indiquant si les types dérivés du type de l'exception attendue peuvent + être éligibles comme prévu + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Vérifie que le type de l'exception levée par le test unitaire est bien attendu + + Exception levée par le test unitaire + + + + Classe de base des attributs qui spécifient d'attendre une exception d'un test unitaire + + + + + Initialise une nouvelle instance de la classe avec un message d'absence d'exception par défaut + + + + + Initialise une nouvelle instance de la classe avec un message d'absence d'exception + + + Message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une + exception + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient le message à inclure dans le résultat de test en cas d'échec du test lié à la non-levée d'une exception + + + + + Obtient le message d'absence d'exception par défaut + + Nom du type de l'attribut ExpectedException + Message d'absence d'exception par défaut + + + + Détermine si l'exception est attendue. Si la méthode est retournée, cela + signifie que l'exception est attendue. Si la méthode lève une exception, cela + signifie que l'exception n'est pas attendue, et que le message de l'exception levée + est inclus dans le résultat de test. La classe peut être utilisée par + commodité. Si est utilisé et si l'assertion est un échec, + le résultat de test a la valeur Non concluant. + + Exception levée par le test unitaire + + + + Lève à nouveau l'exception, s'il s'agit de AssertFailedException ou de AssertInconclusiveException + + Exception à lever de nouveau, s'il s'agit d'une exception d'assertion + + + + Cette classe permet à l'utilisateur d'effectuer des tests unitaires pour les types basés sur des types génériques. + GenericParameterHelper répond à certaines contraintes usuelles des types génériques, + exemple : + 1. constructeur par défaut public + 2. implémentation d'une interface commune : IComparable, IEnumerable + + + + + Initialise une nouvelle instance de la classe qui + répond à la contrainte 'newable' dans les génériques C#. + + + This constructor initializes the Data property to a random value. + + + + + Initialise une nouvelle instance de la classe qui + initialise la propriété Data en lui assignant une valeur fournie par l'utilisateur. + + Valeur entière + + + + Obtient ou définit les données + + + + + Compare la valeur de deux objets GenericParameterHelper + + objet à comparer + true si obj a la même valeur que l'objet GenericParameterHelper de 'this'. + sinon false. + + + + Retourne un code de hachage pour cet objet. + + Code de hachage. + + + + Compare les données des deux objets . + + Objet à comparer. + + Nombre signé indiquant les valeurs relatives de cette instance et de cette valeur. + + + Thrown when the object passed in is not an instance of . + + + + + Retourne un objet IEnumerator dont la longueur est dérivée de + la propriété Data. + + Objet IEnumerator + + + + Retourne un objet GenericParameterHelper égal à + l'objet actuel. + + Objet cloné. + + + + Permet aux utilisateurs de journaliser/d'écrire des traces de tests unitaires à des fins de diagnostic. + + + + + Gestionnaire de LogMessage. + + Message à journaliser. + + + + Événement à écouter. Déclenché quand le writer de test unitaire écrit un message. + Sert principalement à être consommé par un adaptateur. + + + + + API à appeler par le writer de test pour journaliser les messages. + + Format de chaîne avec des espaces réservés. + Paramètres des espaces réservés. + + + + Attribut TestCategory utilisé pour spécifier la catégorie d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe et applique la catégorie au test. + + + Catégorie de test. + + + + + Obtient les catégories de test appliquées au test. + + + + + Classe de base de l'attribut "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Initialise une nouvelle instance de la classe . + Applique la catégorie au test. Les chaînes retournées par TestCategories + sont utilisées avec la commande /category pour filtrer les tests + + + + + Obtient la catégorie de test appliquée au test. + + + + + Classe AssertFailedException. Sert à indiquer l'échec d'un cas de test + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Initialise une nouvelle instance de la classe . + + + + + Collection de classes d'assistance permettant de tester diverses conditions dans + des tests unitaires. Si la condition testée n'est pas remplie, une exception + est levée. + + + + + Obtient l'instance singleton de la fonctionnalité Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Message à inclure dans l'exception quand + est false. Le message s'affiche dans les résultats des tests. + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur true, et lève une exception + si la condition a la valeur false. + + + Condition censée être vraie (true) pour le test. + + + Message à inclure dans l'exception quand + est false. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is false. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Thrown if is true. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Message à inclure dans l'exception quand + est true. Le message s'affiche dans les résultats des tests. + + + Thrown if is true. + + + + + Teste si la condition spécifiée a la valeur false, et lève une exception + si la condition a la valeur true. + + + Condition censée être fausse (false) pour le test. + + + Message à inclure dans l'exception quand + est true. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is true. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + n'a pas une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur null, et lève une exception + si ce n'est pas le cas. + + + Objet censé avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + n'a pas une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Thrown if is null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + a une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if is null. + + + + + Teste si l'objet spécifié a une valeur non null, et lève une exception + s'il a une valeur null. + + + Objet censé ne pas avoir une valeur null pour le test. + + + Message à inclure dans l'exception quand + a une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is null. + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas identique à . Le message s'affiche + dans les résultats des tests. + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence au même objet, et + lève une exception si les deux entrées ne font pas référence au même objet. + + + Premier objet à comparer. Valeur attendue par le test. + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas identique à . Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not refer to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if refers to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est identique à . Le message s'affiche dans + les résultats des tests. + + + Thrown if refers to the same object + as . + + + + + Teste si les objets spécifiés font référence à des objets distincts, et + lève une exception si les deux entrées font référence au même objet. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est identique à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if refers to the same object + as . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if is not equal to . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les valeurs spécifiées sont identiques, et lève une exception + si les deux valeurs sont différentes. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Valeur attendue par le test. + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Thrown if is equal to . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs spécifiées sont différentes, et lève une exception + si les deux valeurs sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + The type of values to compare. + + + Première valeur à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur à comparer. Il s'agit de la valeur produite par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont identiques, et lève une exception + si les deux objets ne sont pas identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Objet attendu par le test. + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les objets spécifiés sont différents, et lève une exception + si les deux objets sont identiques. Les types numériques distincts sont considérés comme + différents même si les valeurs logiques sont identiques. 42L n'est pas égal à 42. + + + Premier objet à comparer. Il s'agit de la valeur à laquelle le test est censé ne pas + correspondre . + + + Second objet à comparer. Il s'agit de l'objet produit par le code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur float à comparer. Valeur float attendue par le test. + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs float spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur float à comparer. Il s'agit de la valeur float à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur float à comparer. Il s'agit de la valeur float produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Thrown if is not equal to + . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les valeurs double spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première valeur double à comparer. Valeur double attendue par le test. + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + de plus de . + + + Message à inclure dans l'exception quand + est différent de de plus de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les valeurs double spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première valeur double à comparer. Il s'agit de la valeur double à laquelle le test est censé ne pas + correspondre . + + + Seconde valeur double à comparer. Il s'agit de la valeur double produite par le code testé. + + + Précision nécessaire. Une exception est levée uniquement si + est différent de + d'au maximum . + + + Message à inclure dans l'exception quand + est égal à ou diffère de moins de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont identiques, et lève une exception + si elles sont différentes. + + + Première chaîne à comparer. Chaîne attendue par le test. + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. La culture invariante est utilisée pour la comparaison. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les chaînes spécifiées sont différentes, et lève une exception + si elles sont identiques. + + + Première chaîne à comparer. Il s'agit de la chaîne à laquelle le test est censé ne pas + correspondre . + + + Seconde chaîne à comparer. Il s'agit de la chaîne produite par le code testé. + + + Booléen indiquant une comparaison qui respecte la casse ou non. (true + indique une comparaison qui ne respecte pas la casse.) + + + Objet CultureInfo qui fournit des informations de comparaison spécifiques à la culture. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Message à inclure dans l'exception quand + n'est pas une instance de . Le message + s'affiche dans les résultats des tests. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié est une instance du + type attendu, et lève une exception si le type attendu n'est pas dans + la hiérarchie d'héritage de l'objet. + + + Objet censé être du type spécifié pour le test. + + + Le type attendu de . + + + Message à inclure dans l'exception quand + n'est pas une instance de . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Message à inclure dans l'exception quand + est une instance de . Le message s'affiche + dans les résultats des tests. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Teste si l'objet spécifié n'est pas une instance du mauvais + type, et lève une exception si le type spécifié est dans + la hiérarchie d'héritage de l'objet. + + + Objet censé ne pas être du type spécifié pour le test. + + + Type auquel ne doit pas correspondre. + + + Message à inclure dans l'exception quand + est une instance de . Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Lève AssertFailedException. + + + Always thrown. + + + + + Lève AssertFailedException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Always thrown. + + + + + Lève AssertFailedException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Always thrown. + + + + + Lève AssertInconclusiveException. + + + Message à inclure dans l'exception. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Always thrown. + + + + + Les surcharges statiques d'equals comparent les instances de deux types pour déterminer si leurs références sont + égales entre elles. Cette méthode ne doit pas être utilisée pour évaluer si deux instances sont + égales entre elles. Cet objet est toujours levé avec Assert.Fail. Utilisez + Assert.AreEqual et les surcharges associées dans vos tests unitaires. + + Objet A + Objet B + False, toujours. + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Type de l'exception censée être levée. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève + + AssertFailedException + + si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + + Délégué du code à tester et censé lever une exception. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève AssertFailedException si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + Délégué du code à tester et censé lever une exception. + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Teste si le code spécifié par le délégué lève une exception précise de type (et non d'un type dérivé) + et lève AssertFailedException si le code ne lève pas d'exception, ou lève une exception d'un autre type que . + + Délégué du code à tester et censé lever une exception. + + Message à inclure dans l'exception quand + ne lève pas d'exception de type . + + + Tableau de paramètres à utiliser pour la mise en forme de . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Le qui exécute le délégué. + + + + + Remplace les caractères Null ('\0') par "\\0". + + + Chaîne à rechercher. + + + Chaîne convertie où les caractères null sont remplacés par "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Fonction d'assistance qui crée et lève AssertionFailedException + + + nom de l'assertion levant une exception + + + message décrivant les conditions de l'échec d'assertion + + + Paramètres. + + + + + Vérifie la validité des conditions du paramètre + + + Paramètre. + + + Nom de l'assertion. + + + nom du paramètre + + + message d'exception liée à un paramètre non valide + + + Paramètres. + + + + + Convertit en toute sécurité un objet en chaîne, en gérant les valeurs null et les caractères Null. + Les valeurs null sont converties en "(null)". Les caractères Null sont convertis en "\\0". + + + Objet à convertir en chaîne. + + + Chaîne convertie. + + + + + Assertion de chaîne. + + + + + Obtient l'instance singleton de la fonctionnalité CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée contient la sous-chaîne spécifiée + et lève une exception si la sous-chaîne ne figure pas dans + la chaîne de test. + + + Chaîne censée contenir . + + + Chaîne censée se trouver dans . + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not found in + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Message à inclure dans l'exception quand + ne commence pas par . Le message + s'affiche dans les résultats des tests. + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée commence par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne commence pas par la + sous-chaîne. + + + Chaîne censée commencer par . + + + Chaîne censée être un préfixe de . + + + Message à inclure dans l'exception quand + ne commence pas par . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not begin with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Thrown if does not end with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Message à inclure dans l'exception quand + ne finit pas par . Le message + s'affiche dans les résultats des tests. + + + Thrown if does not end with + . + + + + + Teste si la chaîne indiquée finit par la sous-chaîne spécifiée + et lève une exception si la chaîne de test ne finit pas par la + sous-chaîne. + + + Chaîne censée finir par . + + + Chaîne censée être un suffixe de . + + + Message à inclure dans l'exception quand + ne finit pas par . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not end with + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Message à inclure dans l'exception quand + ne correspond pas . Le message s'affiche dans + les résultats des tests. + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée correspond à une expression régulière, et + lève une exception si la chaîne ne correspond pas à l'expression. + + + Chaîne censée correspondre à . + + + Expression régulière qui est + censé correspondre. + + + Message à inclure dans l'exception quand + ne correspond pas . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if does not match + . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Thrown if matches . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Message à inclure dans l'exception quand + correspond à . Le message s'affiche dans les + résultats des tests. + + + Thrown if matches . + + + + + Teste si la chaîne spécifiée ne correspond pas à une expression régulière + et lève une exception si la chaîne correspond à l'expression. + + + Chaîne censée ne pas correspondre à . + + + Expression régulière qui est + censé ne pas correspondre. + + + Message à inclure dans l'exception quand + correspond à . Le message s'affiche dans les + résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if matches . + + + + + Collection de classes d'assistance permettant de tester diverses conditions associées + à des collections dans les tests unitaires. Si la condition testée n'est pas + remplie, une exception est levée. + + + + + Obtient l'instance singleton de la fonctionnalité CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée contient l'élément spécifié + et lève une exception si l'élément n'est pas dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé se trouver dans la collection. + + + Message à inclure dans l'exception quand + n'est pas dans . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Thrown if is found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Message à inclure dans l'exception quand + est dans . Le message s'affiche dans les + résultats des tests. + + + Thrown if is found in + . + + + + + Teste si la collection indiquée ne contient pas l'élément spécifié + et lève une exception si l'élément est dans la collection. + + + Collection dans laquelle rechercher l'élément. + + + Élément censé ne pas se trouver dans la collection. + + + Message à inclure dans l'exception quand + est dans . Le message s'affiche dans les + résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is found in + . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Message à inclure dans l'exception quand + contient un élément ayant une valeur null. Le message s'affiche dans les résultats des tests. + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée ont des valeurs non null, et lève + une exception si un élément a une valeur null. + + + Collection dans laquelle rechercher les éléments ayant une valeur null. + + + Message à inclure dans l'exception quand + contient un élément ayant une valeur null. Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if a null element is found in . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Message à inclure dans l'exception quand + contient au moins un élément dupliqué. Le message s'affiche dans + les résultats des tests. + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si tous les éléments de la collection spécifiée sont uniques ou non, et + lève une exception si deux éléments de la collection sont identiques. + + + Collection dans laquelle rechercher les éléments dupliqués. + + + Message à inclure dans l'exception quand + contient au moins un élément dupliqué. Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if a two or more equal elements are found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Thrown if an element in is not found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Message à inclure dans l'exception quand un élément présent dans + est introuvable dans . + Le message s'affiche dans les résultats des tests. + + + Thrown if an element in is not found in + . + + + + + Teste si une collection est un sous-ensemble d'une autre collection et + lève une exception si un élément du sous-ensemble ne se trouve pas également dans le + sur-ensemble. + + + Collection censée être un sous-ensemble de . + + + Collection censée être un sur-ensemble de + + + Message à inclure dans l'exception quand un élément présent dans + est introuvable dans . + Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element in is not found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Thrown if every element in is also found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Message à inclure dans l'exception quand chaque élément présent dans + est également trouvé dans . + Le message s'affiche dans les résultats des tests. + + + Thrown if every element in is also found in + . + + + + + Teste si une collection n'est pas un sous-ensemble d'une autre collection et + lève une exception si tous les éléments du sous-ensemble se trouvent également dans le + sur-ensemble. + + + Collection censée ne pas être un sous-ensemble de . + + + Collection censée ne pas être un sur-ensemble de + + + Message à inclure dans l'exception quand chaque élément présent dans + est également trouvé dans . + Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if every element in is also found in + . + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand un élément est trouvé + dans l'une des collections mais pas l'autre. Le message s'affiche + dans les résultats des tests. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent les mêmes éléments, et lève une + exception si l'une des collections contient un élément non présent dans l'autre + collection. + + + Première collection à comparer. Ceci contient les éléments que le test + attend. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand un élément est trouvé + dans l'une des collections mais pas l'autre. Le message s'affiche + dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand + contient les mêmes éléments que . Le message + s'affiche dans les résultats des tests. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si deux collections contiennent des éléments distincts, et lève une + exception si les deux collections contiennent des éléments identiques, indépendamment + de l'ordre. + + + Première collection à comparer. Ceci contient les éléments que le test + est censé différencier des éléments de la collection réelle. + + + Seconde collection à comparer. Il s'agit de la collection produite par + le code testé. + + + Message à inclure dans l'exception quand + contient les mêmes éléments que . Le message + s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Message à inclure dans l'exception quand un élément présent dans + n'est pas une instance de + . Le message s'affiche dans les résultats des tests. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si tous les éléments de la collection spécifiée sont des instances + du type attendu, et lève une exception si le type attendu + n'est pas dans la hiérarchie d'héritage d'un ou de plusieurs éléments. + + + Collection contenant des éléments que le test considère comme étant + du type spécifié. + + + Type attendu de chaque élément de . + + + Message à inclure dans l'exception quand un élément présent dans + n'est pas une instance de + . Le message s'affiche dans les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont égales entre elles, et lève une exception + si les deux collections ne sont pas égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection attendue par les tests. + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + n'est pas égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is not equal to + . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Thrown if is equal to . + + + + + Teste si les collections spécifiées sont différentes, et lève une exception + si les deux collections sont égales entre elles. L'égalité est définie quand il existe les mêmes + éléments dans le même ordre et en même quantité. Des références différentes à la même + valeur sont considérées comme égales entre elles. + + + Première collection à comparer. Collection à laquelle les tests sont censés + ne pas correspondre . + + + Seconde collection à comparer. Il s'agit de la collection produite par le + code testé. + + + Implémentation de comparaison à utiliser durant la comparaison d'éléments de la collection. + + + Message à inclure dans l'exception quand + est égal à . Le message s'affiche dans + les résultats des tests. + + + Tableau de paramètres à utiliser pour la mise en forme de . + + + Thrown if is equal to . + + + + + Détermine si la première collection est un sous-ensemble de la seconde + collection. Si l'un des deux ensembles contient des éléments dupliqués, le nombre + d'occurrences de l'élément dans le sous-ensemble doit être inférieur ou + égal au nombre d'occurrences dans le sur-ensemble. + + + Collection dans laquelle le test est censé être contenu . + + + Collection que le test est censé contenir . + + + True si est un sous-ensemble de + , sinon false. + + + + + Construit un dictionnaire contenant le nombre d'occurrences de chaque + élément dans la collection spécifiée. + + + Collection à traiter. + + + Nombre d'éléments de valeur null dans la collection. + + + Dictionnaire contenant le nombre d'occurrences de chaque élément + dans la collection spécifiée. + + + + + Recherche un élément incompatible parmi les deux collections. Un élément incompatible + est un élément qui n'apparaît pas avec la même fréquence dans la + collection attendue et dans la collection réelle. Les + collections sont supposées être des références non null distinctes ayant le + même nombre d'éléments. L'appelant est responsable de ce niveau de + vérification. S'il n'existe aucun élément incompatible, la fonction retourne + la valeur false et les paramètres out ne doivent pas être utilisés. + + + Première collection à comparer. + + + Seconde collection à comparer. + + + Nombre attendu d'occurrences de + ou 0, s'il n'y a aucune incompatibilité + des éléments. + + + Nombre réel d'occurrences de + ou 0, s'il n'y a aucune incompatibilité + des éléments. + + + Élément incompatible (pouvant avoir une valeur null), ou valeur null s'il n'existe aucun + élément incompatible. + + + true si un élément incompatible est trouvé ; sinon, false. + + + + + compare les objets via object.Equals + + + + + Classe de base pour les exceptions de framework. + + + + + Initialise une nouvelle instance de la classe . + + + + + Initialise une nouvelle instance de la classe . + + Message. + Exception. + + + + Initialise une nouvelle instance de la classe . + + Message. + + + + Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. + + + + + Retourne l'instance ResourceManager mise en cache utilisée par cette classe. + + + + + Remplace la propriété CurrentUICulture du thread actuel pour toutes + les recherches de ressources à l'aide de cette classe de ressource fortement typée. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne Access comporte une syntaxe non valide. + + + + + Recherche une chaîne localisée semblable à celle-ci : La collection attendue contient {1} occurrence(s) de <{2}>. La collection réelle contient {3} occurrence(s). {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Un élément dupliqué a été trouvé : <{1}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1}>. La casse est différente pour la valeur réelle : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Différence attendue non supérieure à <{3}> comprise entre la valeur attendue <{1}> et la valeur réelle <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1} ({2})>. Réel : <{3} ({4})>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Attendu : <{1}>. Réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Différence attendue supérieure à <{3}> comprise entre la valeur attendue <{1}> et la valeur réelle <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Toute valeur attendue sauf : <{1}>. Réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Ne passez pas de types valeur à AreSame(). Les valeurs converties en Object ne seront plus jamais les mêmes. Si possible, utilisez AreEqual(). {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Échec de {0}. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : async TestMethod utilisé avec UITestMethodAttribute n'est pas pris en charge. Supprimez async ou utilisez TestMethodAttribute. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections sont vides. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections contiennent des éléments identiques. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections Reference pointent vers le même objet Collection. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les deux collections contiennent les mêmes éléments. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0}({1}). + + + + + Recherche une chaîne localisée semblable à celle-ci : (null). + + + + + Recherche une chaîne localisée semblable à celle-ci : (objet). + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne contient pas la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0} ({1}). + + + + + Recherche une chaîne localisée semblable à celle-ci : Assert.Equals ne doit pas être utilisé pour les assertions. Utilisez Assert.AreEqual et des surcharges à la place. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le nombre d'éléments dans les collections ne correspond pas. Attendu : <{1}>. Réel : <{2}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Les éléments à l'index {0} ne correspondent pas. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'élément à l'index {1} n'est pas du type attendu. Type attendu : <{2}>. Type réel : <{3}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'élément à l'index {1} est (null). Type attendu : <{2}>.{0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne se termine pas par la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Argument non valide - EqualsTester ne peut pas utiliser de valeurs null. + + + + + Recherche une chaîne localisée semblable à celle-ci : Impossible de convertir un objet de type {0} en {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'objet interne référencé n'est plus valide. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le paramètre '{0}' est non valide. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La propriété {0} a le type {1} ; type attendu {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : {0} Type attendu : <{1}>. Type réel : <{2}>. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne correspond pas au modèle '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Type incorrect : <{1}>. Type réel : <{2}>. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' correspond au modèle '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Aucun DataRowAttribute spécifié. Au moins un DataRowAttribute est nécessaire avec DataTestMethodAttribute. + + + + + Recherche une chaîne localisée semblable à celle-ci : Aucune exception levée. Exception {1} attendue. {0}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le paramètre '{0}' est non valide. La valeur ne peut pas être null. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Nombre d'éléments différent. + + + + + Recherche une chaîne localisée semblable à celle-ci : + Le constructeur doté de la signature spécifiée est introuvable. Vous devrez peut-être régénérer votre accesseur private, + ou le membre est peut-être private et défini sur une classe de base. Si le dernier cas est vrai, vous devez transmettre le type + qui définit le membre dans le constructeur de PrivateObject. + . + + + + + Recherche une chaîne localisée semblable à celle-ci : + Le membre spécifié ({0}) est introuvable. Vous devrez peut-être régénérer votre accesseur private, + ou le membre est peut-être private et défini sur une classe de base. Si le dernier cas est vrai, vous devez transmettre le type + qui définit le membre dans le constructeur de PrivateObject. + . + + + + + Recherche une chaîne localisée semblable à celle-ci : La chaîne '{0}' ne commence pas par la chaîne '{1}'. {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : Le type de l'exception attendue doit être System.Exception ou un type dérivé de System.Exception. + + + + + Recherche une chaîne localisée semblable à celle-ci : (Échec de la réception du message pour une exception de type {0} en raison d'une exception.). + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test n'a pas levé l'exception attendue {0}. {1}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test n'a pas levé d'exception. Une exception était attendue par l'attribut {0} défini sur la méthode de test. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test a levé l'exception {0}, mais l'exception {1} était attendue. Message d'exception : {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : La méthode de test a levé l'exception {0}, mais l'exception {1} (ou un type dérivé de cette dernière) était attendue. Message d'exception : {2}. + + + + + Recherche une chaîne localisée semblable à celle-ci : L'exception {2} a été levée, mais l'exception {1} était attendue. {0} + Message d'exception : {3} + Arborescence des appels de procédure : {4}. + + + + + résultats du test unitaire + + + + + Le test a été exécuté mais des problèmes se sont produits. + Il peut s'agir de problèmes liés à des exceptions ou des échecs d'assertion. + + + + + Test effectué, mais nous ne pouvons pas dire s'il s'agit d'une réussite ou d'un échec. + Utilisable éventuellement pour les tests abandonnés. + + + + + Le test a été exécuté sans problème. + + + + + Le test est en cours d'exécution. + + + + + Une erreur système s'est produite pendant que nous tentions d'exécuter un test. + + + + + Délai d'expiration du test. + + + + + Test abandonné par l'utilisateur. + + + + + Le test est dans un état inconnu + + + + + Fournit une fonctionnalité d'assistance pour le framework de tests unitaires + + + + + Obtient les messages d'exception, notamment les messages de toutes les exceptions internes + de manière récursive + + Exception pour laquelle les messages sont obtenus + chaîne avec les informations du message d'erreur + + + + Énumération des délais d'expiration, qui peut être utilisée avec la classe . + Le type de l'énumération doit correspondre + + + + + Infini. + + + + + Attribut de la classe de test. + + + + + Obtient un attribut de méthode de test qui permet d'exécuter ce test. + + Instance d'attribut de méthode de test définie sur cette méthode. + Le à utiliser pour exécuter ce test. + Extensions can override this method to customize how all methods in a class are run. + + + + Attribut de la méthode de test. + + + + + Exécute une méthode de test. + + Méthode de test à exécuter. + Tableau d'objets TestResult qui représentent le ou les résultats du test. + Extensions can override this method to customize running a TestMethod. + + + + Attribut d'initialisation du test. + + + + + Attribut de nettoyage du test. + + + + + Attribut ignore. + + + + + Attribut de la propriété de test. + + + + + Initialise une nouvelle instance de la classe . + + + Nom. + + + Valeur. + + + + + Obtient le nom. + + + + + Obtient la valeur. + + + + + Attribut d'initialisation de la classe. + + + + + Attribut de nettoyage de la classe. + + + + + Attribut d'initialisation de l'assembly. + + + + + Attribut de nettoyage de l'assembly. + + + + + Propriétaire du test + + + + + Initialise une nouvelle instance de la classe . + + + Propriétaire. + + + + + Obtient le propriétaire. + + + + + Attribut Priority utilisé pour spécifier la priorité d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe . + + + Priorité. + + + + + Obtient la priorité. + + + + + Description du test + + + + + Initialise une nouvelle instance de la classe pour décrire un test. + + Description. + + + + Obtient la description d'un test. + + + + + URI de structure de projet CSS + + + + + Initialise une nouvelle instance de la classe pour l'URI de structure de projet CSS. + + URI de structure de projet CSS. + + + + Obtient l'URI de structure de projet CSS. + + + + + URI d'itération CSS + + + + + Initialise une nouvelle instance de la classe pour l'URI d'itération CSS. + + URI d'itération CSS. + + + + Obtient l'URI d'itération CSS. + + + + + Attribut WorkItem permettant de spécifier un élément de travail associé à ce test. + + + + + Initialise une nouvelle instance de la classe pour l'attribut WorkItem. + + ID d'un élément de travail. + + + + Obtient l'ID d'un élément de travail associé. + + + + + Attribut Timeout utilisé pour spécifier le délai d'expiration d'un test unitaire. + + + + + Initialise une nouvelle instance de la classe . + + + Délai d'expiration. + + + + + Initialise une nouvelle instance de la classe avec un délai d'expiration prédéfini + + + Délai d'expiration + + + + + Obtient le délai d'attente. + + + + + Objet TestResult à retourner à l'adaptateur. + + + + + Initialise une nouvelle instance de la classe . + + + + + Obtient ou définit le nom d'affichage du résultat. Utile pour retourner plusieurs résultats. + En cas de valeur null, le nom de la méthode est utilisé en tant que DisplayName. + + + + + Obtient ou définit le résultat de l'exécution du test. + + + + + Obtient ou définit l'exception levée en cas d'échec du test. + + + + + Obtient ou définit la sortie du message journalisé par le code de test. + + + + + Obtient ou définit la sortie du message journalisé par le code de test. + + + + + Obtient ou définit les traces de débogage du code de test. + + + + + Gets or sets the debug traces by test code. + + + + + Obtient ou définit la durée de l'exécution du test. + + + + + Obtient ou définit l'index de ligne de données dans la source de données. Défini uniquement pour les résultats de + l'exécution individuelle de la ligne de données d'un test piloté par les données. + + + + + Obtient ou définit la valeur renvoyée de la méthode de test. (Toujours null). + + + + + Obtient ou définit les fichiers de résultats attachés par le test. + + + + + Spécifie la chaîne de connexion, le nom de la table et la méthode d'accès aux lignes pour les tests pilotés par les données. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nom du fournisseur par défaut de DataSource. + + + + + Méthode d'accès aux données par défaut. + + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec un fournisseur de données, une chaîne de connexion, une table de données et une méthode d'accès aux données pour accéder à la source de données. + + Nom du fournisseur de données invariant, par exemple System.Data.SqlClient + + Chaîne de connexion spécifique au fournisseur de données. + AVERTISSEMENT : La chaîne de connexion peut contenir des données sensibles (par exemple, un mot de passe). + La chaîne de connexion est stockée en texte brut dans le code source et dans l'assembly compilé. + Restreignez l'accès au code source et à l'assembly pour protéger ces informations sensibles. + + Nom de la table de données. + Spécifie l'ordre d'accès aux données. + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec une chaîne de connexion et un nom de table. + Spécifiez la chaîne de connexion et la table de données permettant d'accéder à la source de données OLEDB. + + + Chaîne de connexion spécifique au fournisseur de données. + AVERTISSEMENT : La chaîne de connexion peut contenir des données sensibles (par exemple, un mot de passe). + La chaîne de connexion est stockée en texte brut dans le code source et dans l'assembly compilé. + Restreignez l'accès au code source et à l'assembly pour protéger ces informations sensibles. + + Nom de la table de données. + + + + Initialise une nouvelle instance de la classe . Cette instance va être initialisée avec un fournisseur de données et une chaîne de connexion associés au nom du paramètre. + + Nom d'une source de données trouvée dans la section <microsoft.visualstudio.qualitytools> du fichier app.config. + + + + Obtient une valeur représentant le fournisseur de données de la source de données. + + + Nom du fournisseur de données. Si aucun fournisseur de données n'a été désigné au moment de l'initialisation de l'objet, le fournisseur par défaut de System.Data.OleDb est retourné. + + + + + Obtient une valeur représentant la chaîne de connexion de la source de données. + + + + + Obtient une valeur indiquant le nom de la table qui fournit les données. + + + + + Obtient la méthode utilisée pour accéder à la source de données. + + + + Une des valeurs possibles. Si n'est pas initialisé, ce qui entraîne le retour de la valeur par défaut . + + + + + Obtient le nom d'une source de données trouvée dans la section <microsoft.visualstudio.qualitytools> du fichier app.config. + + + + + Attribut du test piloté par les données, où les données peuvent être spécifiées inline. + + + + + Recherche toutes les lignes de données et les exécute. + + + Méthode de test. + + + Tableau des . + + + + + Exécute la méthode de test piloté par les données. + + Méthode de test à exécuter. + Ligne de données. + Résultats de l'exécution. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..8b061c2 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Usato per specificare l'elemento di distribuzione (file o directory) per la distribuzione per singolo test. + Può essere specificato in classi o metodi di test. + Può contenere più istanze dell'attributo per specificare più di un elemento. + Il percorso dell'elemento può essere assoluto o relativo; se è relativo, è relativo rispetto a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + Inizializza una nuova istanza della classe . + + File o directory per la distribuzione. Il percorso è relativo alla directory di output della compilazione. L'elemento verrà copiato nella stessa directory degli assembly di test distribuiti. + + + + Inizializza una nuova istanza della classe + + Percorso relativo o assoluto del file o della directory per la distribuzione. Il percorso è relativo alla directory di output della compilazione. L'elemento verrà copiato nella stessa directory degli assembly di test distribuiti. + Percorso della directory in cui vengono copiati gli elementi. Può essere assoluto o relativo rispetto alla directory di distribuzione. Tutte le directory e tutti i file identificati da verranno copiati in questa directory. + + + + Ottiene il percorso della cartella o del file di origine da copiare. + + + + + Ottiene il percorso della directory in cui viene copiato l'elemento. + + + + + Esegue il codice di test nel thread dell'interfaccia utente per le app di Windows Store. + + + + + Esegue il metodo di test sul thread dell'interfaccia utente. + + + Metodo di test. + + + Matrice di . + + Throws when run on an async test method. + + + + + Classe TestContext. Questa classe deve essere completamente astratta e non deve + contenere membri. I membri verranno implementati dall'adattatore. Gli utenti del framework devono + accedere a questa classe solo tramite un'interfaccia correttamente definita. + + + + + Ottiene le proprietà di un test. + + + + + Ottiene il nome completo della classe contenente il metodo di test attualmente in esecuzione + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Ottiene il nome del metodo di test attualmente in esecuzione + + + + + Ottiene il risultato del test corrente. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..d3540c8 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Metodo di test per l'esecuzione. + + + + + Ottiene il nome del metodo di test. + + + + + Ottiene il nome della classe di test. + + + + + Ottiene il tipo restituito del metodo di test. + + + + + Ottiene i parametri del metodo di test. + + + + + Ottiene l'oggetto methodInfo per il metodo di test. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Richiama il metodo di test. + + + Argomenti da passare al metodo di test, ad esempio per test basati sui dati + + + Risultato della chiamata del metodo di test. + + + This call handles asynchronous test methods as well. + + + + + Ottiene tutti gli attributi del metodo di test. + + + Indica se l'attributo definito nella classe padre è valido. + + + Tutti gli attributi. + + + + + Ottiene l'attributo di tipo specifico. + + System.Attribute type. + + Indica se l'attributo definito nella classe padre è valido. + + + Attributi del tipo specificato. + + + + + Helper. + + + + + Parametro check non Null. + + + Parametro. + + + Nome del parametro. + + + Messaggio. + + Throws argument null exception when parameter is null. + + + + Parametro check non Null o vuoto. + + + Parametro. + + + Nome del parametro. + + + Messaggio. + + Throws ArgumentException when parameter is null. + + + + Enumerazione relativa alla modalità di accesso alle righe di dati nei test basati sui dati. + + + + + Le righe vengono restituite in ordine sequenziale. + + + + + Le righe vengono restituite in ordine casuale. + + + + + Attributo per definire i dati inline per un metodo di test. + + + + + Inizializza una nuova istanza della classe . + + Oggetto dati. + + + + Inizializza una nuova istanza della classe che accetta una matrice di argomenti. + + Oggetto dati. + Altri dati. + + + + Ottiene i dati per chiamare il metodo di test. + + + + + Ottiene o imposta il nome visualizzato nei risultati del test per la personalizzazione. + + + + + Eccezione senza risultati dell'asserzione. + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Inizializza una nuova istanza della classe . + + + + + Classe InternalTestFailureException. Usata per indicare un errore interno per un test case + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inizializza una nuova istanza della classe . + + Messaggio dell'eccezione. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio dell'eccezione. + + + + Inizializza una nuova istanza della classe . + + + + + Attributo che specifica di presupporre un'eccezione del tipo specificato + + + + + Inizializza una nuova istanza della classe con il tipo previsto + + Tipo dell'eccezione prevista + + + + Inizializza una nuova istanza della classe con + il tipo previsto e il messaggio da includere quando il test non genera alcuna eccezione. + + Tipo dell'eccezione prevista + + Messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene un valore che indica il tipo dell'eccezione prevista + + + + + Ottiene o imposta un valore che indica se consentire a tipi derivati dal tipo dell'eccezione prevista + di qualificarsi come previsto + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Verifica che il tipo dell'eccezione generata dallo unit test sia prevista + + Eccezione generata dallo unit test + + + + Classe di base per attributi che specificano se prevedere che uno unit test restituisca un'eccezione + + + + + Inizializza una nuova istanza della classe con un messaggio per indicare nessuna eccezione + + + + + Inizializza una nuova istanza della classe con un messaggio che indica nessuna eccezione + + + Messaggio da includere nel risultato del test se il test non riesce perché non + viene generata un'eccezione + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene il messaggio da includere nel risultato del test se il test non riesce perché non viene generata un'eccezione + + + + + Ottiene il messaggio predefinito per indicare nessuna eccezione + + Nome del tipo di attributo di ExpectedException + Messaggio predefinito per indicare nessuna eccezione + + + + Determina se l'eccezione è prevista. Se il metodo viene completato, si + presuppone che l'eccezione era prevista. Se il metodo genera un'eccezione, si + presuppone che l'eccezione non era prevista e il messaggio dell'eccezione generata + viene incluso nel risultato del test. Si può usare la classe per + comodità. Se si usa e l'asserzione non riesce, + il risultato del test viene impostato su Senza risultati. + + Eccezione generata dallo unit test + + + + Genera di nuovo l'eccezione se si tratta di un'eccezione AssertFailedException o AssertInconclusiveException + + Eccezione da generare di nuovo se si tratta di un'eccezione di asserzione + + + + Questa classe consente all'utente di eseguire testing unità per tipi che usano tipi generici. + GenericParameterHelper soddisfa alcuni dei vincoli di tipo generici più comuni, + ad esempio: + 1. costruttore predefinito pubblico + 2. implementa l'interfaccia comune: IComparable, IEnumerable + + + + + Inizializza una nuova istanza della classe che + soddisfa il vincolo 'newable' nei generics C#. + + + This constructor initializes the Data property to a random value. + + + + + Inizializza una nuova istanza della classe che + inizializza la proprietà Data con un valore fornito dall'utente. + + Qualsiasi valore Integer + + + + Ottiene o imposta i dati + + + + + Esegue il confronto dei valori di due oggetti GenericParameterHelper + + oggetto con cui eseguire il confronto + true se il valore di obj è uguale a quello dell'oggetto GenericParameterHelper 'this'; + in caso contrario, false. + + + + Restituisce un codice hash per questo oggetto. + + Codice hash. + + + + Confronta i dati dei due oggetti . + + Oggetto con cui eseguire il confronto. + + Numero con segno che indica i valori relativi di questa istanza e di questo valore. + + + Thrown when the object passed in is not an instance of . + + + + + Restituisce un oggetto IEnumerator la cui lunghezza viene derivata dalla + proprietà Data. + + L'oggetto IEnumerator + + + + Restituisce un oggetto GenericParameterHelper uguale a + quello corrente. + + Oggetto clonato. + + + + Consente agli utenti di registrare/scrivere tracce degli unit test per la diagnostica. + + + + + Gestore per LogMessage. + + Messaggio da registrare. + + + + Evento di cui rimanere in ascolto. Generato quando il writer di unit test scrive alcuni messaggi. + Utilizzato principalmente dall'adattatore. + + + + + API del writer di test da chiamare per registrare i messaggi. + + Formato stringa con segnaposto. + Parametri per segnaposto. + + + + Attributo TestCategory; usato per specificare la categoria di uno unit test. + + + + + Inizializza una nuova istanza della classe e applica la categoria al test. + + + Categoria di test. + + + + + Ottiene le categorie di test applicate al test. + + + + + Classe di base per l'attributo "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inizializza una nuova istanza della classe . + Applica la categoria al test. Le stringhe restituite da TestCategories + vengono usate con il comando /category per filtrare i test + + + + + Ottiene la categoria di test applicata al test. + + + + + Classe AssertFailedException. Usata per indicare un errore per un test case + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Inizializza una nuova istanza della classe . + + + + + Raccolta di classi helper per testare diverse condizioni + negli unit test. Se la condizione da testare non viene soddisfatta, + viene generata un'eccezione. + + + + + Ottiene l'istanza singleton della funzionalità Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Thrown if is false. + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Messaggio da includere nell'eccezione quando + è false. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is false. + + + + + Verifica se la condizione specificata è true e genera un'eccezione + se è false. + + + Condizione che il test presuppone sia true. + + + Messaggio da includere nell'eccezione quando + è false. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is false. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Thrown if is true. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Messaggio da includere nell'eccezione quando + è true. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is true. + + + + + Verifica se la condizione specificata è false e genera un'eccezione + se è true. + + + Condizione che il test presuppone sia false. + + + Messaggio da includere nell'eccezione quando + è true. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is true. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Messaggio da includere nell'eccezione quando + non è Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone sia Null. + + + Messaggio da includere nell'eccezione quando + non è Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Thrown if is null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Messaggio da includere nell'eccezione quando + è Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is null. + + + + + Verifica se l'oggetto specificato non è Null e genera un'eccezione + se non lo è. + + + Oggetto che il test presuppone non sia Null. + + + Messaggio da includere nell'eccezione quando + è Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is null. + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono entrambi allo stesso oggetto e + genera un'eccezione se i due input non si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore previsto dal test. + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not refer to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if refers to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if refers to the same object + as . + + + + + Verifica se gli oggetti specificati si riferiscono a oggetti diversi e + genera un'eccezione se i due input si riferiscono allo stesso oggetto. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if refers to the same object + as . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if is not equal to . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se i valori specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore previsto dai test. + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + The type of values to compare. + + + Primo valore da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo valore da confrontare. Si tratta del valore prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono uguali e genera un'eccezione + se sono diversi. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è l'oggetto previsto dai test. + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se gli oggetti specificati sono diversi e genera un'eccezione + se sono uguali. I tipi numerici diversi vengono considerati + diversi anche se i valori logici sono uguali. 42L è diverso da 42. + + + Primo oggetto da confrontare. Questo è il valore che il test presuppone + non corrisponda a . + + + Secondo oggetto da confrontare. Si tratta dell'oggetto prodotto dal codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore float da confrontare. Questo è il valore float previsto dai test. + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori float specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore float da confrontare. Questo è il valore float che il test presuppone + non corrisponda a . + + + Secondo valore float da confrontare. Si tratta del valore float prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Thrown if is not equal to + . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se i valori double specificati sono uguali e genera un'eccezione + se sono diversi. + + + Primo valore double da confrontare. Questo è il valore double previsto dai test. + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + di più di . + + + Messaggio da includere nell'eccezione quando + differisce da di più di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se i valori double specificati sono diversi e genera un'eccezione + se sono uguali. + + + Primo valore double da confrontare. Questo è il valore double che il test presuppone + non corrisponda a . + + + Secondo valore double da confrontare. Si tratta del valore double prodotto dal codice sottoposto a test. + + + Accuratezza richiesta. Verrà generata un'eccezione solo se + differisce da + al massimo di . + + + Messaggio da includere nell'eccezione quando + è uguale a o differisce di meno di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono uguali e genera un'eccezione + se sono diverse. + + + Prima stringa da confrontare. Questa è la stringa prevista dai test. + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. Per il confronto vengono usate le impostazioni cultura inglese non dipendenti da paese/area geografica. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le stringhe specificate sono diverse e genera un'eccezione + se sono uguali. + + + Prima stringa da confrontare. Questa è la stringa che il test presuppone + non corrisponda a . + + + Seconda stringa da confrontare. Si tratta della stringa prodotta dal codice sottoposto a test. + + + Valore booleano che indica un confronto con o senza distinzione tra maiuscole e minuscole. True + indica un confronto senza distinzione tra maiuscole e minuscole. + + + Oggetto CultureInfo che fornisce informazioni sul confronto specifiche delle impostazioni cultura. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Messaggio da includere nell'eccezione quando + non è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato è un'istanza del tipo previsto + e genera un'eccezione se il tipo previsto non è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone sia del tipo specificato. + + + Tipo previsto di . + + + Messaggio da includere nell'eccezione quando + non è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Messaggio da includere nell'eccezione quando + è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Verifica se l'oggetto specificato non è un'istanza del tipo errato + e genera un'eccezione se il tipo specificato è incluso nella + gerarchia di ereditarietà dell'oggetto. + + + Oggetto che il test presuppone non sia del tipo specificato. + + + Tipo che non dovrebbe essere. + + + Messaggio da includere nell'eccezione quando + è un'istanza di . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Genera un'eccezione AssertFailedException. + + + Always thrown. + + + + + Genera un'eccezione AssertFailedException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Always thrown. + + + + + Genera un'eccezione AssertFailedException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Always thrown. + + + + + Genera un'eccezione AssertInconclusiveException. + + + Messaggio da includere nell'eccezione. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Always thrown. + + + + + Gli overload di uguaglianza statici vengono usati per confrontare istanze di due tipi e stabilire se + i riferimenti sono uguali. Questo metodo non deve essere usato per il confronto di uguaglianza tra due + istanze. Questo oggetto verrà sempre generato con Assert.Fail. Usare + Assert.AreEqual e gli overload associati negli unit test. + + Oggetto A + Oggetto B + Sempre false. + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Tipo di eccezione che dovrebbe essere generata. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione + + AssertFailedException + + se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione AssertFailedException se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Verifica se il codice specificato dal delegato genera l'esatta eccezione specificata di tipo (e non di tipo derivato) + e genera l'eccezione AssertFailedException se il codice non genera l'eccezione oppure genera un'eccezione di tipo diverso da . + + Delegato per il codice da testare e che dovrebbe generare l'eccezione. + + Messaggio da includere nell'eccezione quando + non genera l'eccezione di tipo . + + + Matrice di parametri da usare quando si formatta . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + che esegue il delegato. + + + + + Sostituisce caratteri Null ('\0') con "\\0". + + + Stringa da cercare. + + + Stringa convertita con caratteri Null sostituiti da "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Funzione helper che crea e genera un'eccezione AssertionFailedException + + + nome dell'asserzione che genera un'eccezione + + + messaggio che descrive le condizioni per l'errore di asserzione + + + Parametri. + + + + + Verifica la validità delle condizioni nel parametro + + + Parametro. + + + Nome dell'asserzione. + + + nome del parametro + + + messaggio per l'eccezione di parametro non valido + + + Parametri. + + + + + Converte in modo sicuro un oggetto in una stringa, gestendo valori e caratteri Null. + I valori Null vengono convertiti in "(null)". I caratteri Null vengono convertiti in "\\0". + + + Oggetto da convertire in una stringa. + + + Stringa convertita. + + + + + Asserzione della stringa. + + + + + Ottiene l'istanza singleton della funzionalità CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata contiene la sottostringa specificata + e genera un'eccezione se la sottostringa non è presente nella + stringa di test. + + + Stringa che dovrebbe contenere . + + + Stringa che dovrebbe essere presente in . + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not found in + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Messaggio da includere nell'eccezione quando + non inizia con . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata inizia con la sottostringa specificata + e genera un'eccezione se la stringa di test non inizia con + la sottostringa. + + + Stringa che dovrebbe iniziare con . + + + Stringa che dovrebbe essere un prefisso di . + + + Messaggio da includere nell'eccezione quando + non inizia con . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not begin with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Messaggio da includere nell'eccezione quando + non termina con . Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata termina con la sottostringa specificata + e genera un'eccezione se la stringa di test non termina con + la sottostringa. + + + Stringa che dovrebbe terminare con . + + + Stringa che dovrebbe essere un suffisso di . + + + Messaggio da includere nell'eccezione quando + non termina con . Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not end with + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Messaggio da includere nell'eccezione quando + non corrisponde a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata corrisponde a un'espressione regolare e + genera un'eccezione se non corrisponde. + + + Stringa che dovrebbe corrispondere a . + + + Espressione regolare a cui dovrebbe + corrispondere. + + + Messaggio da includere nell'eccezione quando + non corrisponde a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if does not match + . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Thrown if matches . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Messaggio da includere nell'eccezione quando + corrisponde a . Il messaggio viene visualizzato nei risultati + del test. + + + Thrown if matches . + + + + + Verifica se la stringa specificata non corrisponde a un'espressione regolare e + genera un'eccezione se corrisponde. + + + Stringa che non dovrebbe corrispondere a . + + + Espressione regolare a cui non + dovrebbe corrispondere. + + + Messaggio da includere nell'eccezione quando + corrisponde a . Il messaggio viene visualizzato nei risultati + del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if matches . + + + + + Raccolta di classi helper per testare diverse condizioni associate + alle raccolte negli unit test. Se la condizione da testare non viene + soddisfatta, viene generata un'eccezione. + + + + + Ottiene l'istanza singleton della funzionalità CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata contiene l'elemento specificato + e genera un'eccezione se l'elemento non è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + non è contenuto in . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Thrown if is found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + è presente in . Il messaggio viene visualizzato nei risultati + del test. + + + Thrown if is found in + . + + + + + Verifica se la raccolta specificata non contiene l'elemento + specificato e genera un'eccezione se l'elemento è presente nella raccolta. + + + Raccolta in cui cercare l'elemento. + + + Elemento che non dovrebbe essere presente nella raccolta. + + + Messaggio da includere nell'eccezione quando + è presente in . Il messaggio viene visualizzato nei risultati + del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Messaggio da includere nell'eccezione quando + contiene un elemento Null. Il messaggio viene visualizzato nei risultati del test. + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono non Null e genera + un'eccezione se un qualsiasi elemento è Null. + + + Raccolta in cui cercare gli elementi Null. + + + Messaggio da includere nell'eccezione quando + contiene un elemento Null. Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if a null element is found in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Messaggio da includere nell'eccezione quando + contiene almeno un elemento duplicato. Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se tutti gli elementi della raccolta specificata sono univoci o meno + e genera un'eccezione se due elementi qualsiasi della raccolta sono uguali. + + + Raccolta in cui cercare gli elementi duplicati. + + + Messaggio da includere nell'eccezione quando + contiene almeno un elemento duplicato. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if a two or more equal elements are found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando un elemento in + non è presente in . + Il messaggio viene visualizzato nei risultati del test. + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta è un subset di un'altra raccolta e + genera un'eccezione se un qualsiasi elemento nel subset non è presente anche + nel superset. + + + Raccolta che dovrebbe essere un subset di . + + + Raccolta che dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando un elemento in + non è presente in . + Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element in is not found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Thrown if every element in is also found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando ogni elemento in + è presente anche in . + Il messaggio viene visualizzato nei risultati del test. + + + Thrown if every element in is also found in + . + + + + + Verifica se una raccolta non è un subset di un'altra raccolta e + genera un'eccezione se tutti gli elementi nel subset sono presenti anche + nel superset. + + + Raccolta che non dovrebbe essere un subset di . + + + Raccolta che non dovrebbe essere un superset di + + + Messaggio da includere nell'eccezione quando ogni elemento in + è presente anche in . + Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if every element in is also found in + . + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando un elemento viene trovato + in una delle raccolte ma non nell'altra. Il messaggio viene + visualizzato nei risultati del test. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono gli stessi elementi e genera + un'eccezione se una delle raccolte contiene un elemento non presente + nell'altra. + + + Prima raccolta da confrontare. Contiene gli elementi previsti dal + test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando un elemento viene trovato + in una delle raccolte ma non nell'altra. Il messaggio viene + visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + contiene gli stessi elementi di . Il messaggio + viene visualizzato nei risultati del test. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se due raccolte contengono elementi diversi e genera + un'eccezione se le raccolte contengono gli stessi elementi senza + considerare l'ordine. + + + Prima raccolta da confrontare. Contiene gli elementi che il test + prevede siano diversi rispetto alla raccolta effettiva. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + contiene gli stessi elementi di . Il messaggio + viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Messaggio da includere nell'eccezione quando un elemento in + non è un'istanza di + . Il messaggio viene visualizzato nei risultati del test. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se tutti gli elementi della raccolta specificata sono istanze + del tipo previsto e genera un'eccezione se il tipo previsto non + è presente nella gerarchia di ereditarietà di uno o più elementi. + + + Raccolta contenente elementi che il test presuppone siano del + tipo specificato. + + + Tipo previsto di ogni elemento di . + + + Messaggio da includere nell'eccezione quando un elemento in + non è un'istanza di + . Il messaggio viene visualizzato nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono uguali e genera un'eccezione + se sono diverse. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta prevista dai test. + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è diverso da . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is not equal to + . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Thrown if is equal to . + + + + + Verifica se le due raccolte specificate sono diverse e genera un'eccezione + se sono uguali. Per uguaglianza si intende che le raccolte + contengono gli stessi elementi nello stesso ordine e nella stessa quantità. + Riferimenti diversi allo stesso valore vengono considerati uguali. + + + Prima raccolta da confrontare. Questa è la raccolta che i test presuppongono + non corrisponda a . + + + Seconda raccolta da confrontare. Si tratta della raccolta prodotta dal + codice sottoposto a test. + + + Implementazione di compare da usare quando si confrontano elementi della raccolta. + + + Messaggio da includere nell'eccezione quando + è uguale a . Il messaggio viene visualizzato + nei risultati del test. + + + Matrice di parametri da usare quando si formatta . + + + Thrown if is equal to . + + + + + Determina se la prima raccolta è un subset della seconda raccolta. + Se entrambi i set contengono elementi duplicati, il numero delle + occorrenze dell'elemento nel subset deve essere minore o uguale + a quello delle occorrenze nel superset. + + + Raccolta che il test presuppone debba essere contenuta in . + + + Raccolta che il test presuppone debba contenere . + + + True se è un subset di + ; in caso contrario, false. + + + + + Costruisce un dizionario contenente il numero di occorrenze di ogni + elemento nella raccolta specificata. + + + Raccolta da elaborare. + + + Numero di elementi Null presenti nella raccolta. + + + Dizionario contenente il numero di occorrenze di ogni elemento + nella raccolta specificata. + + + + + Trova un elemento senza corrispondenza tra le due raccolte. Per elemento + senza corrispondenza si intende un elemento che appare nella raccolta prevista + un numero di volte diverso rispetto alla raccolta effettiva. Si presuppone + che le raccolte siano riferimenti non Null diversi con lo stesso + numero di elementi. Il chiamante è responsabile di questo livello di + verifica. Se non ci sono elementi senza corrispondenza, la funzione + restituisce false e i parametri out non devono essere usati. + + + Prima raccolta da confrontare. + + + Seconda raccolta da confrontare. + + + Numero previsto di occorrenze di + o 0 se non ci sono elementi senza + corrispondenza. + + + Numero effettivo di occorrenze di + o 0 se non ci sono elementi senza + corrispondenza. + + + Elemento senza corrispondenza (può essere Null) o Null se non ci sono elementi + senza corrispondenza. + + + true se è stato trovato un elemento senza corrispondenza; in caso contrario, false. + + + + + confronta gli oggetti usando object.Equals + + + + + Classe di base per le eccezioni del framework. + + + + + Inizializza una nuova istanza della classe . + + + + + Inizializza una nuova istanza della classe . + + Messaggio. + Eccezione. + + + + Inizializza una nuova istanza della classe . + + Messaggio. + + + + Classe di risorse fortemente tipizzata per la ricerca di stringhe localizzate e così via. + + + + + Restituisce l'istanza di ResourceManager nella cache usata da questa classe. + + + + + Esegue l'override della proprietà CurrentUICulture del thread corrente per tutte + le ricerche di risorse eseguite usando questa classe di risorse fortemente tipizzata. + + + + + Cerca una stringa localizzata simile a La sintassi della stringa di accesso non è valida. + + + + + Cerca una stringa localizzata simile a La raccolta prevista contiene {1} occorrenza/e di <{2}>, mentre quella effettiva ne contiene {3}. {0}. + + + + + Cerca una stringa localizzata simile a È stato trovato un elemento duplicato:<{1}>. {0}. + + + + + Cerca una stringa localizzata simile a Il valore previsto è <{1}>, ma la combinazione di maiuscole/minuscole è diversa per il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È prevista una differenza minore di <{3}> tra il valore previsto <{1}> e il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a Valore previsto: <{1} ({2})>. Valore effettivo: <{3} ({4})>. {0}. + + + + + Cerca una stringa localizzata simile a Valore previsto: <{1}>. Valore effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È prevista una differenza maggiore di <{3}> tra il valore previsto <{1}> e il valore effettivo <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a È previsto un valore qualsiasi eccetto <{1}>. Valore effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a Non passare tipi valore a AreSame(). I valori convertiti in Object non saranno mai uguali. Usare AreEqual(). {0}. + + + + + Cerca una stringa localizzata simile a {0} non riuscita. {1}. + + + + + Cerca una stringa localizzata simile ad async TestMethod con UITestMethodAttribute non supportata. Rimuovere async o usare TestMethodAttribute. + + + + + Cerca una stringa localizzata simile a Le raccolte sono entrambe vuote. {0}. + + + + + Cerca una stringa localizzata simile a Le raccolte contengono entrambe gli stessi elementi. + + + + + Cerca una stringa localizzata simile a I riferimenti a raccolte puntano entrambi allo stesso oggetto Collection. {0}. + + + + + Cerca una stringa localizzata simile a Le raccolte contengono entrambe gli stessi elementi. {0}. + + + + + Cerca una stringa localizzata simile a {0}({1}). + + + + + Cerca una stringa localizzata simile a (Null). + + + + + Cerca una stringa localizzata simile a (oggetto). + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non contiene la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a {0} ({1}). + + + + + Cerca una stringa localizzata simile a Per le asserzioni non usare Assert.Equals, ma preferire Assert.AreEqual e gli overload. + + + + + Cerca una stringa localizzata simile a Il numero di elementi nelle raccolte non corrisponde. Valore previsto: <{1}>. Valore effettivo: <{2}>.{0}. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {0} non corrisponde. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {1} non è del tipo previsto. Tipo previsto: <{2}>. Tipo effettivo: <{3}>.{0}. + + + + + Cerca una stringa localizzata simile a L'elemento alla posizione di indice {1} è (Null). Tipo previsto: <{2}>.{0}. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non termina con la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Argomento non valido: EqualsTester non può usare valori Null. + + + + + Cerca una stringa localizzata simile a Non è possibile convertire un oggetto di tipo {0} in {1}. + + + + + Cerca una stringa localizzata simile a L'oggetto interno a cui si fa riferimento non è più valido. + + + + + Cerca una stringa localizzata simile a Il parametro '{0}' non è valido. {1}. + + + + + Cerca una stringa localizzata simile a Il tipo della proprietà {0} è {1}, ma quello previsto è {2}. + + + + + Cerca una stringa localizzata simile a Tipo previsto di {0}: <{1}>. Tipo effettivo: <{2}>. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non corrisponde al criterio '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Tipo errato: <{1}>. Tipo effettivo: <{2}>. {0}. + + + + + Cerca una stringa localizzata simile a La stringa '{0}' corrisponde al criterio '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Non è stato specificato alcun elemento DataRowAttribute. Con DataTestMethodAttribute è necessario almeno un elemento DataRowAttribute. + + + + + Cerca una stringa localizzata simile a Non è stata generata alcuna eccezione. Era prevista un'eccezione {1}. {0}. + + + + + Cerca una stringa localizzata simile a Il parametro '{0}' non è valido. Il valore non può essere Null. {1}. + + + + + Cerca una stringa localizzata simile a Il numero di elementi è diverso. + + + + + Cerca una stringa localizzata simile a + Il costruttore con la firma specificata non è stato trovato. Potrebbe essere necessario rigenerare la funzione di accesso privata + oppure il membro potrebbe essere privato e definito per una classe di base. In quest'ultimo caso, è necessario passare il tipo + che definisce il membro nel costruttore di PrivateObject. + . + + + + + Cerca una stringa localizzata simile a + Il membro specificato ({0}) non è stato trovato. Potrebbe essere necessario rigenerare la funzione di accesso privata + oppure il membro potrebbe essere privato e definito per una classe di base. In quest'ultimo caso, è necessario passare il tipo + che definisce il membro nel costruttore di PrivateObject. + . + + + + + Cerca una stringa localizzata simile a La stringa '{0}' non inizia con la stringa '{1}'. {2}. + + + + + Cerca una stringa localizzata simile a Il tipo di eccezione previsto deve essere System.Exception o un tipo derivato da System.Exception. + + + + + Cerca una stringa localizzata simile a Non è stato possibile ottenere il messaggio per un'eccezione di tipo {0} a causa di un'eccezione. + + + + + Cerca una stringa localizzata simile a Il metodo di test non ha generato l'eccezione prevista {0}. {1}. + + + + + Cerca una stringa localizzata simile a Il metodo di test non ha generato un'eccezione. È prevista un'eccezione dall'attributo {0} definito nel metodo di test. + + + + + Cerca una stringa localizzata simile a Il metodo di test ha generato l'eccezione {0}, ma era prevista l'eccezione {1}. Messaggio dell'eccezione: {2}. + + + + + Cerca una stringa localizzata simile a Il metodo di test ha generato l'eccezione {0}, ma era prevista l'eccezione {1} o un tipo derivato da essa. Messaggio dell'eccezione: {2}. + + + + + Cerca una stringa localizzata simile a È stata generata l'eccezione {2}, ma era prevista un'eccezione {1}. {0} + Messaggio dell'eccezione: {3} + Analisi dello stack: {4}. + + + + + risultati degli unit test + + + + + Il test è stato eseguito, ma si sono verificati errori. + Gli errori possono implicare eccezioni o asserzioni non riuscite. + + + + + Il test è stato completato, ma non è possibile determinare se è stato o meno superato. + Può essere usato per test interrotti. + + + + + Il test è stato eseguito senza problemi. + + + + + Il test è attualmente in corso. + + + + + Si è verificato un errore di sistema durante il tentativo di eseguire un test. + + + + + Timeout del test. + + + + + Il test è stato interrotto dall'utente. + + + + + Il test si trova in uno stato sconosciuto + + + + + Fornisce la funzionalità di helper per il framework degli unit test + + + + + Ottiene i messaggi di eccezione in modo ricorsivo, inclusi quelli relativi a + tutte le eccezioni interne + + Eccezione per cui ottenere i messaggi + stringa con le informazioni sul messaggio di errore + + + + Enumerazione per i timeout, che può essere usata con la classe . + Il tipo dell'enumerazione deve corrispondere + + + + + Valore infinito. + + + + + Attributo della classe di test. + + + + + Ottiene un attributo di metodo di test che consente di eseguire questo test. + + Istanza di attributo del metodo di test definita in questo metodo. + Oggetto da usare per eseguire questo test. + Extensions can override this method to customize how all methods in a class are run. + + + + Attributo del metodo di test. + + + + + Esegue un metodo di test. + + Metodo di test da eseguire. + Matrice di oggetti TestResult che rappresentano il risultato o i risultati del test. + Extensions can override this method to customize running a TestMethod. + + + + Attributo di inizializzazione test. + + + + + Attributo di pulizia dei test. + + + + + Attributo ignore. + + + + + Attributo della proprietà di test. + + + + + Inizializza una nuova istanza della classe . + + + Nome. + + + Valore. + + + + + Ottiene il nome. + + + + + Ottiene il valore. + + + + + Attributo di inizializzazione classi. + + + + + Attributo di pulizia delle classi. + + + + + Attributo di inizializzazione assembly. + + + + + Attributo di pulizia degli assembly. + + + + + Proprietario del test + + + + + Inizializza una nuova istanza della classe . + + + Proprietario. + + + + + Ottiene il proprietario. + + + + + Attributo Priority; usato per specificare la priorità di uno unit test. + + + + + Inizializza una nuova istanza della classe . + + + Priorità. + + + + + Ottiene la priorità. + + + + + Descrizione del test + + + + + Inizializza una nuova istanza della classe per descrivere un test. + + Descrizione. + + + + Ottiene la descrizione di un test. + + + + + URI della struttura di progetto CSS + + + + + Inizializza una nuova istanza della classe per l'URI della struttura di progetto CSS. + + URI della struttura di progetto CSS. + + + + Ottiene l'URI della struttura di progetto CSS. + + + + + URI dell'iterazione CSS + + + + + Inizializza una nuova istanza della classe per l'URI dell'iterazione CSS. + + URI dell'iterazione CSS. + + + + Ottiene l'URI dell'iterazione CSS. + + + + + Attributo WorkItem; usato per specificare un elemento di lavoro associato a questo test. + + + + + Inizializza una nuova istanza della classe per l'attributo WorkItem. + + ID di un elemento di lavoro. + + + + Ottiene l'ID di un elemento di lavoro associato. + + + + + Attributo Timeout; usato per specificare il timeout di uno unit test. + + + + + Inizializza una nuova istanza della classe . + + + Timeout. + + + + + Inizializza una nuova istanza della classe con un timeout preimpostato + + + Timeout + + + + + Ottiene il timeout. + + + + + Oggetto TestResult da restituire all'adattatore. + + + + + Inizializza una nuova istanza della classe . + + + + + Ottiene o imposta il nome visualizzato del risultato. Utile quando vengono restituiti più risultati. + Se è Null, come nome visualizzato viene usato il nome del metodo. + + + + + Ottiene o imposta il risultato dell'esecuzione dei test. + + + + + Ottiene o imposta l'eccezione generata quando il test non viene superato. + + + + + Ottiene o imposta l'output del messaggio registrato dal codice del test. + + + + + Ottiene o imposta l'output del messaggio registrato dal codice del test. + + + + + Ottiene o imposta le tracce di debug in base al codice del test. + + + + + Gets or sets the debug traces by test code. + + + + + Ottiene o imposta la durata dell'esecuzione dei test. + + + + + Ottiene o imposta l'indice della riga di dati nell'origine dati. Impostare solo per risultati di singole + esecuzioni della riga di dati di un test basato sui dati. + + + + + Ottiene o imposta il valore restituito del metodo di test. Attualmente è sempre Null. + + + + + Ottiene o imposta i file di risultati allegati dal test. + + + + + Specifica la stringa di connessione, il nome tabella e il metodo di accesso alle righe per test basati sui dati. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nome del provider predefinito per DataSource. + + + + + Metodo predefinito di accesso ai dati. + + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con un provider di dati, la stringa di connessione, la tabella dati e il metodo di accesso ai dati per accedere all'origine dati. + + Nome del provider di dati non dipendente da paese/area geografica, ad esempio System.Data.SqlClient + + Stringa di connessione specifica del provider di dati. + AVVISO: la stringa di connessione può contenere dati sensibili, ad esempio una password. + La stringa di connessione è archiviata in formato testo normale nel codice sorgente e nell'assembly compilato. + Limitare l'accesso al codice sorgente e all'assembly per proteggere questi dati sensibili. + + Nome della tabella dati. + Specifica l'ordine per l'accesso ai dati. + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con una stringa di connessione e un nome tabella. + Specificare la stringa di connessione e la tabella dati per accedere all'origine dati OLEDB. + + + Stringa di connessione specifica del provider di dati. + AVVISO: la stringa di connessione può contenere dati sensibili, ad esempio una password. + La stringa di connessione è archiviata in formato testo normale nel codice sorgente e nell'assembly compilato. + Limitare l'accesso al codice sorgente e all'assembly per proteggere questi dati sensibili. + + Nome della tabella dati. + + + + Inizializza una nuova istanza della classe . Questa istanza verrà inizializzata con un provider di dati e la stringa di connessione associata al nome dell'impostazione. + + Nome di un'origine dati trovata nella sezione <microsoft.visualstudio.qualitytools> del file app.config. + + + + Ottiene un valore che rappresenta il provider di dati dell'origine dati. + + + Nome del provider di dati. Se non è stato designato un provider di dati durante l'inizializzazione dell'oggetto, verrà restituito il provider predefinito di System.Data.OleDb. + + + + + Ottiene un valore che rappresenta la stringa di connessione per l'origine dati. + + + + + Ottiene un valore che indica il nome della tabella che fornisce i dati. + + + + + Ottiene il metodo usato per accedere all'origine dati. + + + + Uno dei valori di . Se non è inizializzato, restituirà il valore predefinito . + + + + + Ottiene il nome di un'origine dati trovata nella sezione <microsoft.visualstudio.qualitytools> del file app.config. + + + + + Attributo per il test basato sui dati in cui è possibile specificare i dati inline. + + + + + Trova tutte le righe di dati e le esegue. + + + Metodo di test. + + + Matrice di istanze di . + + + + + Esegue il metodo di test basato sui dati. + + Metodo di test da eseguire. + Riga di dati. + Risultati dell'esecuzione. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..7f0704e --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + テスト配置ごとに配置項目 (ファイルまたはディレクトリ) を指定するために使用されます。 + テスト クラスまたはテスト メソッドで指定できます。 + 属性に複数のインスタンスを指定して、2 つ以上の項目を指定することができます。 + 項目のパスには絶対パスまたは相対パスを指定できます。相対パスの場合は、RunConfig.RelativePathRoot からの相対パスです。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + クラスの新しいインスタンスを初期化します。 + + 配置するファイルまたはディレクトリ。パスはビルドの出力ディレクトリの相対パスです。項目は配置されたテスト アセンブリと同じディレクトリにコピーされます。 + + + + クラスの新しいインスタンスを初期化する + + 配置するファイルまたはディレクトリへの相対パスまたは絶対パス。パスはビルドの出力ディレクトリの相対パスです。項目は配置されたテスト アセンブリと同じディレクトリにコピーされます。 + アイテムのコピー先のディレクトリのパス。配置ディレクトリへの絶対パスまたは相対パスのいずれかを指定できます。次で識別されるすべてのファイルとディレクトリは このディレクトリにコピーされます。 + + + + コピーするソース ファイルまたはフォルダーのパスを取得します。 + + + + + 項目のコピー先のディレクトリのパスを取得します。 + + + + + Windows ストア アプリの UI スレッドでテスト コードを実行します。 + + + + + UI スレッドで対象テスト メソッドを実行します。 + + + テスト メソッド。 + + + 次の配列 インスタンス。 + + Throws when run on an async test method. + + + + + TestContext クラス。このクラスは完全に抽象的でなければならず、かつメンバー + を含んでいてはなりません。アダプターはメンバーを実装します。フレームワーク内のユーザーは + 正しく定義されたインターフェイスを介してのみこのクラスにアクセスする必要があります。 + + + + + テストのテスト プロパティを取得します。 + + + + + 現在実行中のテスト メソッドを含むクラスの完全修飾名を取得する + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + 現在実行中のテスト メソッドの名前を取得する + + + + + 現在のテスト成果を取得します。 + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..922b5b1 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 実行用の TestMethod。 + + + + + テスト メソッドの名前を取得します。 + + + + + テスト クラスの名前を取得します。 + + + + + テスト メソッドの戻り値の型を取得します。 + + + + + テスト メソッドのパラメーターを取得します。 + + + + + テスト メソッドの methodInfo を取得します。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + テスト メソッドを呼び出します。 + + + テスト メソッドに渡す引数。(データ ドリブンの場合など) + + + テスト メソッド呼び出しの結果。 + + + This call handles asynchronous test methods as well. + + + + + テスト メソッドのすべての属性を取得します。 + + + 親クラスで定義されている属性が有効かどうか。 + + + すべての属性。 + + + + + 特定の型の属性を取得します。 + + System.Attribute type. + + 親クラスで定義されている属性が有効かどうか。 + + + 指定した種類の属性。 + + + + + ヘルパー。 + + + + + null でない確認パラメーター。 + + + パラメーター。 + + + パラメーター名。 + + + メッセージ。 + + Throws argument null exception when parameter is null. + + + + null または空でない確認パラメーター。 + + + パラメーター。 + + + パラメーター名。 + + + メッセージ。 + + Throws ArgumentException when parameter is null. + + + + データ ドリブン テストのデータ行にアクセスする方法の列挙型。 + + + + + 行は順番に返されます。 + + + + + 行はランダムに返されます。 + + + + + テスト メソッドのインライン データを定義する属性。 + + + + + クラスの新しいインスタンスを初期化します。 + + データ オブジェクト。 + + + + 引数の配列を受け入れる クラスの新しいインスタンスを初期化します。 + + データ オブジェクト。 + 追加のデータ。 + + + + テスト メソッドを呼び出すデータを取得します。 + + + + + カスタマイズするために、テスト結果の表示名を取得または設定します。 + + + + + assert inconclusive 例外。 + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + InternalTestFailureException クラス。テスト ケースの内部エラーを示すために使用されます + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + クラスの新しいインスタンスを初期化します。 + + 例外メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + 例外メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + 指定した型の例外を予期するよう指定する属性 + + + + + 予期される型を指定して、 クラスの新しいインスタンスを初期化する + + 予期される例外の型 + + + + 予期される型と、テストで例外がスローされない場合に含めるメッセージとを指定して + クラスの新しいインスタンスを初期化します。 + + 予期される例外の型 + + 例外がスローされなかったことが原因でテストが失敗した場合に、テスト結果に含まれるメッセージ + + + + + 予期される例外の型を示す値を取得する + + + + + 予期される例外の型から派生した型を予期される型として使用できるかどうかを示す値を + 取得または設定する + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 単体テストでスローされる例外の型が予期される型であることを検証する + + 単体テストでスローされる例外 + + + + 単体テストからの例外を予期するように指定する属性の基底クラス + + + + + 既定の例外なしメッセージを指定して クラスの新しいインスタンスを初期化する + + + + + 例外なしメッセージを指定して クラスの新しいインスタンスを初期化します + + + 例外がスローされなかったことが原因でテストが失敗した場合に、 + テスト結果に含まれるメッセージ + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 例外がスローされなかったためにテストが失敗した場合にテスト結果に含めるメッセージを取得する + + + + + 既定の例外なしメッセージを取得する + + ExpectedException 属性の型名 + 既定の例外なしメッセージ + + + + 例外が予期されているかどうかを判断します。メソッドが戻る場合は、 + 例外が予期されていたと解釈されます。メソッドが例外をスローする場合は、 + 例外が予期されていなかったと解釈され、スローされた例外のメッセージが + テスト結果に含められます。便宜上、 クラスを使用できます。 + が使用され、アサーションが失敗すると、 + テスト成果は [結果不確定] に設定されます。 + + 単体テストでスローされる例外 + + + + AssertFailedException または AssertInconclusiveException である場合に、例外を再スローする + + アサーション例外である場合に再スローされる例外 + + + + このクラスは、ジェネリック型を使用する型の単体テストを実行するユーザーを支援するように設計されています。 + GenericParameterHelper は、次のようないくつかの共通ジェネリック型制約を + 満たしています: + 1. パブリックの既定のコンストラクター + 2. 共通インターフェイスを実装します: IComparable、IEnumerable + + + + + C# ジェネリックの 'newable' 制約を満たす + クラスの新しいインスタンスを初期化します。 + + + This constructor initializes the Data property to a random value. + + + + + Data プロパティをユーザー指定の値に初期化する クラスの + 新しいインスタンスを初期化します。 + + 任意の整数値 + + + + データを取得または設定する + + + + + 2 つの GenericParameterHelper オブジェクトの値の比較を実行する + + 次との比較を実行するオブジェクト + オブジェクトの値が 'this' GenericParameterHelper オブジェクトと同じ値である場合は true。 + それ以外の場合は、false。 + + + + このオブジェクトのハッシュコードを返します。 + + ハッシュ コード。 + + + + 2 つの オブジェクトのデータを比較します。 + + 比較対象のオブジェクト。 + + このインスタンスと値の相対値を示す符号付きの数値。 + + + Thrown when the object passed in is not an instance of . + + + + + 長さが Data プロパティから派生している IEnumerator オブジェクト + を返します。 + + IEnumerator オブジェクト + + + + 現在のオブジェクトに相当する GenericParameterHelper + オブジェクトを返します。 + + 複製されたオブジェクト。 + + + + ユーザーが診断用に単体テストからトレースをログ記録/書き込みできるようにします。 + + + + + LogMessage のハンドラー。 + + ログに記録するメッセージ。 + + + + リッスンするイベント。単体テスト ライターがメッセージを書き込むときに発生します。 + 主にアダプターによって消費されます。 + + + + + テスト ライターがメッセージをログ記録するために呼び出す API。 + + プレースホルダーを含む文字列形式。 + プレースホルダーのパラメーター。 + + + + TestCategory 属性。単体テストのカテゴリを指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化し、カテゴリをテストに適用します。 + + + テスト カテゴリ。 + + + + + テストに適用されているテスト カテゴリを取得します。 + + + + + "Category" 属性の基底クラス + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + クラスの新しいインスタンスを初期化します。 + カテゴリをテストに適用します。TestCategories で返される文字列は + テストをフィルター処理する /category コマンドで使用されます + + + + + テストに適用されているテスト カテゴリを取得します。 + + + + + AssertFailedException クラス。テスト ケースのエラーを示すために使用されます + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + クラスの新しいインスタンスを初期化します。 + + + + + 単体テスト内のさまざまな条件をテストするヘルパー クラスの + コレクション。テスト対象の条件を満たしていない場合は、 + 例外がスローされます。 + + + + + Assert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + Thrown if is false. + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + false の場合。メッセージはテスト結果に表示されます。 + + + Thrown if is false. + + + + + 指定した条件が true であるかどうかをテストして、条件が false の場合は + 例外をスローします。 + + + テストで true であることが予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + false の場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is false. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + Thrown if is true. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + true の場合。メッセージはテスト結果に表示されます。 + + + Thrown if is true. + + + + + 指定した条件が false であるかどうかをテストして、 + 条件が true である場合は例外をスローします。 + + + テストで false であると予期される条件。 + + + 次の場合に、例外に含まれるメッセージ + true の場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is true. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null でない場合。メッセージはテスト結果に表示されます。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null であるかどうかをテストして、 + null でない場合は例外をスローします。 + + + テストで null であると予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null でない場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + Thrown if is null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null である場合。メッセージはテスト結果に表示されます。 + + + Thrown if is null. + + + + + 指定したオブジェクトが null 以外であるかどうかをテストして、 + null である場合は例外をスローします。 + + + テストで null 出ないと予期されるオブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + null である場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is null. + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + Thrown if does not refer to the same object + as . + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not refer to the same object + as . + + + + + 指定した両方のオブジェクトが同じオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照しない場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで予期される値です。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not refer to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + Thrown if refers to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + と同じである場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if refers to the same object + as . + + + + + 指定したオブジェクトが別のオブジェクトを参照するかどうかをテストして、 + 2 つの入力が同じオブジェクトを参照する場合は例外をスローします。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + と同じである場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if refers to the same object + as . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + Thrown if is not equal to . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定した値どうしが等しいかどうかをテストして、 + 2 つの値が等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで予期される値です。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + Thrown if is equal to . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した値どうしが等しくないかどうかをテストして、 + 2 つの値が等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + The type of values to compare. + + + 比較する最初の値。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目の値。これはテストのコードで生成される値です。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しいかどうかをテストして、 + 2 つのオブジェクトが等しくない場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで予期されるオブジェクトです。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトどうしが等しくないかどうかをテストして、 + 2 つのオブジェクトが等しい場合は例外をスローします。論理値が等しい場合であっても、異なる数値型は + 等しくないものとして処理されます。42L は 42 とは等しくありません。 + + + 比較する最初のオブジェクト。これはテストで次と一致しないと予期される + 値です 。 + + + 比較する 2 番目のオブジェクト。これはテストのコードで生成されるオブジェクトです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで予期される浮動小数です。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した浮動小数どうしが等しくないかどうかをテストして、 + 等しい場合は例外をスローします。 + + + 比較する最初の浮動小数。これはテストで次と一致しないと予期される + 浮動小数です 。 + + + 比較する 2 番目の浮動小数。これはテストのコードで生成される浮動小数です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + Thrown if is not equal to + . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した倍精度浮動小数点数どうしが等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の倍精度浮動小数点型。これはテストで予期される倍精度浮動小数点型です。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 次の値を超える差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + と異なる 次の値を超える差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if is equal to . + + + + + Tests whether the specified doubles are unequal and throws an exception + if they are equal. + + + 比較する最初の倍精度浮動小数点型。これはテストで次と一致しないと予期される + 倍精度浮動小数点型です 。 + + + 比較する 2 番目の倍精度浮動小数点型。これはテストのコードで生成される倍精度浮動小数点型です。 + + + 必要な精度。次の場合にのみ、例外がスローされます + 次と異なる場合 + 最大でも次の値の差異がある場合 。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 または次の値未満の差異がある場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しいかどうかをテストして、 + 等しくない場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで予期される文字列です。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして、 + 等しい場合は例外をスローします。比較にはインバリアント カルチャが使用されます。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定した文字列が等しくないかどうかをテストして + 等しい場合は例外をスローします。 + + + 比較する最初の文字列。これはテストで次と一致しないと予期される + 文字列です 。 + + + 比較する 2 番目の文字列。これはテストのコードで生成される文字列です。 + + + 大文字と小文字を区別する比較か、大文字と小文字を区別しない比較かを示すブール値。(true + は大文字と小文字を区別しない比較を示します。) + + + カルチャ固有の比較情報を提供する CultureInfo オブジェクト。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが予期した型のインスタンスであるかどうかをテストして、 + 予期した型がオブジェクトの継承階層にない場合は + 例外をスローします。 + + + テストで特定の型であると予期されるオブジェクト。 + + + 次の予期される型 。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスである場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 指定したオブジェクトが間違った型のインスタンスでないかどうかをテストして、 + 指定した型がオブジェクトの継承階層にある場合は + 例外をスローします。 + + + テストで特定の型でないと予期されるオブジェクト。 + + + 次である型 必要のない。 + + + 次の場合に、例外に含まれるメッセージ + 次のインスタンスである場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + AssertFailedException をスローします。 + + + Always thrown. + + + + + AssertFailedException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Always thrown. + + + + + AssertFailedException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Always thrown. + + + + + AssertInconclusiveException をスローします。 + + + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Always thrown. + + + + + 静的な Equals オーバーロードは、2 つの型のインスタンスを比較して参照の等価性を調べる + ために使用されます。2 つのインスタンスを比較して等価性を調べるためにこのメソッドを使用 + することはできません。このオブジェクトは常に Assert.Fail を使用してスロー + します。単体テストでは、Assert.AreEqual および関連するオーバーロードをご使用ください。 + + オブジェクト A + オブジェクト B + 常に false。 + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + 次の場合に、例外に含まれるメッセージ + 型の例外をスローしません 。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + スローされることが予期される例外の種類。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に + + AssertFailedException + + をスローするかどうかをテストします。 + + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に AssertFailedException をスローするかどうかをテストします。 + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + 次の場合に、例外に含まれるメッセージ + 以下の型の例外をスローしない場合。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + デリゲート によって指定されたコードが型 (派生型ではない) の指定されたとおりの例外をスローするかどうか、 + およびコードが例外をスローしない場合や 以外の型の例外をスローする場合に AssertFailedException をスローするかどうかをテストします。 + + テスト対象であり、例外をスローすると予期されるコードにデリゲートします。 + + 次の場合に、例外に含まれるメッセージ + 以下の型の例外をスローしない場合。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + その (デリゲートを実行中)。 + + + + + null 文字 ('\0') を "\\0" に置き換えます。 + + + 検索する文字列。 + + + "\\0" で置き換えられた null 文字を含む変換された文字列。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException を作成して、スローするヘルパー関数 + + + 例外をスローするアサーションの名前 + + + アサーション エラーの条件を記述するメッセージ + + + パラメーター。 + + + + + 有効な条件であるかパラメーターを確認します + + + パラメーター。 + + + アサーション名。 + + + パラメーター名 + + + 無効なパラメーター例外のメッセージ + + + パラメーター。 + + + + + 安全にオブジェクトを文字列に変換し、null 値と null 文字を処理します。 + null 値は "(null)" に変換されます。null 文字は "\\0" に変換されます。 + + + 文字列に変換するオブジェクト。 + + + 変換された文字列。 + + + + + 文字列のアサート。 + + + + + CollectionAssert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + Thrown if is not found in + . + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not found in + . + + + + + 指定した文字列に指定したサブ文字列が含まれているかどうかをテストして、 + テスト文字列内にサブ文字列が含まれていない場合は例外を + スローします。 + + + 次を含むと予期される文字列 。 + + + 次の内部で発生することが予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not found in + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 先頭が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の先頭が指定したサブ文字列であるかどうかをテストして + テスト文字列の先頭がサブ文字列でない場合は + 例外をスローします。 + + + 先頭が次であると予期される文字列 。 + + + 次のプレフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 先頭が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not begin with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + Thrown if does not end with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 末尾が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not end with + . + + + + + 指定した文字列の末尾が指定したサブ文字列であるかどうかをテストして、 + テスト文字列の末尾がサブ文字列でない場合は + 例外をスローします。 + + + 末尾が次であることが予期される文字列 。 + + + 次のサフィックスであると予期される文字列 。 + + + 次の場合に、例外に含まれるメッセージ + 末尾が次ではない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not end with + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致しない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致するかどうかをテストして、 + 文字列が表現と一致しない場合は例外をスローします。 + + + 次と一致すると予期される文字列 。 + + + 次である正規表現 is + 一致することが予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致しない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if does not match + . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + Thrown if matches . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致する場合 。メッセージはテスト結果に + 表示されます。 + + + Thrown if matches . + + + + + 指定した文字列が正規表現と一致しないかどうかをテストして、 + 文字列が表現と一致する場合は例外をスローします。 + + + 次と一致しないと予期される文字列 。 + + + 次である正規表現 is + 一致しないと予期される。 + + + 次の場合に、例外に含まれるメッセージ + 一致する場合 。メッセージはテスト結果に + 表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if matches . + + + + + 単体テスト内のコレクションと関連付けられている + さまざまな条件をテストするヘルパー クラスのコレクション。テスト対象の条件を満たしていない場合は、 + 例外がスローされます。 + + + + + CollectionAssert 機能の単一インスタンスを取得します。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれているかどうかをテストして、 + 要素がコレクションにない場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内にあると予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + 次にない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + Thrown if is found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + が次にある場合 。メッセージはテスト結果に + 表示されます。 + + + Thrown if is found in + . + + + + + 指定したコレクションに指定した要素が含まれていないかどうかをテストして、 + 要素がコレクション内にある場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + コレクション内に存在しないことが予期される要素。 + + + 次の場合に、例外に含まれるメッセージ + が次にある場合 。メッセージはテスト結果に + 表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is found in + . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + null 要素を含む場合。メッセージはテスト結果に表示されます。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが null 以外であるかどうかをテストして、 + いずれかの要素が null である場合は例外をスローします。 + + + 要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + null 要素を含む場合。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if a null element is found in . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + Thrown if a two or more equal elements are found in + . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + 少なくとも 1 つの重複する要素が含まれています。メッセージは + テスト結果に表示されます。 + + + Thrown if a two or more equal elements are found in + . + + + + + 指定したコレクション内のすべてのアイテムが一意であるかどうかをテストして、 + コレクション内のいずれかの 2 つの要素が等しい場合はスローします。 + + + 重複する要素を検索するコレクション。 + + + 次の場合に、例外に含まれるメッセージ + 少なくとも 1 つの重複する要素が含まれています。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if a two or more equal elements are found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次に見つからない場合 . + メッセージはテスト結果に表示されます。 + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットであるかどうかをテストして、 + スーパーセットにない要素がサブセットに入っている場合は + 例外をスローします。 + + + 次のサブセットであると予期されるコレクション 。 + + + 次のスーパーセットであると予期されるコレクション + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次に見つからない場合 . + メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element in is not found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + Thrown if every element in is also found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + 次にあるすべての要素が次である場合に、例外に含まれるメッセージ + 次にもある場合 . + メッセージはテスト結果に表示されます。 + + + Thrown if every element in is also found in + . + + + + + コレクションが別のコレクションのサブセットでないかどうかをテストして、 + サブセット内のすべての要素がスーパーセットにもある場合は + 例外をスローします。 + + + のサブセットではないと予期されるコレクション 。 + + + 次のスーパーセットであるとは予期されないコレクション + + + 次にあるすべての要素が次である場合に、例外に含まれるメッセージ + 次にもある場合 . + メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if every element in is also found in + . + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 要素が 2 つのコレクションのどちらかのみに見つかった場合に + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに同じ要素が含まれているかどうかをテストして、 + いずれかのコレクションにもう一方のコレクション内にない要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これにはテストで予期される + 要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 要素が 2 つのコレクションのどちらかのみに見つかった場合に + 例外に含まれるメッセージ。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じ要素を含む場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 2 つのコレクションに異なる要素が含まれているかどうかをテストして、 + 順番に関係なく、2 つのコレクションに同一の要素が含まれている場合は例外を + スローします。 + + + 比較する最初のコレクション。これには実際のコレクションと異なると + テストで予期される要素が含まれます。 + + + 比較する 2 番目のコレクション。これはテストのコードで + 生成されるコレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と同じ要素を含む場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 + 。メッセージはテスト結果に表示されます。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクション内のすべての要素が指定した型のインスタンスであるかどうかをテストして、 + 指定した型が 1 つ以上の要素 + の継承階層にない場合は例外をスローします。 + + + テストで特定の型であると予期される要素を + 含むコレクション。 + + + 次の各要素の予期される型 。 + + + 次にある要素が次の条件である場合に、例外に含まれるメッセージ + 次のインスタンスではない場合 + 。メッセージはテスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しいかどうかをテストして、 + 2 つのコレクションが等しくない場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで予期されるコレクションです。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しくない場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is not equal to + . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + Thrown if is equal to . + + + + + 指定したコレクションが等しくないかどうかをテストして、 + 2 つのコレクションが等しい場合は例外をスローします。等値は、順序と数が同じである同じ要素を含むものとして + 定義されています。同じ値への異なる参照は + 等しいものとして見なされます。 + + + 比較する最初のコレクション。これはテストで次と一致しないことが予期される + コレクションです 。 + + + 比較する 2 番目のコレクション。これはテストのコードで生成される + コレクションです。 + + + コレクションの要素を比較する場合に使用する比較の実装。 + + + 次の場合に、例外に含まれるメッセージ + 次と等しい場合 。メッセージは + テスト結果に表示されます。 + + + の書式を設定する場合に使用するパラメーターの配列 。 + + + Thrown if is equal to . + + + + + 最初のコレクションが 2 番目のコレクションのサブセットであるかどうかを + 決定します。いずれかのセットに重複する要素が含まれている場合は、 + サブセット内の要素の出現回数は + スーパーセット内の出現回数以下である必要があります。 + + + テストで次に含まれると予期されるコレクション 。 + + + テストで次を含むと予期されるコレクション 。 + + + 次の場合は true 次のサブセットの場合 + 、それ以外の場合は false。 + + + + + 指定したコレクションの各要素の出現回数を含む + 辞書を構築します。 + + + 処理するコレクション。 + + + コレクション内の null 要素の数。 + + + 指定したコレクション内の各要素の + 出現回数を含むディレクトリ。 + + + + + 2 つのコレクション間で一致しない要素を検索します。 + 一致しない要素とは、予期されるコレクションでの出現回数が + 実際のコレクションでの出現回数と異なる要素のことです。 + コレクションは、同じ数の要素を持つ、null ではない + さまざまな参照と見なされます。このレベルの検証を行う責任は + 呼び出し側にあります。一致しない要素がない場合、 + 関数は false を返し、out パラメーターは使用されません。 + + + 比較する最初のコレクション。 + + + 比較する 2 番目のコレクション。 + + + 次の予期される発生回数 + または一致しない要素がない場合は + 0 です。 + + + 次の実際の発生回数 + または一致しない要素がない場合は + 0 です。 + + + 一致しない要素 (null の場合があります)、または一致しない要素がない場合は + null です。 + + + 一致しない要素が見つかった場合は true、それ以外の場合は false。 + + + + + object.Equals を使用してオブジェクトを比較する + + + + + フレームワーク例外の基底クラス。 + + + + + クラスの新しいインスタンスを初期化します。 + + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + 例外。 + + + + クラスの新しいインスタンスを初期化します。 + + メッセージ。 + + + + ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラス。 + + + + + このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。 + + + + + 厳密に型指定されたこのリソース クラスを使用して、現在のスレッドの + CurrentUICulture プロパティをすべてのリソース ルックアップで無視します。 + + + + + "アクセス文字列は無効な構文を含んでいます。" に類似したローカライズされた文字列を検索します。 + + + + + "予期されたコレクションでは、<{2}> が {1} 回発生します。実際のコレクションでは、{3} 回発生します。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "重複する項目が見つかりました:<{1}>。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> が必要です。実際の値: <{2}> では大文字と小文字が異なります。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "指定する値 <{1}> と実際の値 <{2}> との間には <{3}> 以内の差が必要です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1} ({2})> が必要ですが、<{3} ({4})> が指定されました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> が必要ですが、<{2}> が指定されました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "指定する値 <{1}> と実際の値 <{2}> との間には <{3}> を超える差が必要です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "<{1}> 以外の任意の値が必要ですが、<{2}> が指定されています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "AreSame() に値型を渡すことはできません。オブジェクトに変換された値は同じになりません。AreEqual() を使用することを検討してください。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "{0} に失敗しました。{1}" に類似したローカライズされた文字列を検索します。 + + + + + "UITestMethodAttribute が指定された非同期の TestMethod はサポートされていません。非同期を削除するか、TestMethodAttribute を使用してください。" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが空です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが同じ要素を含んでいます。" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションの参照が、同じコレクション オブジェクトにポイントしています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "両方のコレクションが同じ要素を含んでいます。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "{0}({1})" に類似したローカライズされた文字列を検索します。 + + + + + "(null)" に類似したローカライズされた文字列を検索します。 + + + + + Looks up a localized string similar to (object). + + + + + "文字列 '{0}' は文字列 '{1}' を含んでいません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "{0} ({1})" に類似したローカライズされた文字列を検索します。 + + + + + "アサーションには Assert.Equals を使用せずに、Assert.AreEqual とオーバーロードを使用してください。" に類似したローカライズされた文字列を検索します。 + + + + + "コレクション内の要素数が一致しません。<{1}> が必要ですが <{2}> が指定されています。{0}。" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {0} の要素が一致しません。" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {1} の要素は、必要な型ではありません。<{2}> が必要ですが、<{3}> が指定されています。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "インデックス {1} の要素は null です。必要な型:<{2}>。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' は文字列 '{1}' で終わりません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "無効な引数 - EqualsTester は null を使用することはできません。" に類似したローカライズされた文字列を検索します。 + + + + + "型 {0} のオブジェクトを {1} に変換できません。" に類似したローカライズされた文字列を検索します。 + + + + + "参照された内部オブジェクトは、現在有効ではありません。" に類似したローカライズされた文字列を検索します。 + + + + + "パラメーター '{0}' は無効です。{1}。" に類似したローカライズされた文字列を検索します。 + + + + + "プロパティ {0} は型 {1} を含んでいますが、型 {2} が必要です。" に類似したローカライズされた文字列を検索します。 + + + + + "{0} には型 <{1}> が必要ですが、型 <{2}> が指定されました。" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' は、パターン '{1}' と一致しません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "正しくない型は <{1}> であり、実際の型は <{2}> です。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "文字列 '{0}' はパターン '{1}' と一致します。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "DataRowAttribute が指定されていません。DataTestMethodAttribute では少なくとも 1 つの DataRowAttribute が必要です。" に類似したローカライズされた文字列を検索します。 + + + + + "例外がスローされませんでした。{1} の例外が予期されていました。{0}" に類似したローカライズされた文字列を検索します。 + + + + + "パラメーター '{0}' は無効です。値を null にすることはできません。{1}。" に類似したローカライズされた文字列を検索します。 + + + + + "要素数が異なります。" に類似したローカライズされた文字列を検索します。 + + + + + "指定されたシグネチャを使用するコンストラクターが見つかりませんでした。 + プライベート アクセサーを再生成しなければならないか、 + またはメンバーがプライベートであり、基底クラスで定義されている可能性があります。後者である場合、メンバーを + PrivateObject のコンストラクターに定義する型を渡す必要があります。" に類似したローカライズされた文字列を検索します。 + + + + + + "指定されたメンバー ({0}) が見つかりませんでした。プライベート アクセサーを再生成しなければならないか、 + またはメンバーがプライベートであり、基底クラスで定義されている可能性があります。後者である場合、メンバーを + 定義する型を PrivateObject のコンストラクターに渡す必要があります。" + に類似したローカライズされた文字列を検索します。 + + + + + + "文字列 '{0}' は文字列 '{1}' で始まりません。{2}。" に類似したローカライズされた文字列を検索します。 + + + + + "予期される例外の型は System.Exception または System.Exception の派生型である必要があります。" に類似したローカライズされた文字列を検索します。 + + + + + "(例外が発生したため、型 {0} の例外のメッセージを取得できませんでした。)" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは予期された例外 {0} をスローしませんでした。{1}" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは例外をスローしませんでした。テスト メソッドで定義されている属性 {0} で例外が予期されていました。" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは、例外 {0} をスローしましたが、例外 {1} が予期されていました。例外メッセージ: {2}" に類似したローカライズされた文字列を検索します。 + + + + + "テスト メソッドは、例外 {0} をスローしましたが、例外 {1} またはその派生型が予期されていました。例外メッセージ: {2}" に類似したローカライズされた文字列を検索します。 + + + + + "例外 {2} がスローされましたが、例外 {1} が予期されていました。{0} + 例外メッセージ: {3} + スタック トレース: {4}" に類似したローカライズされた文字列を検索します。 + + + + + 単体テストの成果 + + + + + テストを実行しましたが、問題が発生しました。 + 問題には例外または失敗したアサーションが関係している可能性があります。 + + + + + テストが完了しましたが、成功したか失敗したかは不明です。 + 中止したテストに使用される場合があります。 + + + + + 問題なくテストが実行されました。 + + + + + 現在テストを実行しています。 + + + + + テストを実行しようとしているときにシステム エラーが発生しました。 + + + + + テストがタイムアウトしました。 + + + + + ユーザーによってテストが中止されました。 + + + + + テストは不明な状態です + + + + + 単体テストのフレームワークのヘルパー機能を提供する + + + + + すべての内部例外のメッセージなど、例外メッセージを + 再帰的に取得します + + 次のメッセージを取得する例外 + エラー メッセージ情報を含む文字列 + + + + クラスで使用できるタイムアウトの列挙型。 + 列挙型の型は一致している必要があります + + + + + 無限。 + + + + + テスト クラス属性。 + + + + + このテストの実行を可能するテスト メソッド属性を取得します。 + + このメソッドで定義されているテスト メソッド属性インスタンス。 + The 。このテストを実行するために使用されます。 + Extensions can override this method to customize how all methods in a class are run. + + + + テスト メソッド属性。 + + + + + テスト メソッドを実行します。 + + 実行するテスト メソッド。 + テストの結果を表す TestResult オブジェクトの配列。 + Extensions can override this method to customize running a TestMethod. + + + + テスト初期化属性。 + + + + + テスト クリーンアップ属性。 + + + + + Ignore 属性。 + + + + + テストのプロパティ属性。 + + + + + クラスの新しいインスタンスを初期化します。 + + + 名前。 + + + 値。 + + + + + 名前を取得します。 + + + + + 値を取得します。 + + + + + クラス初期化属性。 + + + + + クラス クリーンアップ属性。 + + + + + アセンブリ初期化属性。 + + + + + アセンブリ クリーンアップ属性。 + + + + + テストの所有者 + + + + + クラスの新しいインスタンスを初期化します。 + + + 所有者。 + + + + + 所有者を取得します。 + + + + + 優先順位属性。単体テストの優先順位を指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化します。 + + + 優先順位。 + + + + + 優先順位を取得します。 + + + + + テストの説明 + + + + + テストを記述する クラスの新しいインスタンスを初期化します。 + + 説明。 + + + + テストの説明を取得します。 + + + + + CSS プロジェクト構造の URI + + + + + CSS プロジェクト構造の URI の クラスの新しいインスタンスを初期化します。 + + CSS プロジェクト構造の URI。 + + + + CSS プロジェクト構造の URI を取得します。 + + + + + CSS イテレーション URI + + + + + CSS イテレーション URI の クラスの新しいインスタンスを初期化します。 + + CSS イテレーション URI。 + + + + CSS イテレーション URI を取得します。 + + + + + WorkItem 属性。このテストに関連付けられている作業項目の指定に使用されます。 + + + + + WorkItem 属性の クラスの新しいインスタンスを初期化します。 + + 作業項目に対する ID。 + + + + 関連付けられている作業項目に対する ID を取得します。 + + + + + タイムアウト属性。単体テストのタイムアウトを指定するために使用されます。 + + + + + クラスの新しいインスタンスを初期化します。 + + + タイムアウト。 + + + + + 事前設定するタイムアウトを指定して クラスの新しいインスタンスを初期化する + + + タイムアウト + + + + + タイムアウトを取得します。 + + + + + アダプターに返される TestResult オブジェクト。 + + + + + クラスの新しいインスタンスを初期化します。 + + + + + 結果の表示名を取得または設定します。複数の結果が返される場合に便利です。 + null の場合は、メソッド名が DisplayName として使用されます。 + + + + + テスト実行の成果を取得または設定します。 + + + + + テストが失敗した場合にスローされる例外を取得または設定します。 + + + + + テスト コードでログに記録されたメッセージの出力を取得または設定します。 + + + + + テスト コードでログに記録されたメッセージの出力を取得または設定します。 + + + + + テスト コードでデバッグ トレースを取得または設定します。 + + + + + Gets or sets the debug traces by test code. + + + + + テスト実行の期間を取得または設定します。 + + + + + データ ソース内のデータ行インデックスを取得または設定します。データ ドリブン テストの一続きのデータ行の + それぞれの結果に対してのみ設定されます。 + + + + + テスト メソッドの戻り値を取得または設定します。(現在は、常に null です)。 + + + + + テストで添付された結果ファイルを取得または設定します。 + + + + + データ ドリブン テストの接続文字列、テーブル名、行アクセス方法を指定します。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource の既定のプロバイダー名。 + + + + + 既定のデータ アクセス方法。 + + + + + クラスの新しいインスタンスを初期化します。このインスタンスは、データ ソースにアクセスするためのデータ プロバイダー、接続文字列、データ テーブル、データ アクセス方法を指定して初期化されます。 + + System.Data.SqlClient などデータ プロバイダーの不変名 + + データ プロバイダー固有の接続文字列。 + 警告: 接続文字列には機微なデータ (パスワードなど) を含めることができます。 + 接続文字列はソース コードのプレーンテキストとコンパイルされたアセンブリに保存されます。 + ソース コードとアセンブリへのアクセスを制限して、この秘匿性の高い情報を保護します。 + + データ テーブルの名前。 + データにアクセスする順番をしています。 + + + + クラスの新しいインスタンスを初期化します。このインスタンスは接続文字列とテーブル名を指定して初期化されます。 + OLEDB データ ソースにアクセスするには接続文字列とデータ テーブルを指定します。 + + + データ プロバイダー固有の接続文字列。 + 警告: 接続文字列には機微なデータ (パスワードなど) を含めることができます。 + 接続文字列はソース コードのプレーンテキストとコンパイルされたアセンブリに保存されます。 + ソース コードとアセンブリへのアクセスを制限して、この秘匿性の高い情報を保護します。 + + データ テーブルの名前。 + + + + クラスの新しいインスタンスを初期化します。このインスタンスは設定名に関連付けられているデータ プロバイダーと接続文字列を使用して初期化されます。 + + app.config ファイルの <microsoft.visualstudio.qualitytools> セクションにあるデータ ソースの名前。 + + + + データ ソースのデータ プロバイダーを表す値を取得します。 + + + データ プロバイダー名。データ プロバイダーがオブジェクトの初期化時に指定されていなかった場合は、System.Data.OleDb の既定のプロバイダーが返されます。 + + + + + データ ソースの接続文字列を表す値を取得します。 + + + + + データを提供するテーブル名を示す値を取得します。 + + + + + データ ソースへのアクセスに使用するメソッドを取得します。 + + + + 次のいずれか 値。以下の場合 初期化されていない場合は、これは既定値を返します 。 + + + + + app.config ファイルの <microsoft.visualstudio.qualitytools> セクションで見つかるデータ ソースの名前を取得します。 + + + + + データをインラインで指定できるデータ ドリブン テストの属性。 + + + + + すべてのデータ行を検索して、実行します。 + + + テスト メソッド。 + + + 次の配列 。 + + + + + データ ドリブン テスト メソッドを実行します。 + + 実行するテスト メソッド。 + データ行. + 実行の結果。 + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..93582a1 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 테스트 배포별 배포 항목(파일 또는 디렉터리)을 지정하는 데 사용됩니다. + 테스트 클래스 또는 테스트 메서드에서 지정할 수 있습니다. + 둘 이상의 항목을 지정하기 위한 여러 특성 인스턴스를 가질 수 있습니다. + 항목 경로는 절대 또는 상대 경로일 수 있으며, 상대 경로인 경우 RunConfig.RelativePathRoot가 기준입니다. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 배포할 파일 또는 디렉터리. 경로는 빌드 출력 디렉터리에 대해 상대적입니다. 배포된 테스트 어셈블리와 동일한 디렉터리에 항목이 복사됩니다. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 배포할 파일 또는 디렉터리에 대한 상대 또는 절대 경로. 경로는 빌드 출력 디렉터리에 대해 상대적입니다. 배포된 테스트 어셈블리와 동일한 디렉터리에 항목이 복사됩니다. + 항목을 복사할 디렉터리의 경로. 배포 디렉터리에 대한 절대 경로 또는 상대 경로일 수 있습니다.에 의해 식별되는 모든 파일 및 디렉터리는 이 디렉터리에 복사됩니다. + + + + 복사할 소스 파일 또는 폴더의 경로를 가져옵니다. + + + + + 항목을 복사할 디렉터리의 경로를 가져옵니다. + + + + + Windows 스토어 앱에 대한 UI 스레드에서 테스트 코드를 실행합니다. + + + + + UI 스레드에서 테스트 메서드를 실행합니다. + + + 테스트 메서드입니다. + + + 배열 인스턴스. + + Throws when run on an async test method. + + + + + TestContext 클래스. 이 클래스는 완전히 추상 클래스여야 하며 멤버를 포함할 + 수 없습니다. 어댑터는 멤버를 구현합니다. 프레임워크의 사용자는 + 잘 정의된 인터페이스를 통해서만 여기에 액세스할 수 있습니다. + + + + + 테스트에 대한 테스트 속성을 가져옵니다. + + + + + 현재 실행 중인 테스트 메서드를 포함하는 클래스의 정규화된 이름을 가져옵니다 + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + 현재 실행 중인 테스트 메서드의 이름을 가져옵니다. + + + + + 현재 테스트 결과를 가져옵니다. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..22e769a --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 실행을 위한 TestMethod입니다. + + + + + 테스트 메서드의 이름을 가져옵니다. + + + + + 테스트 클래스의 이름을 가져옵니다. + + + + + 테스트 메서드의 반환 형식을 가져옵니다. + + + + + 테스트 메서드의 매개 변수를 가져옵니다. + + + + + 테스트 메서드에 대한 methodInfo를 가져옵니다. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 테스트 메서드를 호출합니다. + + + 테스트 메서드에 전달할 인수(예: 데이터 기반의 경우) + + + 테스트 메서드 호출의 결과. + + + This call handles asynchronous test methods as well. + + + + + 테스트 메서드의 모든 특성을 가져옵니다. + + + 부모 클래스에 정의된 특성이 올바른지 여부입니다. + + + 모든 특성. + + + + + 특정 형식의 특성을 가져옵니다. + + System.Attribute type. + + 부모 클래스에 정의된 특성이 올바른지 여부입니다. + + + 지정한 형식의 특성입니다. + + + + + 도우미입니다. + + + + + 검사 매개 변수가 Null이 아닙니다. + + + 매개 변수. + + + 매개 변수 이름. + + + 메시지. + + Throws argument null exception when parameter is null. + + + + 검사 매개 변수가 Null이 아니거나 비어 있습니다. + + + 매개 변수. + + + 매개 변수 이름. + + + 메시지. + + Throws ArgumentException when parameter is null. + + + + 데이터 기반 테스트에서 데이터 행에 액세스하는 방법에 대한 열거형입니다. + + + + + 행이 순차적인 순서로 반환됩니다. + + + + + 행이 임의의 순서로 반환됩니다. + + + + + 테스트 메서드에 대한 인라인 데이터를 정의하는 특성입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 데이터 개체. + + + + 인수 배열을 사용하는 클래스의 새 인스턴스를 초기화합니다. + + 데이터 개체. + 추가 데이터. + + + + 테스트 메서드 호출을 위한 데이터를 가져옵니다. + + + + + 사용자 지정을 위한 테스트 결과에서 표시 이름을 가져오거나 설정합니다. + + + + + 어설션 불확실 예외입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + InternalTestFailureException 클래스. 테스트 사례에 대한 내부 실패를 나타내는 데 사용됩니다. + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 예외 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 예외 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 지정된 형식의 예외를 예상하도록 지정하는 특성 + + + + + 예상 형식이 있는 클래스의 새 인스턴스를 초기화합니다. + + 예상되는 예외의 형식 + + + + 테스트에서 예외를 throw하지 않을 때 포함할 메시지 및 예상 형식이 있는 클래스의 + 새 인스턴스를 초기화합니다. + + 예상되는 예외의 형식 + + 예외를 throw하지 않아 테스트가 실패할 경우 테스트 결과에 포함할 메시지 + + + + + 예상되는 예외의 형식을 나타내는 값을 가져옵니다. + + + + + 예상 예외의 형식에서 파생된 형식이 예상대로 자격을 얻도록 허용할지 여부를 나타내는 값을 가져오거나 + 설정합니다. + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 단위 테스트에 의해 throw되는 예외의 형식이 예상되는지를 확인합니다. + + 단위 테스트에서 throw한 예외 + + + + 단위 테스트에서 예외를 예상하도록 지정하는 특성에 대한 기본 클래스 + + + + + 기본 예외 없음 메시지가 있는 클래스의 새 인스턴스를 초기화합니다. + + + + + 예외 없음 메시지가 있는 클래스의 새 인스턴스를 초기화합니다. + + + 예외를 throw하지 않아서 테스트가 실패할 경우 테스트 결과에 포함할 + 메시지 + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 예외를 throw하지 않아 테스트에 실패하는 경우 테스트 결과에 포함할 메시지를 가져옵니다. + + + + + 기본 예외 없음 메시지를 가져옵니다. + + ExpectedException 특성 형식 이름 + 기본 예외 없음 메시지 + + + + 예외가 예상되는지 여부를 확인합니다. 메서드가 반환되면 예외가 + 예상되는 것으로 이해됩니다. 메서드가 예외를 throw하면 예외가 + 예상되지 않는 것으로 이해되고, throw된 예외의 메시지가 + 테스트 결과에 포함됩니다. 클래스는 편의를 위해 사용될 수 + 있습니다. 이(가) 사용되는 경우 어설션에 실패하며, + 테스트 결과가 [결과 불충분]으로 설정됩니다. + + 단위 테스트에서 throw한 예외 + + + + AssertFailedException 또는 AssertInconclusiveException인 경우 예외를 다시 throw합니다. + + 어설션 예외인 경우 예외를 다시 throw + + + + 이 클래스는 제네릭 형식을 사용하는 형식에 대한 사용자의 유닛 테스트를 지원하도록 설계되었습니다. + GenericParameterHelper는 몇 가지 공통된 제네릭 형식 제약 조건을 충족합니다. + 예: + 1. public 기본 생성자 + 2. 공통 인터페이스 구현: IComparable, IEnumerable + + + + + C# 제네릭의 '새로 입력할 수 있는' 제약 조건을 충족하는 클래스의 + 새 인스턴스를 초기화합니다. + + + This constructor initializes the Data property to a random value. + + + + + 데이터 속성을 사용자가 제공한 값으로 초기화하는 클래스의 + 새 인스턴스를 초기화합니다. + + 임의의 정수 값 + + + + 데이터를 가져오거나 설정합니다. + + + + + 두 GenericParameterHelper 개체의 값을 비교합니다. + + 비교할 개체 + 개체의 값이 '이' GenericParameterHelper 개체와 동일한 경우에는 true이고, + 동일하지 않은 경우에는 false입니다. + + + + 이 개체의 해시 코드를 반환합니다. + + 해시 코드입니다. + + + + 두 개체의 데이터를 비교합니다. + + 비교할 개체입니다. + + 이 인스턴스 및 값의 상대 값을 나타내는 부호 있는 숫자입니다. + + + Thrown when the object passed in is not an instance of . + + + + + 길이가 데이터 속성에서 파생된 IEnumerator 개체를 + 반환합니다. + + IEnumerator 개체 + + + + 현재 개체와 동일한 GenericParameterHelper 개체를 + 반환합니다. + + 복제된 개체입니다. + + + + 사용자가 진단을 위해 단위 테스트에서 추적을 로그하거나 쓸 수 있습니다. + + + + + LogMessage용 처리기입니다. + + 로깅할 메시지. + + + + 수신할 이벤트입니다. 단위 테스트 기록기에서 메시지를 기록할 때 발생합니다. + 주로 어댑터에서 사용합니다. + + + + + 메시지를 로그하기 위해 테스트 작성자가 호출하는 API입니다. + + 자리 표시자가 있는 문자열 형식. + 자리 표시자에 대한 매개 변수. + + + + TestCategory 특성 - 단위 테스트의 범주 지정에 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화하고 범주를 테스트에 적용합니다. + + + 테스트 범주. + + + + + 테스트에 적용된 테스트 범주를 가져옵니다. + + + + + "Category" 특성을 위한 기본 클래스 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 클래스의 새 인스턴스를 초기화합니다. + 범주를 테스트에 적용합니다. TestCategories에 의해 반환된 문자열은 + 테스트 필터링을 위한 /category 명령과 함께 사용됩니다. + + + + + 테스트에 적용된 테스트 범주를 가져옵니다. + + + + + AssertFailedException 클래스 - 테스트 사례에 대한 실패를 나타내는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 단위 테스트 내에서 다양한 조건을 테스트하기 위한 도우미 + 클래스의 컬렉션입니다. 테스트 중인 조건이 충족되지 않으면 예외가 + throw됩니다. + + + + + Assert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + Thrown if is false. + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 거짓인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is false. + + + + + 지정된 조건이 true인지를 테스트하고 조건이 false이면 예외를 + throw합니다. + + + 테스트가 참일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 거짓인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is false. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + Thrown if is true. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 참인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is true. + + + + + 지정된 조건이 false인지를 테스트하고 조건이 true이면 예외를 + throw합니다. + + + 테스트가 거짓일 것으로 예상하는 조건. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 참인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is true. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + Thrown if is not null. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null이 아닌 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not null. + + + + + 지정된 개체가 Null인지를 테스트하고, Null이 아니면 예외를 + throw합니다. + + + 테스트가 null일 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null이 아닌 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + Thrown if is null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null인 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is null. + + + + + 지정된 개체가 Null이 아닌지를 테스트하고, Null이면 예외를 + throw합니다. + + + 테스트가 null이 아닐 것으로 예상하는 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null인 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is null. + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if does not refer to the same object + as . + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if does not refer to the same object + as . + + + + + 지정된 두 개체가 동일한 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하지 않으면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not refer to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if refers to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if refers to the same object + as . + + + + + 지정된 개체가 서로 다른 개체를 참조하는지를 테스트하고, 두 입력이 + 동일한 개체를 참조하면 예외를 throw합니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if refers to the same object + as . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if is not equal to . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 값이 같은지를 테스트하고, 두 값이 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 예상하는 값입니다. + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + Thrown if is equal to . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 값이 다른지를 테스트하고, 두 값이 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + The type of values to compare. + + + 비교할 첫 번째 값. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 값. 테스트 중인 코드에 의해 생성된 값입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + Thrown if is not equal to + . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 개체가 같은지를 테스트하고, 두 개체가 같지 않으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 예상하는 개체입니다. + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + Thrown if is equal to . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 개체가 다른지를 테스트하고, 두 개체가 같으면 + 예외를 throw합니다. 논리값이 같더라도 숫자 형식이 다르면 + 같지 않은 것으로 취급됩니다. 42L은 42와 같지 않습니다. + + + 비교할 첫 번째 개체. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 값: . + + + 비교할 두 번째 개체. 테스트 중인 코드에 의해 생성된 개체입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + Thrown if is not equal to + . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 부동이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 예상하는 부동입니다. + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + Thrown if is equal to . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 부동이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 부동. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 부동: . + + + 비교할 두 번째 부동. 테스트 중인 코드에 의해 생성된 부동입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + Thrown if is not equal to + . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 double이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 예상하는 double입니다. + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음보다 큰 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 과(와)의 차이가 다음보다 큰 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + Thrown if is equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 double이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 double. 테스트가 다음과 일치하지 않을 것으로 예상하는 + double: . + + + 비교할 두 번째 double. 테스트 중인 코드에 의해 생성된 double입니다. + + + 필요한 정확성. 다음과 같은 경우에만 예외가 throw됩니다. + 과(와) + 의 차이가 다음을 넘지 않는 경우: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: 또는 그 차이가 다음 미만인 경우: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to . + + + + + 지정된 문자열이 같은지를 테스트하고, 같지 않으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 예상하는 문자열입니다. + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. 비교에는 고정 문화권이 사용됩니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 문자열이 다른지를 테스트하고, 같으면 예외를 + throw합니다. + + + 비교할 첫 번째 문자열. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 문자열: . + + + 비교할 두 번째 문자열. 테스트 중인 코드에 의해 생성된 문자열입니다. + + + 대/소문자를 구분하거나 구분하지 않는 비교를 나타내는 부울(true는 + 대/소문자를 구분하지 않는 비교를 나타냄). + + + 문화권 관련 비교 정보를 제공하는 CultureInfo 개체. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스가 아닌 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 예상 형식의 인스턴스인지를 테스트하고, + 예상 형식이 개체의 상속 계층 구조에 있지 않은 예외를 + throw합니다. + + + 테스트가 지정된 형식일 것으로 예상하는 개체. + + + 다음의 예상 형식: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스가 아닌 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스인 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 지정된 개체가 잘못된 형식의 인스턴스가 아닌지를 테스트하고, + 지정된 형식이 개체의 상속 계층 구조에 있는 경우 예외를 + throw합니다. + + + 테스트가 지정된 형식이 아닐 것으로 예상하는 개체. + + + 형식: 이(가) 아니어야 함. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음의 인스턴스인 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + AssertFailedException을 throw합니다. + + + Always thrown. + + + + + AssertFailedException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Always thrown. + + + + + AssertFailedException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Always thrown. + + + + + AssertInconclusiveException을 throw합니다. + + + 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Always thrown. + + + + + 참조 같음에 대해 두 형식의 인스턴스를 비교하는 데 정적 equals 오버로드가 + 사용됩니다. 이 메서드는 같음에 대해 두 인스턴스를 비교하는 데 사용되지 않습니다. + 이 개체는 항상 Assert.Fail과 함께 throw됩니다. 단위 테스트에서 + Assert.AreEqual 및 관련 오버로드를 사용하세요. + + 개체 A + 개체 B + 항상 False. + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우:. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + throw될 예외 형식입니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 + + AssertFailedException + + 을 throw합니다. + + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 AssertFailedException을 throw합니다. + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + 대리자가 지정한 코드가 형식의 정확한 특정 예외(파생된 형식이 아님)를 throw하는지 테스트하고 + 코드가 예외를 throw하지 않거나 이(가) 아닌 형식의 예외를 throw하는 경우 AssertFailedException을 throw합니다. + + 테스트할 코드 및 예외를 throw할 것으로 예상되는 코드에 대한 대리자. + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음 형식의 예외를 throw하지 않는 경우: . + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 오류가 발생했습니다. + + + + + Null 문자('\0')를 "\\0"으로 바꿉니다. + + + 검색할 문자열. + + + Null 문자가 "\\0"으로 교체된 변환된 문자열. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException을 만들고 throw하는 도우미 함수 + + + 예외를 throw하는 어설션의 이름 + + + 어설션 실패에 대한 조건을 설명하는 메시지 + + + 매개 변수. + + + + + 유효한 조건의 매개 변수를 확인합니다. + + + 매개 변수. + + + 어셜선 이름. + + + 매개 변수 이름 + + + 잘못된 매개 변수 예외에 대한 메시지 + + + 매개 변수. + + + + + 개체를 문자열로 안전하게 변환하고, Null 값 및 Null 문자를 처리합니다. + Null 값은 "(null)"로 변환됩니다. Null 문자는 "\\0"으로 변환됩니다. + + + 문자열로 변환될 개체. + + + 변환된 문자열. + + + + + 문자열 어셜션입니다. + + + + + CollectionAssert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + Thrown if is not found in + . + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not found in + . + + + + + 지정된 문자열에 지정된 하위 문자열이 포함되었는지를 테스트하고, + 테스트 문자열 내에 해당 하위 문자열이 없으면 예외를 + throw합니다. + + + 다음을 포함할 것으로 예상되는 문자열: . + + + 다음 이내에 발생할 것으로 예상되는 문자열 . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not found in + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 시작되지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 시작되는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 시작되지 않으면 예외를 + throw합니다. + + + 다음으로 시작될 것으로 예상되는 문자열: . + + + 다음의 접두사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 시작되지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not begin with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + Thrown if does not end with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 끝나지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if does not end with + . + + + + + 지정된 문자열이 지정된 하위 문자열로 끝나는지를 테스트하고, + 테스트 문자열이 해당 하위 문자열로 끝나지 않으면 예외를 + throw합니다. + + + 다음으로 끝날 것으로 예상되는 문자열: . + + + 다음의 접미사일 것으로 예상되는 문자열: . + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음으로 끝나지 않는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not end with + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하지 않는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하는지를 테스트하고, 문자열이 + 식과 일치하지 않으면 예외를 throw합니다. + + + 다음과 일치할 것으로 예상되는 문자열: . + + + 과(와) + 일치할 것으로 예상되는 정규식 + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하지 않는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if does not match + . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + Thrown if matches . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하는 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if matches . + + + + + 지정된 문자열이 정규식과 일치하지 않는지를 테스트하고, 문자열이 + 식과 일치하면 예외를 throw합니다. + + + 다음과 일치하지 않을 것으로 예상되는 문자열: . + + + 과(와) + 일치하지 않을 것으로 예상되는 정규식. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 일치하는 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if matches . + + + + + 단위 테스트 내에서 컬렉션과 연결된 다양한 조건을 테스트하기 + 위한 도우미 클래스의 컬렉션. 테스트 중인 조건이 충족되지 않으면 + 예외가 throw됩니다. + + + + + CollectionAssert 기능의 singleton 인스턴스를 가져옵니다. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하는지를 테스트하고, + 컬렉션에 요소가 없으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함될 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 없는 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + Thrown if is found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 포함된 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if is found in + . + + + + + 지정된 컬렉션이 지정된 요소를 포함하지 않는지를 테스트하고, + 컬렉션에 요소가 있으면 예외를 throw합니다. + + + 요소를 검색할 컬렉션. + + + 컬렉션에 포함되지 않을 것으로 예상되는 요소. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음에 포함된 경우: . 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is found in + . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null 요소를 포함하는 경우. 메시지가 테스트 결과에 표시됩니다. + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 Null이 아닌지를 테스트하고, + Null인 요소가 있으면 예외를 throw합니다. + + + Null 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) null 요소를 포함하는 경우. 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if a null element is found in . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + Thrown if a two or more equal elements are found in + . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 하나 이상의 중복 요소를 포함하는 경우. 메시지는 테스트 결과에 + 표시됩니다. + + + Thrown if a two or more equal elements are found in + . + + + + + 지정된 컬렉션의 모든 항목이 고유한지 여부를 테스트하고, + 컬렉션에 두 개의 같은 요소가 있는 경우 예외를 throw합니다. + + + 중복 요소를 검색할 컬렉션. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 하나 이상의 중복 요소를 포함하는 경우. 메시지는 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if a two or more equal elements are found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + + 의 요소가 다음에서 발견되지 않는 경우 예외에 포함할 메시지입니다.. + 테스트 결과에 메시지가 표시됩니다. + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합인지를 테스트하고, + 하위 집합의 요소가 상위 집합에 없는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합일 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되는 컬렉션: + + + + 의 모든 요소가 다음에서 발견되지 않는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element in is not found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + Thrown if every element in is also found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + + 의 모든 요소가 다음에서도 발견되는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + Thrown if every element in is also found in + . + + + + + 한 컬렉션이 다른 컬렉션의 하위 집합이 아닌지를 테스트하고, + 하위 집합의 요소가 상위 집합에도 있는 경우 + 예외를 throw합니다. + + + 다음의 하위 집합이 아닐 것으로 예상되는 컬렉션: . + + + 다음의 상위 집합일 것으로 예상되지 않는 컬렉션: + + + + 의 모든 요소가 다음에서도 발견되는 경우 예외에 포함할 메시지: . + 테스트 결과에 메시지가 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if every element in is also found in + . + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 요소가 컬렉션 중 하나에서는 발견되었지만 다른 곳에서는 발견되지 + 않은 경우 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 동일한 요소가 포함되어 있는지를 테스트하고, + 한 컬렉션이 다른 컬렉션에 없는 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 요소를 + 포함합니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 요소가 컬렉션 중 하나에서는 발견되었지만 다른 곳에서는 발견되지 + 않은 경우 예외에 포함할 메시지. 메시지가 테스트 결과에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 요소를 포함하는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 두 컬렉션에 서로 다른 요소가 포함되어 있는지를 테스트하고, + 두 컬렉션이 순서와 상관없이 동일한 요소를 포함하는 경우 예외를 + throw합니다. + + + 비교할 첫 번째 컬렉션. 여기에는 테스트가 실제 컬렉션과 다를 것으로 + 예상하는 요소가 포함됩니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성되는 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 동일한 요소를 포함하는 경우: . 메시지가 + 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + + 의 요소가 다음의 인스턴스가 아닌 경우 예외에 포함할 메시지: + . 메시지가 테스트 결과에 표시됩니다. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션의 모든 요소가 예상 형식의 인스턴스인지를 테스트하고 + 예상 형식이 하나 이상의 요소의 상속 계층 구조에 없는 경우 + 예외를 throw합니다. + + + 테스트가 지정된 형식 중 하나일 것으로 예상하는 요소가 포함된 + 컬렉션. + + + 다음의 각 요소의 예상 형식: . + + + + 의 요소가 다음의 인스턴스가 아닌 경우 예외에 포함할 메시지: + . 메시지가 테스트 결과에 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 같은지를 테스트하고, 두 컬렉션이 같지 않으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 있는 + 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 같은 것으로 + 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 예상하는 컬렉션입니다. + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같지 않은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is not equal to + . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + Thrown if is equal to . + + + + + 지정된 컬렉션이 다른지를 테스트하고, 두 컬렉션이 같으면 예외를 + throw합니다. 같음이란 동일한 요소를 동일한 순서 및 양으로 가지고 + 있는 것이라고 정의됩니다. 동일한 값에 대한 서로 다른 참조는 + 같은 것으로 간주됩니다. + + + 비교할 첫 번째 컬렉션. 테스트가 다음과 일치하지 않을 것으로 예상하는 + 컬렉션입니다. . + + + 비교할 두 번째 컬렉션. 테스트 중인 코드에 의해 생성된 + 컬렉션입니다. + + + 컬렉션의 요소를 비교할 때 사용할 비교 구현. + + + 다음과 같은 경우 예외에 포함할 메시지: + 이(가) 다음과 같은 경우: . 메시지가 결과 테스트에 + 표시됩니다. + + + 다음의 서식을 지정할 때 사용할 매개 변수의 배열: . + + + Thrown if is equal to . + + + + + 첫 번째 컬렉션이 두 번째 컬렉션의 하위 집합인지를 + 확인합니다. 한 집합에 중복된 요소가 포함된 경우, 하위 집합에 있는 요소의 + 발생 횟수는 상위 집합에 있는 발생 횟수와 같거나 + 작아야 합니다. + + + 테스트가 다음에 포함될 것으로 예상하는 컬렉션: . + + + 테스트가 다음을 포함할 것으로 예상하는 컬렉션: . + + + 다음의 경우 True 이(가) + 의 하위 집합인 경우 참, 나머지 경우는 거짓. + + + + + 지정된 컬렉션에서 각 요소의 발생 횟수를 포함하는 + 사전을 생성합니다. + + + 처리할 컬렉션. + + + 컬렉션에 있는 null 요소의 수. + + + 지정된 컬렉션에 있는 각 요소의 발생 횟수를 포함하는 + 딕셔너리. + + + + + 두 컬렉션 간의 불일치 요소를 찾습니다. 불일치 요소란 + 예상 컬렉션에 나타나는 횟수가 실제 컬렉션에 + 나타나는 횟수와 다른 요소를 말합니다. 컬렉션은 + 같은 수의 요소가 있는 Null이 아닌 다른 참조로 + 간주됩니다. 이 수준에서의 확인 작업은 호출자의 + 책임입니다. 불일치 요소가 없으면 함수는 false를 + 반환하고 출력 매개 변수가 사용되지 않습니다. + + + 비교할 첫 번째 컬렉션. + + + 비교할 두 번째 컬렉션. + + + 다음의 예상 발생 횟수: + 또는 불일치 요소가 없는 경우 + 영(0). + + + 다음의 실제 발생 횟수: + 또는 불일치 요소가 없는 경우 + 영(0). + + + 불일치 요소(null일 수 있음) 또는 불일치 요소가 없는 경우 + null. + + + 불일치 요소가 발견되면 참, 발견되지 않으면 거짓. + + + + + object.Equals를 사용하여 개체 비교합니다. + + + + + 프레임워크 예외에 대한 기본 클래스입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + 예외. + + + + 클래스의 새 인스턴스를 초기화합니다. + + 메시지. + + + + 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다. + + + + + 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다. + + + + + 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 + 대한 현재 스레드의 CurrentUICulture 속성을 재정의합니다. + + + + + [액세스 문자열의 구문이 잘못되었습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 컬렉션에 <{2}>은(는) {1}개가 포함되어야 하는데 실제 컬렉션에는 {3}개가 포함되어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [중복된 항목이 있습니다. <{1}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>. 대/소문자가 다른 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값 <{1}>과(와) 실제 값 <{2}>의 차이가 <{3}>보다 크지 않아야 합니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}({2})>. 실제 값: <{3}({4})>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>. 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값 <{1}>과(와) 실제 값 <{2}>의 차이가 <{3}>보다 커야 합니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 값: <{1}>을(를) 제외한 모든 값. 실제 값: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [AreSame()에 값 형식을 전달하면 안 됩니다. Object로 변환된 값은 동일한 값으로 간주되지 않습니다. AreEqual()을 사용해 보세요. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}이(가) 실패했습니다. {1}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [async TestMethod with UITestMethodAttribute는 지원되지 않습니다. async를 제거하거나 TestMethodAttribute를 사용하세요.]와 유사한 지역화된 문자열 조회합니다. + + + + + [두 컬렉션이 모두 비어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션에 같은 요소가 포함되어 있습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션 참조가 동일한 컬렉션 개체를 가리킵니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [두 컬렉션에 같은 요소가 포함되어 있습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}({1})]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [(null)]과 유사한 지역화된 문자열을 조회합니다. + + + + + Looks up a localized string similar to (object). + + + + + ['{0}' 문자열이 '{1}' 문자열을 포함하지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0}({1})]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [어설션에 Assert.Equals를 사용할 수 없습니다. 대신 Assert.AreEqual 및 오버로드를 사용하세요.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [컬렉션의 요소 수가 일치하지 않습니다. 예상 값: <{1}>. 실제 값: <{2}>.{0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {0}에 있는 요소가 일치하지 않습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {1}에 있는 요소는 예상 형식이 아닙니다. 예상 형식: <{2}>. 실제 형식: <{3}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [인덱스 {1}에 있는 요소가 (null)입니다. 예상 형식: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 문자열로 끝나지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [잘못된 인수 - EqualsTester에는 Null을 사용할 수 없습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 형식의 개체를 {1} 형식의 개체로 변환할 수 없습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [참조된 내부 개체가 더 이상 유효하지 않습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 매개 변수가 잘못되었습니다. {1}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 속성의 형식은 {2}이어야 하는데 실제로는 {1}입니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{0} 예상 형식: <{1}>. 실제 형식: <{2}>.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 패턴과 일치하지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [잘못된 형식: <{1}>. 실제 형식: <{2}>. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 문자열이 '{1}' 패턴과 일치합니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [DataRowAttribute가 지정되지 않았습니다. DataTestMethodAttribute에는 하나 이상의 DataRowAttribute가 필요합니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [{1} 예외를 예상했지만 예외가 throw되지 않았습니다. {0}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + ['{0}' 매개 변수가 잘못되었습니다. 이 값은 Null일 수 없습니다. {1}.](과)와 유사한 지역화된 문자열을 조회합니다. + + + + + [요소 수가 다릅니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + 다음과 유사한 지역화된 문자열을 조회합니다. + [지정한 시그니처를 가진 생성자를 찾을 수 없습니다. 전용 접근자를 다시 생성해야 할 수 있습니다. + 또는 멤버가 기본 클래스에 정의된 전용 멤버일 수 있습니다. 기본 클래스에 정의된 전용 멤버인 경우에는 이 멤버를 정의하는 형식을 + PrivateObject의 생성자에 전달해야 합니다.] + + + + + + 다음과 유사한 지역화된 문자열을 조회합니다. + [지정한 멤버({0})를 찾을 수 없습니다. 전용 접근자를 다시 생성해야 할 수 있습니다. + 또는 멤버가 기본 클래스에 정의된 전용 멤버일 수 있습니다. 기본 클래스에 정의된 전용 멤버인 경우에는 이 멤버를 정의하는 형식을 + PrivateObject의 생성자에 전달해야 합니다.] + + + + + + ['{0}' 문자열이 '{1}' 문자열로 시작되지 않습니다. {2}.]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [예상 예외 형식은 System.Exception이거나 System.Exception에서 파생된 형식이어야 합니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [(예외로 인해 {0} 형식의 예외에 대한 메시지를 가져오지 못했습니다.)]와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 예상 예외 {0}을(를) throw하지 않았습니다. {1}](과)와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 예상 예외를 throw하지 않았습니다. 예외는 테스트 메서드에 정의된 {0} 특성에 의해 예상되었습니다.]와 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 {0} 예외를 throw했지만 {1} 예외를 예상했습니다. 예외 메시지: {2}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [테스트 메서드에서 {0} 예외를 throw했지만 {1} 예외 또는 해당 예외에서 파생된 형식을 예상했습니다. 예외 메시지: {2}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + [{1} 예외를 예상했지만 {2} 예외를 throw했습니다. {0} + 예외 메시지: {3} + 스택 추적: {4}]과(와) 유사한 지역화된 문자열을 조회합니다. + + + + + 단위 테스트 결과 + + + + + 테스트가 실행되었지만 문제가 있습니다. + 예외 또는 실패한 어설션과 관련된 문제일 수 있습니다. + + + + + 테스트가 완료되었지만, 성공인지 실패인지를 알 수 없습니다. + 중단된 테스트에 사용된 것일 수 있습니다. + + + + + 아무 문제 없이 테스트가 실행되었습니다. + + + + + 테스트가 현재 실행 중입니다. + + + + + 테스트를 실행하려고 시도하는 동안 시스템 오류가 발생했습니다. + + + + + 테스트가 시간 초과되었습니다. + + + + + 테스트가 사용자에 의해 중단되었습니다. + + + + + 테스트의 상태를 알 수 없습니다. + + + + + 단위 테스트 프레임워크에 대한 도우미 기능을 제공합니다. + + + + + 재귀적으로 모든 내부 예외에 대한 메시지를 포함하여 예외 메시지를 + 가져옵니다. + + 오류 메시지 정보가 포함된 + 문자열에 대한 메시지 가져오기의 예외 + + + + 클래스와 함께 사용할 수 있는 시간 제한에 대한 열거형입니다. + 열거형의 형식은 일치해야 합니다. + + + + + 무제한입니다. + + + + + 테스트 클래스 특성입니다. + + + + + 이 테스트를 실행할 수 있는 테스트 메서드 특성을 가져옵니다. + + 이 메서드에 정의된 테스트 메서드 특성 인스턴스입니다. + 이 테스트를 실행하는 데 사용됩니다. + Extensions can override this method to customize how all methods in a class are run. + + + + 테스트 메서드 특성입니다. + + + + + 테스트 메서드를 실행합니다. + + 실행할 테스트 메서드입니다. + 테스트 결과를 나타내는 TestResult 개체의 배열입니다. + Extensions can override this method to customize running a TestMethod. + + + + 테스트 초기화 특성입니다. + + + + + 테스트 정리 특성입니다. + + + + + 무시 특성입니다. + + + + + 테스트 속성 특성입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 이름. + + + 값. + + + + + 이름을 가져옵니다. + + + + + 값을 가져옵니다. + + + + + 클래스 초기화 특성입니다. + + + + + 클래스 정리 특성입니다. + + + + + 어셈블리 초기화 특성입니다. + + + + + 어셈블리 정리 특성입니다. + + + + + 테스트 소유자 + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 소유자. + + + + + 소유자를 가져옵니다. + + + + + Priority 특성 - 단위 테스트의 우선 순위를 지정하는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 우선 순위. + + + + + 우선 순위를 가져옵니다. + + + + + 테스트의 설명 + + + + + 테스트를 설명하는 클래스의 새 인스턴스를 초기화합니다. + + 설명입니다. + + + + 테스트의 설명을 가져옵니다. + + + + + CSS 프로젝트 구조 URI + + + + + CSS 프로젝트 구조 URI에 대한 클래스의 새 인스턴스를 초기화합니다. + + CSS 프로젝트 구조 URI입니다. + + + + CSS 프로젝트 구조 URI를 가져옵니다. + + + + + CSS 반복 URI + + + + + CSS 반복 URI에 대한 클래스의 새 인스턴스를 초기화합니다. + + CSS 반복 URI입니다. + + + + CSS 반복 URI를 가져옵니다. + + + + + WorkItem 특성 - 이 테스트와 연결된 작업 항목을 지정하는 데 사용됩니다. + + + + + WorkItem 특성에 대한 클래스의 새 인스턴스를 초기화합니다. + + 작업 항목에 대한 ID입니다. + + + + 연결된 작업 항목에 대한 ID를 가져옵니다. + + + + + Timeout 특성 - 단위 테스트의 시간 제한을 지정하는 데 사용됩니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + 시간 제한. + + + + + 미리 설정된 시간 제한이 있는 클래스의 새 인스턴스를 초기화합니다. + + + 시간 제한 + + + + + 시간 제한을 가져옵니다. + + + + + 어댑터에 반환할 TestResult 개체입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. + + + + + 결과의 표시 이름을 가져오거나 설정합니다. 여러 결과를 반환할 때 유용합니다. + Null인 경우 메서드 이름은 DisplayName으로 사용됩니다. + + + + + 테스트 실행의 결과를 가져오거나 설정합니다. + + + + + 테스트 실패 시 throw할 예외를 가져오거나 설정합니다. + + + + + 테스트 코드에서 로그한 메시지의 출력을 가져오거나 설정합니다. + + + + + 테스트 코드에서 로그한 메시지의 출력을 가져오거나 설정합니다. + + + + + 테스트 코드에 의한 디버그 추적을 가져오거나 설정합니다. + + + + + Gets or sets the debug traces by test code. + + + + + 테스트 실행의 지속 시간을 가져오거나 설정합니다. + + + + + 데이터 소스에서 데이터 행 인덱스를 가져오거나 설정합니다. 데이터 기반 테스트에서 + 개별 데이터 행 실행의 결과에 대해서만 설정합니다. + + + + + 테스트 메서드의 반환 값을 가져오거나 설정합니다(현재 항상 Null). + + + + + 테스트로 첨부한 결과 파일을 가져오거나 설정합니다. + + + + + 데이터 기반 테스트에 대한 연결 문자열, 테이블 이름 및 행 액세스 방법을 지정합니다. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource의 기본 공급자 이름입니다. + + + + + 기본 데이터 액세스 방법입니다. + + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 데이터 소스에 액세스할 데이터 공급자, 연결 문자열, 데이터 테이블 및 데이터 액세스 방법으로 초기화됩니다. + + 고정 데이터 공급자 이름(예: System.Data.SqlClient) + + 데이터 공급자별 연결 문자열. + 경고: 연결 문자열에는 중요한 데이터(예: 암호)가 포함될 수 있습니다. + 연결 문자열은 소스 코드와 컴파일된 어셈블리에 일반 텍스트로 저장됩니다. + 이 중요한 정보를 보호하려면 소스 코드 및 어셈블리에 대한 액세스를 제한하세요. + + 데이터 테이블의 이름. + 데이터에 액세스할 순서를 지정합니다. + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 연결 문자열 및 테이블 이름으로 초기화됩니다. + OLEDB 데이터 소스에 액세스하기 위한 연결 문자열 및 데이터 테이블을 지정하세요. + + + 데이터 공급자별 연결 문자열. + 경고: 연결 문자열에는 중요한 데이터(예: 암호)가 포함될 수 있습니다. + 연결 문자열은 소스 코드와 컴파일된 어셈블리에 일반 텍스트로 저장됩니다. + 이 중요한 정보를 보호하려면 소스 코드 및 어셈블리에 대한 액세스를 제한하세요. + + 데이터 테이블의 이름. + + + + 클래스의 새 인스턴스를 초기화합니다. 이 인스턴스는 설정 이름과 연결된 연결 문자열 및 데이터 공급자로 초기화됩니다. + + app.config 파일의 <microsoft.visualstudio.qualitytools> 섹션에 있는 데이터 소스의 이름. + + + + 데이터 소스의 데이터 공급자를 나타내는 값을 가져옵니다. + + + 데이터 공급자 이름. 데이터 공급자를 개체 초기화에서 지정하지 않은 경우 System.Data.OleDb의 기본 공급자가 반환됩니다. + + + + + 데이터 소스의 연결 문자열을 나타내는 값을 가져옵니다. + + + + + 데이터를 제공하는 테이블 이름을 나타내는 값을 가져옵니다. + + + + + 데이터 소스에 액세스하는 데 사용되는 메서드를 가져옵니다. + + + + 값 중 하나입니다. 이(가) 초기화되지 않은 경우 다음 기본값이 반환됩니다. . + + + + + app.config 파일의 <microsoft.visualstudio.qualitytools> 섹션에서 찾은 데이터 소스의 이름을 가져옵니다. + + + + + 데이터를 인라인으로 지정할 수 있는 데이터 기반 테스트의 특성입니다. + + + + + 모든 데이터 행을 찾고 실행합니다. + + + 테스트 메서드. + + + 배열 . + + + + + 데이터 기반 테스트 메서드를 실행합니다. + + 실행할 테스트 메서드. + 데이터 행. + 실행 결과. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..4b958bf --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Służy do określenia elementu wdrożenia (pliku lub katalogu) dla wdrożenia testowego. + Może być określony w klasie testowej lub metodzie testowej. + Może mieć wiele wystąpień atrybutu w celu określenia więcej niż jednego elementu. + Ścieżka elementu może być bezwzględna lub względna. Jeśli jest względna, jest określana względem elementu RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + Inicjuje nowe wystąpienie klasy . + + Plik lub katalog do wdrożenia. Ścieżka jest określana względem katalogu wyjściowego kompilacji. Element zostanie skopiowany do tego samego katalogu co wdrożone zestawy testowe. + + + + Inicjuje nowe wystąpienie klasy + + Względna lub bezwzględna ścieżka do pliku lub katalogu do wdrożenia. Ścieżka jest określana względem katalogu wyjściowego kompilacji. Element zostanie skopiowany do tego samego katalogu co wdrożone zestawy testowe. + Ścieżka katalogu, do którego mają być kopiowane elementy. Może być bezwzględna lub określana względem katalogu wdrażania. Wszystkie pliki i katalogi określone przez zostaną skopiowane do tego katalogu. + + + + Pobiera ścieżkę źródłowego pliku lub folderu do skopiowania. + + + + + Pobiera ścieżkę katalogu, do którego element jest kopiowany. + + + + + Wykonaj kod testowy w wątku interfejsu użytkownika dla aplikacji ze Sklepu Windows. + + + + + Wykonuje metodę testową w wątku interfejsu użytkownika. + + + Metoda testowa. + + + Tablica elementów wystąpienia. + + Throws when run on an async test method. + + + + + Klasa TestContext. Ta klasa powinna być w pełni abstrakcyjna i nie może zawierać żadnych + elementów członkowskich. Adapter zaimplementuje elementy członkowskie. Użytkownicy platformy powinni + uzyskiwać dostęp do tego elementu tylko za pośrednictwem prawidłowo zdefiniowanego interfejsu. + + + + + Pobiera właściwości testu. + + + + + Pobiera w pełni kwalifikowaną nazwę klasy zawierającej aktualnie wykonywaną metodę testową + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Pobiera nazwę aktualnie wykonywanej metody testowej + + + + + Pobiera wynik bieżącego testu. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..5593384 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Metoda TestMethod do wykonania. + + + + + Pobiera nazwę metody testowej. + + + + + Pobiera nazwę klasy testowej. + + + + + Pobiera zwracany typ metody testowej. + + + + + Pobiera parametry metody testowej. + + + + + Pobiera element methodInfo dla metody testowej. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Wywołuje metodę testową. + + + Argumenty przekazywane do metody testowej (np. w przypadku opartej na danych) + + + Wynik wywołania metody testowej. + + + This call handles asynchronous test methods as well. + + + + + Pobierz wszystkie atrybuty metody testowej. + + + Informacja o tym, czy atrybut zdefiniowany w klasie nadrzędnej jest prawidłowy. + + + Wszystkie atrybuty. + + + + + Pobierz atrybut określonego typu. + + System.Attribute type. + + Informacja o tym, czy atrybut zdefiniowany w klasie nadrzędnej jest prawidłowy. + + + Atrybuty określonego typu. + + + + + Element pomocniczy. + + + + + Sprawdzany parametr nie ma wartości null. + + + Parametr. + + + Nazwa parametru. + + + Komunikat. + + Throws argument null exception when parameter is null. + + + + Sprawdzany parametr nie ma wartości null i nie jest pusty. + + + Parametr. + + + Nazwa parametru. + + + Komunikat. + + Throws ArgumentException when parameter is null. + + + + Wyliczenie dotyczące sposobu dostępu do wierszy danych w teście opartym na danych. + + + + + Wiersze są zwracane po kolei. + + + + + Wiersze są zwracane w kolejności losowej. + + + + + Atrybut do definiowania danych wbudowanych dla metody testowej. + + + + + Inicjuje nowe wystąpienie klasy . + + Obiekt danych. + + + + Inicjuje nowe wystąpienie klasy , które pobiera tablicę argumentów. + + Obiekt danych. + Więcej danych. + + + + Pobiera dane do wywoływania metody testowej. + + + + + Pobiera lub ustawia nazwę wyświetlaną w wynikach testu do dostosowania. + + + + + Wyjątek niejednoznacznej asercji. + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Klasa InternalTestFailureException. Używana do określenia wewnętrznego błędu przypadku testowego + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat wyjątku. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat wyjątku. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Atrybut określający, że jest oczekiwany wyjątek określonego typu + + + + + Inicjuje nowe wystąpienie klasy z oczekiwanym typem + + Typ oczekiwanego wyjątku + + + + Inicjuje nowe wystąpienie klasy z + oczekiwanym typem i komunikatem do uwzględnienia, gdy test nie zgłasza żadnego wyjątku. + + Typ oczekiwanego wyjątku + + Komunikat do dołączenia do wyniku testu, jeśli test nie powiedzie się, ponieważ nie zostanie zgłoszony wyjątek + + + + + Pobiera wartość wskazującą typ oczekiwanego wyjątku + + + + + Pobiera lub ustawia wartość wskazującą, czy typy pochodne typu oczekiwanego wyjątku + są traktowane jako oczekiwane + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Weryfikuje, czy typ wyjątku zgłoszonego przez test jednostkowy jest oczekiwany + + Wyjątek zgłoszony przez test jednostkowy + + + + Klasa podstawowa dla atrybutów, które określają, że jest oczekiwany wyjątek z testu jednostkowego + + + + + Inicjuje nowe wystąpienie klasy z domyślnym komunikatem o braku wyjątku + + + + + Inicjuje nowe wystąpienie klasy z komunikatem o braku wyjątku + + + Komunikat do dołączenia do wyniku testu, jeśli test nie powiedzie się, ponieważ + nie zostanie zgłoszony wyjątek + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Pobiera komunikat do uwzględnienia w wyniku testu, jeśli test nie powiedzie się z powodu niezgłoszenia wyjątku + + + + + Pobiera domyślny komunikat bez wyjątku + + Nazwa typu atrybutu ExpectedException + Domyślny komunikat bez wyjątku + + + + Określa, czy wyjątek jest oczekiwany. Jeśli wykonanie metody zakończy się normalnie, oznacza to, + że wyjątek był oczekiwany. Jeśli metoda zgłosi wyjątek, oznacza to, + że wyjątek nie był oczekiwany, a komunikat zgłoszonego wyjątku + jest dołączony do wyniku testu. Klasy można użyć dla + wygody. Jeśli zostanie użyta klasa i asercja nie powiedzie się, + wynik testu zostanie ustawiony jako Niejednoznaczny. + + Wyjątek zgłoszony przez test jednostkowy + + + + Zgłoś ponownie wyjątek, jeśli jest to wyjątek AssertFailedException lub AssertInconclusiveException + + Wyjątek do ponownego zgłoszenia, jeśli jest to wyjątek asercji + + + + Ta klasa jest zaprojektowana w taki sposób, aby pomóc użytkownikowi wykonującemu testy jednostkowe dla typów używających typów ogólnych. + Element GenericParameterHelper zachowuje niektóre typowe ograniczenia typów ogólnych, + takie jak: + 1. publiczny konstruktor domyślny + 2. implementuje wspólny interfejs: IComparable, IEnumerable + + + + + Inicjuje nowe wystąpienie klasy , które + spełnia ograniczenie „newable” w typach ogólnych języka C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicjuje nowe wystąpienie klasy , które + inicjuje właściwość Data wartością dostarczoną przez użytkownika. + + Dowolna liczba całkowita + + + + Pobiera lub ustawia element Data + + + + + Wykonuje porównanie wartości dwóch obiektów GenericParameterHelper + + obiekt, z którym ma zostać wykonane porównanie + Wartość true, jeśli obiekt ma tę samą wartość co obiekt „this” typu GenericParameterHelper. + W przeciwnym razie wartość false. + + + + Zwraca wartość skrótu tego obiektu. + + Kod skrótu. + + + + Porównuje dane dwóch obiektów . + + Obiekt do porównania. + + Liczba ze znakiem, która wskazuje wartości względne tego wystąpienia i wartości. + + + Thrown when the object passed in is not an instance of . + + + + + Zwraca obiekt IEnumerator, którego długość jest określona na podstawie + właściwości Data. + + Obiekt IEnumerator + + + + Zwraca obiekt GenericParameterHelper równy + bieżącemu obiektowi. + + Sklonowany obiekt. + + + + Umożliwia użytkownikom rejestrowanie/zapisywanie śladów z testów jednostek w celach diagnostycznych. + + + + + Procedura obsługi elementu LogMessage. + + Komunikat do zarejestrowania. + + + + Zdarzenie, które ma być nasłuchiwane. Zgłaszane, gdy składnik zapisywania testu jednostkowego zapisze jakiś komunikat. + Zwykle zużywane przez adapter. + + + + + Interfejs API składnika zapisywania testu do wywołania na potrzeby rejestrowania komunikatów. + + Format ciągu z symbolami zastępczymi. + Parametry dla symboli zastępczych. + + + + Atrybut TestCategory używany do określenia kategorii testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy i stosuje kategorię do testu. + + + Kategoria testu. + + + + + Pobiera kategorie testu, które zostały zastosowane do testu. + + + + + Klasa podstawowa atrybutu „Category” + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicjuje nowe wystąpienie klasy . + Stosuje kategorię do testu. Ciągi zwrócone przez element TestCategories + są używane w poleceniu /category do filtrowania testów + + + + + Pobiera kategorię testu, która została zastosowana do testu. + + + + + Klasa AssertFailedException. Używana do wskazania niepowodzenia przypadku testowego + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Inicjuje nowe wystąpienie klasy . + + + + + Kolekcja klas pomocniczych na potrzeby testowania różnych warunków w ramach + testów jednostkowych. Jeśli testowany warunek nie zostanie spełniony, zostanie zgłoszony + wyjątek. + + + + + Pobiera pojedyncze wystąpienie funkcji Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość false. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość true, i zgłasza wyjątek, + jeśli warunek ma wartość false. + + + Warunek, którego wartość oczekiwana przez test to true. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość false. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is false. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Thrown if is true. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość true. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is true. + + + + + Testuje, czy określony warunek ma wartość false, i zgłasza wyjątek, + jeśli warunek ma wartość true. + + + Warunek, którego wartość oczekiwana przez test to false. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość true. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is true. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Komunikat do dołączenia do wyjątku, gdy element + nie ma wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość null, i zgłasza wyjątek, + jeśli ma inną wartość. + + + Obiekt, którego wartość oczekiwana przez test to null. + + + Komunikat do dołączenia do wyjątku, gdy element + nie ma wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Thrown if is null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is null. + + + + + Testuje, czy określony obiekt ma wartość inną niż null, i zgłasza wyjątek, + jeśli ma wartość null. + + + Obiekt, którego wartość oczekiwana przez test jest inna niż null. + + + Komunikat do dołączenia do wyjątku, gdy element + ma wartość null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is null. + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest tym samym elementem co . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy oba określone obiekty przywołują ten sam obiekt, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe nie przywołują tego samego obiektu. + + + Pierwszy obiekt do porównania. To jest wartość, której oczekuje test. + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest tym samym elementem co . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not refer to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest taki sam jak element . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone obiekty przywołują inne obiekty, + i zgłasza wyjątek, jeśli dwa obiekty wejściowe przywołują ten sam obiekt. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest taki sam jak element . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if refers to the same object + as . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości są równe, i zgłasza wyjątek, + jeśli dwie wartości są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, której oczekuje test. + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości są różne, i zgłasza wyjątek, + jeśli dwie wartości są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + The type of values to compare. + + + Pierwsza wartość do porównania. To jest wartość, która według testu + nie powinna pasować . + + + Druga wartość do porównania. To jest wartość utworzona przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są równe, i zgłasza wyjątek, + jeśli dwa obiekty są różne. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest obiekt, którego oczekuje test. + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone obiekty są różne, i zgłasza wyjątek, + jeśli dwa obiekty są równe. Różne typy liczbowe są traktowane + jako różne, nawet jeśli wartości logiczne są równe. Wartość 42L jest różna od wartości 42. + + + Pierwszy obiekt do porównania. To jest wartość, która zgodnie z testem powinna + nie pasować do elementu . + + + Drugi obiekt do porównania. To jest obiekt utworzony przez testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa, której oczekuje test. + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości zmiennoprzecinkowe są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość zmiennoprzecinkowa do porównania. Test oczekuje, że ta wartość zmiennoprzecinkowa nie będzie + zgodna z elementem . + + + Druga wartość zmiennoprzecinkowa do porównania. To jest wartość zmiennoprzecinkowa utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwsza wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji, której oczekuje test. + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o więcej niż . + + + Komunikat do dołączenia do wyjątku, gdy element + jest różny od elementu o więcej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone wartości podwójnej precyzji są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwsza wartość podwójnej precyzji do porównania. Test oczekuje, że ta wartość podwójnej precyzji + nie będzie pasować do elementu . + + + Druga wartość podwójnej precyzji do porównania. To jest wartość podwójnej precyzji utworzona przez testowany kod. + + + Wymagana dokładność. Wyjątek zostanie zgłoszony, tylko jeśli + jest różny od elementu + o co najwyżej . + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi lub różny o mniej niż + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są równe, i zgłasza wyjątek, + jeśli są różne. + + + Pierwszy ciąg do porównania. To jest ciąg, którego oczekuje test. + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. Na potrzeby tego porównania jest używana niezmienna kultura. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone ciągi są różne, i zgłasza wyjątek, + jeśli są równe. + + + Pierwszy ciąg do porównania. To jest ciąg, który według testu + nie powinien pasować do elementu . + + + Drugi ciąg do porównania. To jest ciąg utworzony przez testowany kod. + + + Wartość logiczna wskazująca, czy porównanie uwzględnia wielkość liter. (Wartość true + wskazuje porównanie bez uwzględniania wielkości liter). + + + Obiekt CultureInfo, który określa informacje dotyczące porównania specyficznego dla kultury. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest wystąpieniem typu . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt jest wystąpieniem oczekiwanego + typu, i zgłasza wyjątek, jeśli oczekiwany typ nie należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu powinien być określonego typu. + + + Oczekiwany typ elementu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest wystąpieniem typu . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Komunikat do dołączenia do wyjątku, gdy element + jest wystąpieniem typu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testuje, czy określony obiekt nie jest wystąpieniem nieprawidłowego + typu, i zgłasza wyjątek, jeśli podany typ należy + do hierarchii dziedziczenia obiektu. + + + Obiekt, który według testu nie powinien być określonego typu. + + + Element nie powinien być tego typu. + + + Komunikat do dołączenia do wyjątku, gdy element + jest wystąpieniem typu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Zgłasza wyjątek AssertFailedException. + + + Always thrown. + + + + + Zgłasza wyjątek AssertFailedException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Always thrown. + + + + + Zgłasza wyjątek AssertFailedException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Always thrown. + + + + + Zgłasza wyjątek AssertInconclusiveException. + + + Komunikat do dołączenia do wyjątku. Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Always thrown. + + + + + Statyczne przeciążenia metody equals są używane do porównywania wystąpień dwóch typów pod kątem + równości odwołań. Ta metoda nie powinna być używana do porównywania dwóch wystąpień pod kątem + równości. Ten obiekt zawsze będzie zgłaszał wyjątek za pomocą metody Assert.Fail. Użyj metody + Assert.AreEqual i skojarzonych przeciążeń w testach jednostkowych. + + Obiekt A + Obiekt B + Zawsze wartość false. + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Typ wyjątku, którego zgłoszenie jest oczekiwane. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek + + AssertFailedException + , + jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek AssertFailedException, jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Testuje, czy kod określony przez delegata zgłasza wyjątek dokładnie typu (a nie jego typu pochodnego) + i zgłasza wyjątek AssertFailedException, jeśli kod nie zgłasza wyjątku lub zgłasza wyjątek typu innego niż . + + Delegat dla kodu do przetestowania, który powinien zgłosić wyjątek. + + Komunikat do dołączenia do wyjątku, gdy element + nie zgłasza wyjątku typu . + + + Tablica parametrów do użycia podczas formatowania elementu . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Element wykonywanie delegata. + + + + + Zastępuje znaki null („\0”) ciągiem „\\0”. + + + Ciąg do wyszukania. + + + Przekonwertowany ciąg ze znakami null zastąpionymi ciągiem „\\0”. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Funkcja pomocnicza, która tworzy i zgłasza wyjątek AssertionFailedException + + + nazwa asercji zgłaszającej wyjątek + + + komunikat opisujący warunki dla błędu asercji + + + Parametry. + + + + + Sprawdza parametry pod kątem prawidłowych warunków + + + Parametr. + + + Nazwa asercji. + + + nazwa parametru + + + komunikat dla wyjątku nieprawidłowego parametru + + + Parametry. + + + + + Bezpiecznie konwertuje obiekt na ciąg, obsługując wartości null i znaki null. + Wartości null są konwertowane na ciąg „(null)”. Znaki null są konwertowane na ciąg „\\0”. + + + Obiekt do przekonwertowania na ciąg. + + + Przekonwertowany ciąg. + + + + + Asercja ciągu. + + + + + Pobiera pojedyncze wystąpienie funkcji CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg zawiera podany podciąg, + i zgłasza wyjątek, jeśli podciąg nie występuje + w testowanym ciągu. + + + Ciąg, który powinien zawierać ciąg . + + + Ciąg, którego wystąpienie jest oczekiwane w ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not found in + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie zaczyna się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg rozpoczyna się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie rozpoczyna się + podciągiem. + + + Ciąg, którego oczekiwany początek to . + + + Ciąg, który powinien być prefiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie zaczyna się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not begin with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie kończy się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg kończy się podanym podciągiem, + i zgłasza wyjątek, jeśli testowany ciąg nie kończy się + podciągiem. + + + Ciąg, którego oczekiwane zakończenie to . + + + Ciąg, który powinien być sufiksem ciągu . + + + Komunikat do dołączenia do wyjątku, gdy element + nie kończy się ciągiem . Komunikat + jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not end with + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + nie pasuje do wzorca . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg nie pasuje do wyrażenia. + + + Ciąg, który powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg ma + pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + nie pasuje do wzorca . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if does not match + . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Thrown if matches . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + dopasowania . Komunikat jest wyświetlony w wynikach + testu. + + + Thrown if matches . + + + + + Testuje, czy określony ciąg nie pasuje do wyrażenia regularnego, + i zgłasza wyjątek, jeśli ciąg pasuje do wyrażenia. + + + Ciąg, który nie powinien pasować do wzorca . + + + Wyrażenie regularne, do którego ciąg nie + powinien pasować. + + + Komunikat do dołączenia do wyjątku, gdy element + dopasowania . Komunikat jest wyświetlony w wynikach + testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if matches . + + + + + Kolekcja klas pomocniczych na potrzeby testowania różnych warunków skojarzonych + z kolekcjami w ramach testów jednostkowych. Jeśli testowany warunek + nie jest spełniony, zostanie zgłoszony wyjątek. + + + + + Pobiera pojedyncze wystąpienie funkcji CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja zawiera podany element, + i zgłasza wyjątek, jeśli element nie znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie znajduje się w ciągu . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Thrown if is found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + znajduje się w kolekcji . Komunikat jest wyświetlony w wynikach + testu. + + + Thrown if is found in + . + + + + + Testuje, czy określona kolekcja nie zawiera podanego elementu, + i zgłasza wyjątek, jeśli element znajduje się w kolekcji. + + + Kolekcja, w której ma znajdować się wyszukiwany element. + + + Element, który nie powinien należeć do kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + znajduje się w kolekcji . Komunikat jest wyświetlony w wynikach + testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera element o wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji mają wartości inne niż null, i zgłasza + wyjątek, jeśli którykolwiek element ma wartość null. + + + Kolekcja, w której mają być wyszukiwane elementy o wartości null. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera element o wartości null. Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if a null element is found in . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera co najmniej jeden zduplikowany element. Komunikat jest wyświetlony w + wynikach testu. + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy wszystkie elementy w określonej kolekcji są unikatowe, + i zgłasza wyjątek, jeśli dowolne dwa elementy w kolekcji są równe. + + + Kolekcja, w której mają być wyszukiwane zduplikowane elementy. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera co najmniej jeden zduplikowany element. Komunikat jest wyświetlony w + wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if a two or more equal elements are found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Thrown if an element in is not found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie można odnaleźć w . + Komunikat jest wyświetlany w wynikach testu. + + + Thrown if an element in is not found in + . + + + + + Testuje, czy dana kolekcja stanowi podzbiór innej kolekcji, + i zgłasza wyjątek, jeśli dowolny element podzbioru znajduje się także + w nadzbiorze. + + + Kolekcja powinna być podzbiorem . + + + Kolekcja powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie można odnaleźć w . + Komunikat jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element in is not found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Thrown if every element in is also found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy każdy element w kolekcji + znajduje się również w kolekcji . + Komunikat jest wyświetlany w wynikach testu. + + + Thrown if every element in is also found in + . + + + + + Testuje, czy jedna kolekcja nie jest podzbiorem innej kolekcji, + i zgłasza wyjątek, jeśli wszystkie elementy w podzbiorze znajdują się również + w nadzbiorze. + + + Kolekcja nie powinna być podzbiorem . + + + Kolekcja nie powinna być nadzbiorem + + + Komunikat do uwzględnienia w wyjątku, gdy każdy element w kolekcji + znajduje się również w kolekcji . + Komunikat jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if every element in is also found in + . + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do uwzględnienia w wyjątku, gdy element został odnaleziony + w jednej z kolekcji, ale nie ma go w drugiej. Komunikat jest wyświetlany + w wynikach testu. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają te same elementy, i zgłasza + wyjątek, jeśli któraś z kolekcji zawiera element niezawarty w drugiej + kolekcji. + + + Pierwsza kolekcja do porównania. Zawiera elementy oczekiwane przez + test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do uwzględnienia w wyjątku, gdy element został odnaleziony + w jednej z kolekcji, ale nie ma go w drugiej. Komunikat jest wyświetlany + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera te same elementy co . Komunikat + jest wyświetlany w wynikach testu. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testuje, czy dwie kolekcje zawierają różne elementy, i zgłasza + wyjątek, jeśli dwie kolekcje zawierają identyczne elementy bez względu + na porządek. + + + Pierwsza kolekcja do porównania. Zawiera elementy, co do których test oczekuje, + że będą inne niż rzeczywista kolekcja. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + zawiera te same elementy co . Komunikat + jest wyświetlany w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie jest wystąpieniem + . Komunikat jest wyświetlony w wynikach testu. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Sprawdza, czy wszystkie elementy w określonej kolekcji są wystąpieniami + oczekiwanego typu i zgłasza wyjątek, jeśli oczekiwanego typu nie ma + w hierarchii dziedziczenia jednego lub większej liczby elementów. + + + Kolekcja zawierająca elementy, co do których test oczekuje, że będą + elementami określonego typu. + + + Oczekiwany typ każdego elementu kolekcji . + + + Komunikat do uwzględnienia w wyjątku, gdy elementu w + nie jest wystąpieniem + . Komunikat jest wyświetlony w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są równe, i zgłasza wyjątek, + jeśli dwie kolekcje nie są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja oczekiwana przez test. + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + nie jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is not equal to + . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Thrown if is equal to . + + + + + Testuje, czy określone kolekcje są nierówne, i zgłasza wyjątek, + jeśli dwie kolekcje są równe. Równość jest definiowana jako zawieranie tych samych + elementów w takim samym porządku i ilości. Różne odwołania do tej samej + wartości są uznawane za równe. + + + Pierwsza kolekcja do porównania. To jest kolekcja, co do której test oczekuje +, że nie będzie zgodna . + + + Druga kolekcja do porównania. To jest kolekcja utworzona przez + testowany kod. + + + Implementacja porównania do użycia podczas porównywania elementów kolekcji. + + + Komunikat do dołączenia do wyjątku, gdy element + jest równy elementowi . Komunikat jest wyświetlony + w wynikach testu. + + + Tablica parametrów do użycia podczas formatowania elementu . + + + Thrown if is equal to . + + + + + Określa, czy pierwsza kolekcja jest podzbiorem drugiej kolekcji. + Jeśli któryś zbiór zawiera zduplikowane elementy, liczba wystąpień + elementu w podzbiorze musi być mniejsza lub równa liczbie + wystąpień w nadzbiorze. + + + Kolekcja, co do której test oczekuje, że powinna być zawarta w . + + + Kolekcja, co do której test oczekuje, że powinna zawierać . + + + Wartość true, jeśli jest podzbiorem kolekcji + , w przeciwnym razie wartość false. + + + + + Tworzy słownik zawierający liczbę wystąpień każdego elementu + w określonej kolekcji. + + + Kolekcja do przetworzenia. + + + Liczba elementów o wartości null w kolekcji. + + + Słownik zawierający liczbę wystąpień każdego elementu + w określonej kolekcji. + + + + + Znajduje niezgodny element w dwóch kolekcjach. Niezgodny + element to ten, którego liczba wystąpień w oczekiwanej kolekcji + jest inna niż w rzeczywistej kolekcji. Kolekcje + są uznawane za różne odwołania o wartości innej niż null z tą samą + liczbą elementów. Obiekt wywołujący jest odpowiedzialny za ten poziom weryfikacji. + Jeśli nie ma żadnego niezgodnego elementu, funkcja zwraca wynik + false i parametry wyjściowe nie powinny być używane. + + + Pierwsza kolekcja do porównania. + + + Druga kolekcja do porównania. + + + Oczekiwana liczba wystąpień elementu + lub 0, jeśli nie ma żadnego niezgodnego + elementu. + + + Rzeczywista liczba wystąpień elementu + lub 0, jeśli nie ma żadnego niezgodnego + elementu. + + + Niezgodny element (może mieć wartość null) lub wartość null, jeśli + nie ma żadnego niezgodnego elementu. + + + wartość true, jeśli znaleziono niezgodny element; w przeciwnym razie wartość false. + + + + + porównuje obiekty przy użyciu funkcji object.Equals + + + + + Klasa podstawowa dla wyjątków struktury. + + + + + Inicjuje nowe wystąpienie klasy . + + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + Wyjątek. + + + + Inicjuje nowe wystąpienie klasy . + + Komunikat. + + + + Silnie typizowana klasa zasobów do wyszukiwania zlokalizowanych ciągów itp. + + + + + Zwraca buforowane wystąpienie ResourceManager używane przez tę klasę. + + + + + Przesłania właściwość CurrentUICulture bieżącego wątku dla wszystkich + przypadków przeszukiwania zasobów za pomocą tej silnie typizowanej klasy zasobów. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg dostępu ma nieprawidłową składnię. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana kolekcja zawiera następującą liczbę wystąpień elementu <{2}>: {1}. Rzeczywista kolekcja zawiera następującą liczbę wystąpień: {3}. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Znaleziono zduplikowany element: <{1}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano: <{1}>. Przypadek jest inny w wartości rzeczywistej: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano różnicy nie większej niż <{3}> między oczekiwaną wartością <{1}> i wartością rzeczywistą <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana wartość: <{1} ({2})>. Rzeczywista wartość: <{3} ({4})>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwana wartość: <{1}>. Rzeczywista wartość: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano różnicy większej niż <{3}> między oczekiwaną wartością <{1}> a wartością rzeczywistą <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwano dowolnej wartości z wyjątkiem: <{1}>. Wartość rzeczywista: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie przekazuj typów wartości do metody AreSame(). Wartości przekonwertowane na typ Object nigdy nie będą takie same. Rozważ użycie metody AreEqual(). {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} — niepowodzenie. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do asynchronicznej metody TestMethod z elementem UITestMethodAttribute, które nie są obsługiwane. Usuń element asynchroniczny lub użyj elementu TestMethodAttribute. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje są puste. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje zawierają te same elementy. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Odwołania do obu kolekcji wskazują ten sam obiekt kolekcji. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Obie kolekcje zawierają te same elementy. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0}({1}). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (null). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (object). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie zawiera ciągu „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} ({1}). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie można użyć metody Assert.Equals dla asercji. Zamiast tego użyj metody Assert.AreEqual i przeciążeń. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Liczba elementów w kolekcjach nie jest zgodna. Oczekiwana wartość: <{1}>. Wartość rzeczywista: <{2}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {0} nie jest zgodny. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {1} nie ma oczekiwanego typu. Oczekiwany typ: <{2}>. Rzeczywisty typ: <{3}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Element w indeksie {1} ma wartość (null). Oczekiwany typ: <{2}>.{0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie kończy się ciągiem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nieprawidłowy argument. Element EqualsTester nie może używać wartości null. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie można przekonwertować obiektu typu {0} na typ {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Przywoływany obiekt wewnętrzny nie jest już prawidłowy. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Parametr „{0}” jest nieprawidłowy. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Właściwość {0} ma typ {1}. Oczekiwano typu {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: {0} Oczekiwany typ: <{1}>. Rzeczywisty typ: <{2}>. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie jest zgodny ze wzorcem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Niepoprawny typ: <{1}>. Rzeczywisty typ: <{2}>. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” jest zgodny ze wzorcem „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie określono atrybutu DataRowAttribute. Atrybut DataTestMethodAttribute wymaga co najmniej jednego atrybutu DataRowAttribute. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Nie zgłoszono wyjątku. Oczekiwany wyjątek: {1}. {0}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Parametr „{0}” jest nieprawidłowy. Wartość nie może być równa null. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Inna liczba elementów. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: + Nie można odnaleźć konstruktora z określoną sygnaturą. Może być konieczne ponowne wygenerowanie prywatnej metody dostępu + lub element członkowski może być zdefiniowany jako prywatny w klasie podstawowej. W drugim przypadku należy przekazać typ, + który definiuje element członkowski w konstruktorze obiektu PrivateObject. + . + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: + Nie można odnaleźć określonego elementu członkowskiego ({0}). Może być konieczne ponowne wygenerowanie prywatnej metody dostępu + lub element członkowski może być zdefiniowany jako prywatny w klasie podstawowej. W drugim przypadku należy przekazać typ, + który definiuje element członkowski w konstruktorze obiektu PrivateObject. + . + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Ciąg „{0}” nie rozpoczyna się od ciągu „{1}”. {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Oczekiwanym typem wyjątku musi być typ System.Exception lub typ pochodzący od typu System.Exception. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: (Nie można pobrać komunikatu dotyczącego wyjątku typu {0} z powodu wyjątku). + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa nie zgłosiła oczekiwanego wyjątku {0}. {1}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa nie zgłosiła wyjątku. Wyjątek był oczekiwany przez atrybut {0} zdefiniowany w metodzie testowej. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa zgłosiła wyjątek {0}, ale oczekiwano wyjątku {1}. Komunikat o wyjątku: {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Metoda testowa zgłosiła wyjątek {0}, ale oczekiwano wyjątku {1} lub typu, który od niego pochodzi. Komunikat o wyjątku: {2}. + + + + + Wyszukuje zlokalizowany ciąg podobny do następującego: Zgłoszono wyjątek {2}, ale oczekiwano wyjątku {1}. {0} + Komunikat o wyjątku: {3} + Ślad stosu: {4}. + + + + + wyniki testu jednostkowego + + + + + Test został wykonany, ale wystąpiły problemy. + Problemy mogą obejmować wyjątki lub asercje zakończone niepowodzeniem. + + + + + Test został ukończony, ale nie można stwierdzić, czy zakończył się powodzeniem, czy niepowodzeniem. + Może być używany dla przerwanych testów. + + + + + Test został wykonany bez żadnych problemów. + + + + + Test jest obecnie wykonywany. + + + + + Wystąpił błąd systemu podczas próby wykonania testu. + + + + + Upłynął limit czasu testu. + + + + + Test został przerwany przez użytkownika. + + + + + Stan testu jest nieznany + + + + + Udostępnia funkcjonalność pomocnika dla platformy testów jednostkowych + + + + + Pobiera komunikaty wyjątku, w tym rekursywnie komunikaty wszystkich wewnętrznych + wyjątków + + Wyjątek, dla którego mają zostać pobrane komunikaty + ciąg z informacjami o komunikacie o błędzie + + + + Wyliczenie dla limitów czasu, które może być używane z klasą . + Typ wyliczenia musi być zgodny + + + + + Nieskończone. + + + + + Atrybut klasy testowej. + + + + + Pobiera atrybut metody testowej, który umożliwia uruchomienie tego testu. + + Wystąpienie atrybutu metody testowej zdefiniowane w tej metodzie. + do użycia do uruchamiania tego testu. + Extensions can override this method to customize how all methods in a class are run. + + + + Atrybut metody testowej. + + + + + Wykonuje metodę testową. + + Metoda testowa do wykonania. + Tablica obiektów TestResult reprezentujących wyniki testu. + Extensions can override this method to customize running a TestMethod. + + + + Atrybut inicjowania testu. + + + + + Atrybut oczyszczania testu. + + + + + Atrybut ignorowania. + + + + + Atrybut właściwości testu. + + + + + Inicjuje nowe wystąpienie klasy . + + + Nazwa. + + + Wartość. + + + + + Pobiera nazwę. + + + + + Pobiera wartość. + + + + + Atrybut inicjowania klasy. + + + + + Atrybut oczyszczania klasy. + + + + + Atrybut inicjowania zestawu. + + + + + Atrybut oczyszczania zestawu. + + + + + Właściciel testu + + + + + Inicjuje nowe wystąpienie klasy . + + + Właściciel. + + + + + Pobiera właściciela. + + + + + Atrybut priorytetu służący do określania priorytetu testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy . + + + Priorytet. + + + + + Pobiera priorytet. + + + + + Opis testu + + + + + Inicjuje nowe wystąpienie klasy do opisu testu. + + Opis. + + + + Pobiera opis testu. + + + + + Identyfikator URI struktury projektu CSS + + + + + Inicjuje nowe wystąpienie klasy dla identyfikatora URI struktury projektu CSS. + + Identyfikator URI struktury projektu CSS. + + + + Pobiera identyfikator URI struktury projektu CSS. + + + + + Identyfikator URI iteracji CSS + + + + + Inicjuje nowe wystąpienie klasy dla identyfikatora URI iteracji CSS. + + Identyfikator URI iteracji CSS. + + + + Pobiera identyfikator URI iteracji CSS. + + + + + Atrybut elementu roboczego służący do określania elementu roboczego skojarzonego z tym testem. + + + + + Inicjuje nowe wystąpienie klasy dla atrybutu WorkItem. + + Identyfikator dla elementu roboczego. + + + + Pobiera identyfikator dla skojarzonego elementu roboczego. + + + + + Atrybut limitu czasu służący do określania limitu czasu testu jednostkowego. + + + + + Inicjuje nowe wystąpienie klasy . + + + Limit czasu. + + + + + Inicjuje nowe wystąpienie klasy ze wstępnie ustawionym limitem czasu + + + Limit czasu + + + + + Pobiera limit czasu. + + + + + Obiekt TestResult zwracany do adaptera. + + + + + Inicjuje nowe wystąpienie klasy . + + + + + Pobiera lub ustawia nazwę wyświetlaną wyniku. Przydatny w przypadku zwracania wielu wyników. + Jeśli ma wartość null, nazwa metody jest używana jako nazwa wyświetlana. + + + + + Pobiera lub ustawia wynik wykonania testu. + + + + + Pobiera lub ustawia wyjątek zgłoszony, gdy test kończy się niepowodzeniem. + + + + + Pobiera lub ustawia dane wyjściowe komunikatu rejestrowanego przez kod testu. + + + + + Pobiera lub ustawia dane wyjściowe komunikatu rejestrowanego przez kod testu. + + + + + Pobiera lub ustawia ślady debugowania przez kod testu. + + + + + Gets or sets the debug traces by test code. + + + + + Pobiera lub ustawia czas trwania wykonania testu. + + + + + Pobiera lub ustawia indeks wiersza danych w źródle danych. Ustawia tylko dla wyników oddzielnych + uruchomień wiersza danych w teście opartym na danych. + + + + + Pobiera lub ustawia wartość zwracaną metody testowej. (Obecnie zawsze wartość null). + + + + + Pobiera lub ustawia pliki wyników dołączone przez test. + + + + + Określa parametry połączenia, nazwę tabeli i metodę dostępu do wiersza w przypadku testowania opartego na danych. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Nazwa domyślnego dostawcy dla źródła danych. + + + + + Domyślna metoda uzyskiwania dostępu do danych. + + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z dostawcą danych, parametrami połączenia, tabelą danych i metodą dostępu do danych w celu uzyskania dostępu do źródła danych. + + Niezmienna nazwa dostawcy danych, taka jak System.Data.SqlClient + + Parametry połączenia specyficzne dla dostawcy danych. + OSTRZEŻENIE: parametry połączenia mogą zawierać poufne dane (na przykład hasło). + Parametry połączenia są przechowywane w postaci zwykłego tekstu w kodzie źródłowym i w skompilowanym zestawie. + Należy ograniczyć dostęp do kodu źródłowego i zestawu, aby chronić te poufne informacje. + + Nazwa tabeli danych. + Określa kolejność dostępu do danych. + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z parametrami połączenia i nazwą tabeli. + Określ parametry połączenia i tabelę danych w celu uzyskania dostępu do źródła danych OLEDB. + + + Parametry połączenia specyficzne dla dostawcy danych. + OSTRZEŻENIE: parametry połączenia mogą zawierać poufne dane (na przykład hasło). + Parametry połączenia są przechowywane w postaci zwykłego tekstu w kodzie źródłowym i w skompilowanym zestawie. + Należy ograniczyć dostęp do kodu źródłowego i zestawu, aby chronić te poufne informacje. + + Nazwa tabeli danych. + + + + Inicjuje nowe wystąpienie klasy . To wystąpienie zostanie zainicjowane z dostawcą danych i parametrami połączenia skojarzonymi z nazwą ustawienia. + + Nazwa źródła danych znaleziona w sekcji <microsoft.visualstudio.qualitytools> pliku app.config. + + + + Pobiera wartość reprezentującą dostawcę danych źródła danych. + + + Nazwa dostawcy danych. Jeśli dostawca danych nie został wyznaczony w czasie inicjowania obiektu, zostanie zwrócony domyślny dostawca obiektu System.Data.OleDb. + + + + + Pobiera wartość reprezentującą parametry połączenia dla źródła danych. + + + + + Pobiera wartość wskazującą nazwę tabeli udostępniającej dane. + + + + + Pobiera metodę używaną do uzyskiwania dostępu do źródła danych. + + + + Jedna z . Jeśli nie zainicjowano , zwróci wartość domyślną . + + + + + Pobiera nazwę źródła danych znajdującego się w sekcji <microsoft.visualstudio.qualitytools> w pliku app.config. + + + + + Atrybut dla testu opartego na danych, w którym dane można określić bezpośrednio. + + + + + Znajdź wszystkie wiersze danych i wykonaj. + + + Metoda testowa. + + + Tablica elementów . + + + + + Uruchamianie metody testowej dla testu opartego na danych. + + Metoda testowa do wykonania. + Wiersz danych. + Wyniki wykonania. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..d5c4cce --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Usado para especificar o item de implantação (arquivo ou diretório) para implantação por teste. + Pode ser especificado em classe de teste ou em método de teste. + Pode ter várias instâncias do atributo para especificar mais de um item. + O caminho do item pode ser absoluto ou relativo. Se relativo, é relativo a RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + Inicializa uma nova instância da classe . + + O arquivo ou o diretório a ser implantado. O caminho é relativo ao diretório de saída do build. O item será copiado para o mesmo diretório que o dos assemblies de teste implantados. + + + + Inicializa uma nova instância da classe + + O caminho relativo ou absoluto ao arquivo ou ao diretório a ser implantado. O caminho é relativo ao diretório de saída do build. O item será copiado para o mesmo diretório que o dos assemblies de teste implantados. + O caminho do diretório para o qual os itens deverão ser copiados. Ele pode ser absoluto ou relativo ao diretório de implantação. Todos os arquivos e diretórios identificados por serão copiados para esse diretório. + + + + Obtém o caminho da pasta ou do arquivo de origem a ser copiado. + + + + + Obtém o caminho do diretório para o qual o item é copiado. + + + + + Executar código de teste no thread da Interface do Usuário para Aplicativos da Windows Store. + + + + + Executa o método de teste no Thread da Interface do Usuário. + + + O Método de teste. + + + Uma matriz de instâncias. + + Throws when run on an async test method. + + + + + Classe TestContext. Essa classe deve ser totalmente abstrata e não conter nenhum + membro. O adaptador implementará os membros. Os usuários na estrutura devem + acessá-la somente por meio de uma interface bem definida. + + + + + Obtém as propriedades de teste para um teste. + + + + + Obtém o Nome totalmente qualificado da classe contendo o método de teste executado no momento + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Obtém o Nome do método de teste executado no momento + + + + + Obtém o resultado do teste atual. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..2b63dd5 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + O TestMethod para a execução. + + + + + Obtém o nome do método de teste. + + + + + Obtém o nome da classe de teste. + + + + + Obtém o tipo de retorno do método de teste. + + + + + Obtém os parâmetros do método de teste. + + + + + Obtém o methodInfo para o método de teste. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Invoca o método de teste. + + + Argumentos a serem passados ao método de teste. (Por exemplo, para testes controlados por dados) + + + Resultado da invocação do método de teste. + + + This call handles asynchronous test methods as well. + + + + + Obter todos os atributos do método de teste. + + + Se o atributo definido na classe pai é válido. + + + Todos os atributos. + + + + + Obter atributo de tipo específico. + + System.Attribute type. + + Se o atributo definido na classe pai é válido. + + + Os atributos do tipo especificado. + + + + + O auxiliar. + + + + + O parâmetro de verificação não nulo. + + + O parâmetro. + + + O nome do parâmetro. + + + A mensagem. + + Throws argument null exception when parameter is null. + + + + O parâmetro de verificação não nulo nem vazio. + + + O parâmetro. + + + O nome do parâmetro. + + + A mensagem. + + Throws ArgumentException when parameter is null. + + + + Enumeração para como acessamos as linhas de dados no teste controlado por dados. + + + + + As linhas são retornadas em ordem sequencial. + + + + + As linhas são retornadas em ordem aleatória. + + + + + O atributo para definir dados embutidos para um método de teste. + + + + + Inicializa uma nova instância da classe . + + O objeto de dados. + + + + Inicializa a nova instância da classe que ocupa uma matriz de argumentos. + + Um objeto de dados. + Mais dados. + + + + Obtém Dados para chamar o método de teste. + + + + + Obtém ou define o nome de exibição nos resultados de teste para personalização. + + + + + A exceção inconclusiva da asserção. + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Inicializa uma nova instância da classe . + + + + + Classe InternalTestFailureException. Usada para indicar falha interna de um caso de teste + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Inicializa uma nova instância da classe . + + A mensagem de exceção. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem de exceção. + + + + Inicializa uma nova instância da classe . + + + + + Atributo que especifica que uma exceção do tipo especificado é esperada + + + + + Inicializa uma nova instância da classe com o tipo especificado + + Tipo da exceção esperada + + + + Inicializa uma nova instância da classe com + o tipo esperado e a mensagem a ser incluída quando nenhuma exceção é gerada pelo teste. + + Tipo da exceção esperada + + Mensagem a ser incluída no resultado do teste se ele falhar por não gerar uma exceção + + + + + Obtém um valor que indica o Tipo da exceção esperada + + + + + Obtém ou define um valor que indica se é para permitir tipos derivados do tipo da exceção esperada para + qualificá-la como esperada + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Verifica se o tipo da exceção gerada pelo teste de unidade é esperado + + A exceção gerada pelo teste de unidade + + + + Classe base para atributos que especificam que uma exceção de um teste de unidade é esperada + + + + + Inicializa uma nova instância da classe com uma mensagem de não exceção padrão + + + + + Inicializa a nova instância da classe com uma mensagem de não exceção + + + Mensagem a ser incluída no resultado do teste se ele falhar por não gerar uma + exceção + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Obtém a mensagem a ser incluída no resultado do teste caso o teste falhe devido à não geração de uma exceção + + + + + Obtém a mensagem de não exceção padrão + + O nome do tipo de atributo ExpectedException + A mensagem de não exceção padrão + + + + Determina se uma exceção é esperada. Se o método é retornado, entende-se + que a exceção era esperada. Se o método gera uma exceção, entende-se + que a exceção não era esperada e a mensagem de exceção gerada + é incluída no resultado do teste. A classe pode ser usada para + conveniência. Se é usada e há falha de asserção, + o resultado do teste é definido como Inconclusivo. + + A exceção gerada pelo teste de unidade + + + + Gerar a exceção novamente se for uma AssertFailedException ou uma AssertInconclusiveException + + A exceção a ser gerada novamente se for uma exceção de asserção + + + + Essa classe é projetada para ajudar o usuário a executar o teste de unidade para os tipos que usam tipos genéricos. + GenericParameterHelper satisfaz algumas restrições comuns de tipos genéricos, + como: + 1. construtor público padrão + 2. implementa interface comum: IComparable, IEnumerable + + + + + Inicializa a nova instância da classe que + satisfaz a restrição 'newable' em genéricos C#. + + + This constructor initializes the Data property to a random value. + + + + + Inicializa a nova instância da classe que + inicializa a propriedade Data para um valor fornecido pelo usuário. + + Qualquer valor inteiro + + + + Obtém ou define Data + + + + + Executa a comparação de valores de dois objetos GenericParameterHelper + + objeto com o qual comparar + verdadeiro se o objeto tem o mesmo valor que 'esse' objeto GenericParameterHelper. + Caso contrário, falso. + + + + Retorna um código hash para esse objeto. + + O código hash. + + + + Compara os dados dos dois objetos . + + O objeto com o qual comparar. + + Um número assinado indicando os valores relativos dessa instância e valor. + + + Thrown when the object passed in is not an instance of . + + + + + Retorna um objeto IEnumerator cujo comprimento é derivado + da propriedade Data. + + O objeto IEnumerator + + + + Retorna um objeto GenericParameterHelper que é igual ao + objeto atual. + + O objeto clonado. + + + + Permite que usuários registrem/gravem rastros de testes de unidade para diagnósticos. + + + + + Manipulador para LogMessage. + + Mensagem a ser registrada. + + + + Evento a ser escutado. Acionado quando o gerador do teste de unidade escreve alguma mensagem. + Principalmente para ser consumido pelo adaptador. + + + + + API para o gravador de teste chamar Registrar mensagens. + + Formato de cadeia de caracteres com espaços reservados. + Parâmetros dos espaços reservados. + + + + Atributo TestCategory. Usado para especificar a categoria de um teste de unidade. + + + + + Inicializa a nova instância da classe e aplica a categoria ao teste. + + + A Categoria de teste. + + + + + Obtém as categorias de teste aplicadas ao teste. + + + + + Classe base para o atributo "Category" + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Inicializa a nova instância da classe . + Aplica a categoria ao teste. As cadeias de caracteres retornadas por TestCategories + são usadas com o comando /category para filtrar os testes + + + + + Obtém a categoria de teste aplicada ao teste. + + + + + Classe AssertFailedException. Usada para indicar falha em um caso de teste + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Inicializa uma nova instância da classe . + + + + + Uma coleção de classes auxiliares para testar várias condições nos + testes de unidade. Se a condição testada não é atendida, uma exceção + é gerada. + + + + + Obtém uma instância singleton da funcionalidade Asserção. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + Thrown if is false. + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + A mensagem a ser incluída na exceção quando + é falsa. A mensagem é mostrada nos resultados de teste. + + + Thrown if is false. + + + + + Testa se a condição especificada é verdadeira e gera uma exceção + se a condição é falsa. + + + A condição que o teste espera ser verdadeira. + + + A mensagem a ser incluída na exceção quando + é falsa. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is false. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + Thrown if is true. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + A mensagem a ser incluída na exceção quando + é verdadeira. A mensagem é mostrada nos resultados de teste. + + + Thrown if is true. + + + + + Testa se a condição especificada é falsa e gera uma exceção + se a condição é verdadeira. + + + A condição que o teste espera ser falsa. + + + A mensagem a ser incluída na exceção quando + é verdadeira. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is true. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + Thrown if is not null. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + A mensagem a ser incluída na exceção quando + não é nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if is not null. + + + + + Testa se o objeto especificado é nulo e gera uma exceção + caso ele não seja. + + + O objeto que o teste espera ser nulo. + + + A mensagem a ser incluída na exceção quando + não é nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + Thrown if is null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + A mensagem a ser incluída na exceção quando + é nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if is null. + + + + + Testa se o objeto especificado é não nulo e gera uma exceção + caso ele seja nulo. + + + O objeto que o teste espera que não seja nulo. + + + A mensagem a ser incluída na exceção quando + é nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is null. + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é o mesmo que . A mensagem é mostrada + nos resultados de teste. + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem ao mesmo objeto e + gera uma exceção se as duas entradas não se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é o mesmo que . A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not refer to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if refers to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é o mesmo que . A mensagem é mostrada nos + resultados de teste. + + + Thrown if refers to the same object + as . + + + + + Testa se os objetos especificados se referem a objetos diferentes e + gera uma exceção se as duas entradas se referem ao mesmo objeto. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é o mesmo que . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if refers to the same object + as . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if is not equal to . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os valores especificados são iguais e gera uma exceção + se os dois valores não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trate-se do valor esperado pelo teste. + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + Thrown if is equal to . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os valores especificados são desiguais e gera uma exceção + se os dois valores são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + The type of values to compare. + + + O primeiro valor a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo valor a ser comparado. Trata-se do valor produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são iguais e gera uma exceção + se os dois objetos não são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do objeto esperado pelo teste. + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os objetos especificados são desiguais e gera uma exceção + se os dois objetos são iguais. Tipos numéricos diferentes são tratados + como desiguais mesmo se os valores lógicos são iguais. 42L não é igual a 42. + + + O primeiro objeto a ser comparado. Trata-se do valor que o teste espera que não + corresponda a . + + + O segundo objeto a ser comparado. Trata-se do objeto produzido pelo código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro float a ser comparado. Trata-se do float esperado pelo teste. + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + Thrown if is equal to . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os floats especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro float a ser comparado. Trata-se do float que o teste espera que não + corresponda a . + + + O segundo float a ser comparado. Trata-se do float produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + Thrown if is not equal to + . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se os duplos especificados são iguais e gera uma exceção + se eles não são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo esperado pelo teste. + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por mais de . + + + A mensagem a ser incluída na exceção quando + for diferente de por mais de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if is equal to . + + + + + Testa se os duplos especificados são desiguais e gera uma exceção + se eles são iguais. + + + O primeiro duplo a ser comparado. Trata-se do duplo que o teste espera que não + corresponda a . + + + O segundo duplo a ser comparado. Trata-se do duplo produzido pelo código em teste. + + + A precisão necessária. Uma exceção será gerada somente se + for diferente de + por no máximo . + + + A mensagem a ser incluída na exceção quando + é igual a ou diferente por menos de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são iguais e gera uma exceção + se elas não são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres esperada pelo teste. + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. A cultura invariável é usada para a comparação. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as cadeias de caracteres especificadas são desiguais e gera uma exceção + se elas são iguais. + + + A primeira cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres que o teste espera que não + corresponda a . + + + A segunda cadeia de caracteres a ser comparada. Trata-se da cadeia de caracteres produzida pelo código em teste. + + + Um booliano que indica uma comparação que diferencia ou não maiúsculas de minúsculas. (verdadeiro + indica uma comparação que diferencia maiúsculas de minúsculas.) + + + Um objeto CultureInfo que fornece informações de comparação específicas de cultura. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + A mensagem a ser incluída na exceção quando + não é uma instância de . A mensagem é + mostrada nos resultados de teste. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado é uma instância do tipo + esperado e gera uma exceção se o tipo esperado não está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que seja do tipo especificado. + + + O tipo esperado de . + + + A mensagem a ser incluída na exceção quando + não é uma instância de . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + A mensagem a ser incluída na exceção quando + é uma instância de . A mensagem é mostrada + nos resultados de teste. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Testa se o objeto especificado não é uma instância do tipo + incorreto e gera uma exceção se o tipo especificado está na + hierarquia de herança do objeto. + + + O objeto que o teste espera que não seja do tipo especificado. + + + O tipo que não deve ser. + + + A mensagem a ser incluída na exceção quando + é uma instância de . A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Gera uma AssertFailedException. + + + Always thrown. + + + + + Gera uma AssertFailedException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Always thrown. + + + + + Gera uma AssertFailedException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Always thrown. + + + + + Gera uma AssertInconclusiveException. + + + A mensagem a ser incluída na exceção. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Always thrown. + + + + + Os métodos estático igual a sobrecargas são usados para comparar instâncias de dois tipos em relação à igualdade de + referência. Esse método não deve ser usado para comparar a igualdade de + duas instâncias. Esse objeto sempre gerará Assert.Fail. Use + Assert.AreEqual e sobrecargas associadas nos testes de unidade. + + Objeto A + Objeto B + Sempre falso. + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O tipo de exceção que se espera que seja gerada. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera + + AssertFailedException + + se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + + Delegado ao código a ser testado e que é esperado que gere exceção. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera AssertFailedException se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + Delegado ao código a ser testado e que é esperado que gere exceção. + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Testa se o código especificado pelo delegado gera a exceção exata especificada de tipo (e não de tipo derivado) + e gera AssertFailedException se o código não gera uma exceção ou gera uma exceção de outro tipo diferente de . + + Delegado ao código a ser testado e que é esperado que gere exceção. + + A mensagem a ser incluída na exceção quando + não gera exceção de tipo . + + + Uma matriz de parâmetros a serem usados ao formatar . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + O executando o representante. + + + + + Substitui os caracteres nulos ('\0') por "\\0". + + + A cadeia de caracteres a ser pesquisada. + + + A cadeia de caracteres convertida com os caracteres nulos substituídos por "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Função auxiliar que cria e gera uma AssertionFailedException + + + nome da asserção que gera uma exceção + + + mensagem que descreve as condições da falha de asserção + + + Os parâmetros. + + + + + Verifica o parâmetro das condições válidas + + + O parâmetro. + + + O Nome da asserção. + + + nome do parâmetro + + + mensagem da exceção de parâmetro inválido + + + Os parâmetros. + + + + + Converte com segurança um objeto em uma cadeia de caracteres manipulando valores e caracteres nulos. + Os valores nulos são convertidos em "(null)". Os caracteres nulos são convertidos em "\\0". + + + O objeto a ser convertido em uma cadeia de caracteres. + + + A cadeia de caracteres convertida. + + + + + A asserção da cadeia de caracteres. + + + + + Obtém a instância singleton da funcionalidade CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada contém a subcadeia especificada + e gera uma exceção se a subcadeia não ocorre na + cadeia de teste. + + + A cadeia de caracteres que se espera que contenha . + + + A cadeia de caracteres que se espera que ocorra em . + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not found in + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + A mensagem a ser incluída na exceção quando + não começa com . A mensagem é + mostrada nos resultados de teste. + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada começa com a subcadeia especificada + e gera uma exceção se a cadeia de teste não começa com a + subcadeia. + + + A cadeia de caracteres que se espera que comece com . + + + A cadeia de caracteres que se espera que seja um prefixo de . + + + A mensagem a ser incluída na exceção quando + não começa com . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not begin with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + A mensagem a ser incluída na exceção quando + não termina com . A mensagem é + mostrada nos resultados de teste. + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada termina com a subcadeia especificada + e gera uma exceção se a cadeia de teste não termina com a + subcadeia. + + + A cadeia de caracteres que se espera que termine com . + + + A cadeia de caracteres que se espera que seja um sufixo de . + + + A mensagem a ser incluída na exceção quando + não termina com . A mensagem é + mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not end with + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + A mensagem a ser incluída na exceção quando + não corresponde a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada corresponde a uma expressão regular e + gera uma exceção se a cadeia não corresponde à expressão. + + + A cadeia de caracteres que se espera que corresponda a . + + + A expressão regular com a qual se espera que tenha + correspondência. + + + A mensagem a ser incluída na exceção quando + não corresponde a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if does not match + . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + Thrown if matches . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + A mensagem a ser incluída na exceção quando + corresponde a . A mensagem é mostrada nos resultados de + teste. + + + Thrown if matches . + + + + + Testa se a cadeia de caracteres especificada não corresponde a uma expressão regular + e gera uma exceção se a cadeia corresponde à expressão. + + + A cadeia de caracteres que se espera que não corresponda a . + + + A expressão regular com a qual se espera que é + esperado não corresponder. + + + A mensagem a ser incluída na exceção quando + corresponde a . A mensagem é mostrada nos resultados de + teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if matches . + + + + + Uma coleção de classes auxiliares para testar várias condições associadas + às coleções nos testes de unidade. Se a condição testada não é + atendida, uma exceção é gerada. + + + + + Obtém a instância singleton da funcionalidade CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada contém o elemento especificado + e gera uma exceção se o elemento não está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que esteja na coleção. + + + A mensagem a ser incluída na exceção quando + não está em . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + Thrown if is found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + A mensagem a ser incluída na exceção quando + está em . A mensagem é mostrada nos resultados de + teste. + + + Thrown if is found in + . + + + + + Testa se a coleção especificada não contém o elemento + especificado e gera uma exceção se o elemento está na coleção. + + + A coleção na qual pesquisar o elemento. + + + O elemento que se espera que não esteja na coleção. + + + A mensagem a ser incluída na exceção quando + está em . A mensagem é mostrada nos resultados de + teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is found in + . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + A mensagem a ser incluída na exceção quando + contém um elemento nulo. A mensagem é mostrada nos resultados de teste. + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são não nulos e gera + uma exceção se algum elemento é nulo. + + + A coleção na qual pesquisar elementos nulos. + + + A mensagem a ser incluída na exceção quando + contém um elemento nulo. A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if a null element is found in . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + A mensagem a ser incluída na exceção quando + contém pelo menos um elemento duplicado. A mensagem é mostrada nos + resultados de teste. + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se todos os itens na coleção especificada são exclusivos ou não e + gera uma exceção se dois elementos na coleção são iguais. + + + A coleção na qual pesquisar elementos duplicados. + + + A mensagem a ser incluída na exceção quando + contém pelo menos um elemento duplicado. A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if a two or more equal elements are found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + A mensagem a ser incluída na exceção quando um elemento em + não é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção é um subconjunto de outra coleção e + gera uma exceção se algum elemento no subconjunto não está também no + superconjunto. + + + A coleção que se espera que seja um subconjunto de . + + + A coleção que se espera que seja um superconjunto de + + + A mensagem a ser incluída na exceção quando um elemento em + não é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element in is not found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + Thrown if every element in is also found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + A mensagem a ser incluída na exceção quando todo elemento em + também é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Thrown if every element in is also found in + . + + + + + Testa se uma coleção não é um subconjunto de outra coleção e + gera uma exceção se todos os elementos no subconjunto também estão no + superconjunto. + + + A coleção que se espera que não seja um subconjunto de . + + + A coleção que se espera que não seja um superconjunto de + + + A mensagem a ser incluída na exceção quando todo elemento em + também é encontrado em . + A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if every element in is also found in + . + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando um elemento foi encontrado + em uma das coleções, mas não na outra. A mensagem é mostrada + nos resultados de teste. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm os mesmos elementos e gera uma + exceção se alguma das coleções contém um elemento que não está presente na outra + coleção. + + + A primeira coleção a ser comparada. Ela contém os elementos esperados pelo + teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando um elemento foi encontrado + em uma das coleções, mas não na outra. A mensagem é mostrada + nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando + contém os mesmos elementos que . A mensagem + é mostrada nos resultados de teste. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se duas coleções contêm elementos diferentes e gera uma + exceção se as duas coleções contêm elementos idênticos sem levar em consideração + a ordem. + + + A primeira coleção a ser comparada. Ela contém os elementos que o teste + espera que sejam diferentes em relação à coleção real. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida + pelo código em teste. + + + A mensagem a ser incluída na exceção quando + contém os mesmos elementos que . A mensagem + é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + A mensagem a ser incluída na exceção quando um elemento em + não é uma instância de + . A mensagem é mostrada nos resultados de teste. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se todos os elementos na coleção especificada são instâncias + do tipo esperado e gera uma exceção se o tipo esperado não + está na hierarquia de herança de um ou mais dos elementos. + + + A coleção que contém elementos que o teste espera que sejam do + tipo especificado. + + + O tipo esperado de cada elemento de . + + + A mensagem a ser incluída na exceção quando um elemento em + não é uma instância de + . A mensagem é mostrada nos resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são iguais e gera uma exceção + se as duas coleções não são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção esperada pelo teste. + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + não é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is not equal to + . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Thrown if is equal to . + + + + + Testa se as coleções especificadas são desiguais e gera uma exceção + se as duas coleções são iguais. A igualdade é definida como tendo os mesmos + elementos na mesma ordem e quantidade. Referências diferentes ao mesmo + valor são consideradas iguais. + + + A primeira coleção a ser comparada. Trata-se da coleção que o teste espera + que não corresponda a . + + + A segunda coleção a ser comparada. Trata-se da coleção produzida pelo + código em teste. + + + A implementação de comparação a ser usada ao comparar elementos da coleção. + + + A mensagem a ser incluída na exceção quando + é igual a . A mensagem é mostrada nos + resultados de teste. + + + Uma matriz de parâmetros a serem usados ao formatar . + + + Thrown if is equal to . + + + + + Determina se a primeira coleção é um subconjunto da segunda + coleção. Se os conjuntos contiverem elementos duplicados, o número + de ocorrências do elemento no subconjunto deverá ser menor ou igual + ao número de ocorrências no superconjunto. + + + A coleção que o teste espera que esteja contida em . + + + A coleção que o teste espera que contenha . + + + Verdadeiro se é um subconjunto de + , caso contrário, falso. + + + + + Cria um dicionário contendo o número de ocorrências de cada + elemento na coleção especificada. + + + A coleção a ser processada. + + + O número de elementos nulos na coleção. + + + Um dicionário contendo o número de ocorrências de cada elemento + na coleção especificada. + + + + + Encontra um elemento incompatível entre as duas coleções. Um elemento + incompatível é aquele que aparece um número diferente de vezes na + coleção esperada em relação à coleção real. É pressuposto que + as coleções sejam referências não nulas diferentes com o + mesmo número de elementos. O chamador é responsável por esse nível de + verificação. Se não houver nenhum elemento incompatível, a função retornará + falso e os parâmetros de saída não deverão ser usados. + + + A primeira coleção a ser comparada. + + + A segunda coleção a ser comparada. + + + O número esperado de ocorrências de + ou 0 se não houver nenhum elemento + incompatível. + + + O número real de ocorrências de + ou 0 se não houver nenhum elemento + incompatível. + + + O elemento incompatível (poderá ser nulo) ou nulo se não houver nenhum + elemento incompatível. + + + verdadeiro se um elemento incompatível foi encontrado. Caso contrário, falso. + + + + + compara os objetos usando object.Equals + + + + + Classe base para exceções do Framework. + + + + + Inicializa uma nova instância da classe . + + + + + Inicializa uma nova instância da classe . + + A mensagem. + A exceção. + + + + Inicializa uma nova instância da classe . + + A mensagem. + + + + Uma classe de recurso fortemente tipada para pesquisar cadeias de caracteres localizadas, etc. + + + + + Retorna a instância de ResourceManager armazenada em cache usada por essa classe. + + + + + Substitui a propriedade CurrentUICulture do thread atual em todas + as pesquisas de recursos usando essa classe de recurso fortemente tipada. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres de acesso tem sintaxe inválida. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A coleção esperada contém {1} ocorrência(s) de <{2}>. A coleção real contém {3} ocorrência(s). {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Item duplicado encontrado:<{1}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1}>. Maiúsculas e minúsculas diferentes para o valor real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperada uma diferença não maior que <{3}> entre o valor esperado <{1}> e o valor real <{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1} ({2})>. Real:<{3} ({4})>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperado:<{1}>. Real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Esperada uma diferença maior que <{3}> entre o valor esperado <{1}> e o valor real <{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a É esperado qualquer valor, exceto:<{1}>. Real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Não passe tipos de valores para AreSame(). Os valores convertidos em Object nunca serão os mesmos. Considere usar AreEqual(). {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante à Falha em {0}. {1}. + + + + + Pesquisa uma cadeia de caracteres localizada similar a TestMethod assíncrono com UITestMethodAttribute sem suporte. Remova o assíncrono ou use o TestMethodAttribute. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções estão vazias. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções contêm os mesmos elementos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as referências de coleções apontam para o mesmo objeto de coleção. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Ambas as coleções contêm os mesmos elementos. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0}({1}). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (nulo). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (objeto). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não contém a cadeia de caracteres '{1}'. {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0} ({1}). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Assert.Equals não deve ser usado para Asserções. Use Assert.AreEqual e sobrecargas em seu lugar. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O número de elementos nas coleções não corresponde. Esperado:<{1}>. Real:<{2}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {0} não corresponde. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {1} não é de tipo esperado. Tipo esperado:<{2}>. Tipo real:<{3}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O elemento no índice {1} é (nulo). Tipo esperado:<{2}>.{0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não termina com a cadeia de caracteres '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Argumento inválido – EqualsTester não pode usar nulos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Não é possível converter objeto do tipo {0} em {1}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O objeto interno referenciado não é mais válido. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O parâmetro '{0}' é inválido. {1}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A propriedade {0} é do tipo {1}; tipo esperado {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a {0} Tipo esperado:<{1}>. Tipo real:<{2}>.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não corresponde ao padrão '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Tipo incorreto:<{1}>. Tipo real:<{2}>. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' corresponde ao padrão '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Nenhum DataRowAttribute especificado. Pelo menos um DataRowAttribute é necessário com DataTestMethodAttribute. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Nenhuma exceção gerada. A exceção {1} era esperada. {0}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O parâmetro '{0}' é inválido. O valor não pode ser nulo. {1}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Número diferente de elementos. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a + O construtor com a assinatura especificada não pôde ser encontrado. Talvez seja necessário gerar novamente seu acessador particular + ou o membro pode ser particular e definido em uma classe base. Se o último for verdadeiro, será necessário passar o tipo + que define o membro no construtor do PrivateObject. + . + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a + O membro especificado ({0}) não pôde ser encontrado. Talvez seja necessário gerar novamente seu acessador particular + ou o membro pode ser particular e definido em uma classe base. Se o último for verdadeiro, será necessário passar o tipo + que define o membro no construtor do PrivateObject. + . + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a A cadeia de caracteres '{0}' não começa com a cadeia de caracteres '{1}'. {2}.. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O tipo de exceção esperado deve ser System.Exception ou um tipo derivado de System.Exception. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a (Falha ao obter a mensagem para uma exceção do tipo {0} devido a uma exceção.). + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste não gerou a exceção esperada {0}. {1}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste não gerou uma exceção. Uma exceção era esperada pelo atributo {0} definido no método de teste. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste gerou a exceção {0}, mas era esperada a exceção {1}. Mensagem de exceção: {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a O método de teste gerou a exceção {0}, mas era esperado a exceção {1} ou um tipo derivado dela. Mensagem de exceção: {2}. + + + + + Pesquisa uma cadeia de caracteres localizada semelhante a Exceção gerada {2}, mas a exceção {1} era esperada. {0} + Mensagem de Exceção: {3} + Rastreamento de Pilha: {4}. + + + + + resultados de teste de unidade + + + + + O teste foi executado, mas ocorreram problemas. + Os problemas podem envolver exceções ou asserções com falha. + + + + + O teste foi concluído, mas não é possível dizer se houve aprovação ou falha. + Pode ser usado para testes anulados. + + + + + O teste foi executado sem nenhum problema. + + + + + O teste está em execução no momento. + + + + + Ocorreu um erro de sistema ao tentarmos executar um teste. + + + + + O tempo limite do teste foi atingido. + + + + + O teste foi anulado pelo usuário. + + + + + O teste está em um estado desconhecido + + + + + Fornece funcionalidade auxiliar para a estrutura do teste de unidade + + + + + Obtém as mensagens de exceção, incluindo as mensagens para todas as exceções internas + recursivamente + + Exceção ao obter mensagens para + cadeia de caracteres com informações de mensagem de erro + + + + Enumeração para tempos limite, a qual pode ser usada com a classe . + O tipo de enumeração deve corresponder + + + + + O infinito. + + + + + O atributo da classe de teste. + + + + + Obtém um atributo de método de teste que habilita a execução desse teste. + + A instância de atributo do método de teste definida neste método. + O a ser usado para executar esse teste. + Extensions can override this method to customize how all methods in a class are run. + + + + O atributo do método de teste. + + + + + Executa um método de teste. + + O método de teste a ser executado. + Uma matriz de objetos TestResult que representam resultados do teste. + Extensions can override this method to customize running a TestMethod. + + + + O atributo de inicialização do teste. + + + + + O atributo de limpeza do teste. + + + + + O atributo ignorar. + + + + + O atributo de propriedade de teste. + + + + + Inicializa uma nova instância da classe . + + + O nome. + + + O valor. + + + + + Obtém o nome. + + + + + Obtém o valor. + + + + + O atributo de inicialização de classe. + + + + + O atributo de limpeza de classe. + + + + + O atributo de inicialização de assembly. + + + + + O atributo de limpeza de assembly. + + + + + Proprietário do Teste + + + + + Inicializa uma nova instância da classe . + + + O proprietário. + + + + + Obtém o proprietário. + + + + + Atributo de prioridade. Usado para especificar a prioridade de um teste de unidade. + + + + + Inicializa uma nova instância da classe . + + + A prioridade. + + + + + Obtém a prioridade. + + + + + Descrição do teste + + + + + Inicializa uma nova instância da classe para descrever um teste. + + A descrição. + + + + Obtém a descrição de um teste. + + + + + URI de Estrutura do Projeto de CSS + + + + + Inicializa a nova instância da classe para o URI da Estrutura do Projeto CSS. + + O URI da Estrutura do Projeto ECSS. + + + + Obtém o URI da Estrutura do Projeto CSS. + + + + + URI de Iteração de CSS + + + + + Inicializa uma nova instância da classe para o URI de Iteração do CSS. + + O URI de iteração do CSS. + + + + Obtém o URI de Iteração do CSS. + + + + + Atributo WorkItem. Usado para especificar um item de trabalho associado a esse teste. + + + + + Inicializa a nova instância da classe para o Atributo WorkItem. + + A ID para o item de trabalho. + + + + Obtém a ID para o item de trabalho associado. + + + + + Atributo de tempo limite. Usado para especificar o tempo limite de um teste de unidade. + + + + + Inicializa uma nova instância da classe . + + + O tempo limite. + + + + + Inicializa a nova instância da classe com um tempo limite predefinido + + + O tempo limite + + + + + Obtém o tempo limite. + + + + + O objeto TestResult a ser retornado ao adaptador. + + + + + Inicializa uma nova instância da classe . + + + + + Obtém ou define o nome de exibição do resultado. Útil ao retornar vários resultados. + Se for nulo, o nome do Método será usado como o DisplayName. + + + + + Obtém ou define o resultado da execução de teste. + + + + + Obtém ou define a exceção gerada quando o teste falha. + + + + + Obtém ou define a saída da mensagem registrada pelo código de teste. + + + + + Obtém ou define a saída da mensagem registrada pelo código de teste. + + + + + Obtém ou define os rastreamentos de depuração pelo código de teste. + + + + + Gets or sets the debug traces by test code. + + + + + Obtém ou define a duração de execução do teste. + + + + + Obtém ou define o índice de linha de dados na fonte de dados. Defina somente para os resultados de execuções + individuais de um teste controlado por dados. + + + + + Obtém ou define o valor retornado do método de teste. (Sempre nulo no momento). + + + + + Obtém ou define os arquivos de resultado anexados pelo teste. + + + + + Especifica a cadeia de conexão, o nome de tabela e o método de acesso de linha para teste controlado por dados. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + O nome do provedor padrão para a DataSource. + + + + + O método de acesso a dados padrão. + + + + + Inicializa a nova instância da classe . Essa instância será inicializada com um provedor de dados, uma cadeia de conexão, uma tabela de dados e um método de acesso a dados para acessar a fonte de dados. + + Nome do provedor de dados invariável, como System.Data.SqlClient + + Cadeia de conexão específica do provedor de dados. + AVISO: a cadeia de conexão pode conter dados confidenciais (por exemplo, uma senha). + A cadeia de conexão é armazenada em texto sem formatação no código-fonte e no assembly compilado. + Restrinja o acesso ao código-fonte e ao assembly para proteger essas formações confidenciais. + + O nome da tabela de dados. + Especifica a ordem para acessar os dados. + + + + Inicializa a nova instância da classe . Essa instância será inicializada com uma cadeia de conexão e um nome da tabela. + Especifique a cadeia de conexão e a tabela de dados para acessar a fonte de dados OLEDB. + + + Cadeia de conexão específica do provedor de dados. + AVISO: a cadeia de conexão pode conter dados confidenciais (por exemplo, uma senha). + A cadeia de conexão é armazenada em texto sem formatação no código-fonte e no assembly compilado. + Restrinja o acesso ao código-fonte e ao assembly para proteger essas formações confidenciais. + + O nome da tabela de dados. + + + + Inicializa a nova instância da classe . Essa instância será inicializada com um provedor de dados e com uma cadeia de conexão associada ao nome da configuração. + + O nome da fonte de dados encontrada na seção <microsoft.visualstudio.qualitytools> do arquivo app.config. + + + + Obtém o valor que representa o provedor de dados da fonte de dados. + + + O nome do provedor de dados. Se um provedor de dados não foi designado na inicialização do objeto, o provedor de dados padrão de System.Data.OleDb será retornado. + + + + + Obtém o valor que representa a cadeia de conexão da fonte de dados. + + + + + Obtém um valor que indica o nome da tabela que fornece dados. + + + + + Obtém o método usado para acessar a fonte de dados. + + + + Um dos valores. Se o não for inicializado, o valor padrão será retornado . + + + + + Obtém o nome da fonte de dados encontrada na seção <microsoft.visualstudio.qualitytools> no arquivo app.config. + + + + + O atributo para teste controlado por dados em que os dados podem ser especificados de maneira embutida. + + + + + Encontrar todas as linhas de dados e executar. + + + O Método de teste. + + + Uma matriz de . + + + + + Executa o método de teste controlado por dados. + + O método de teste a ser executado. + Linha de Dados. + Resultados de execução. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..8221c4a --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Используется для указания элемента развертывания (файл или каталог) для развертывания каждого теста. + Может указываться для тестового класса или метода теста. + Чтобы указать несколько элементов, можно использовать несколько экземпляров атрибута. + Путь к элементу может быть абсолютным или относительным, в последнем случае он указывается по отношению к RunConfig.RelativePathRoot. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + Инициализирует новый экземпляр класса . + + Файл или каталог для развертывания. Этот путь задается относительно выходного каталога сборки. Элемент будет скопирован в тот же каталог, что и развернутые сборки теста. + + + + Инициализирует новый экземпляр класса + + Относительный или абсолютный путь к файлу или каталогу для развертывания. Этот путь задается относительно выходного каталога сборки. Элемент будет скопирован в тот же каталог, что и развернутые сборки теста. + Путь к каталогу, в который должны быть скопированы элементы. Он может быть абсолютным или относительным (по отношению к каталогу развертывания). Все файлы и каталоги, обозначенные при помощи будет скопировано в этот каталог. + + + + Получает путь к копируемым исходному файлу или папке. + + + + + Получает путь к каталогу, в который копируется элемент. + + + + + Выполнение кода теста в потоке пользовательского интерфейса для приложений Магазина Windows. + + + + + Выполнение метода теста для потока пользовательского интерфейса. + + + Метод теста. + + + Массив экземпляры. + + Throws when run on an async test method. + + + + + Класс TestContext. Этот класс должен быть полностью абстрактным и не должен содержать ни одного элемента. + Элементы будут реализованы в адаптере. Пользователи платформы должны обращаться к этому классу + только при помощи четко определенного интерфейса. + + + + + Получает свойства теста. + + + + + Получает полное имя класса, содержащего метод теста, который выполняется в данный момент + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Получает имя метода теста, выполняемого в данный момент + + + + + Получает текущий результат теста. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..f278594 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4202 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + TestMethod для выполнения. + + + + + Получает имя метода теста. + + + + + Получает имя тестового класса. + + + + + Получает тип возвращаемого значения метода теста. + + + + + Получает параметры метода теста. + + + + + Получает methodInfo для метода теста. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Вызывает метод теста. + + + Аргументы, передаваемые методу теста (например, для управляемых данными тестов). + + + Результат вызова метода теста. + + + This call handles asynchronous test methods as well. + + + + + Получить все атрибуты метода теста. + + + Допустим ли атрибут, определенный в родительском классе. + + + Все атрибуты. + + + + + Получить атрибут указанного типа. + + System.Attribute type. + + Допустим ли атрибут, определенный в родительском классе. + + + Атрибуты указанного типа. + + + + + Вспомогательный метод. + + + + + Параметр проверки не имеет значения NULL. + + + Параметр. + + + Имя параметра. + + + Сообщение. + + Throws argument null exception when parameter is null. + + + + Параметр проверки не равен NULL или не пуст. + + + Параметр. + + + Имя параметра. + + + Сообщение. + + Throws ArgumentException when parameter is null. + + + + Перечисление, описывающее способ доступа к строкам данных в тестах, управляемых данными. + + + + + Строки возвращаются в последовательном порядке. + + + + + Строки возвращаются в случайном порядке. + + + + + Атрибут для определения встроенных данных для метода теста. + + + + + Инициализирует новый экземпляр класса . + + Объект данных. + + + + Инициализирует новый экземпляр класса , принимающий массив аргументов. + + Объект данных. + Дополнительные данные. + + + + Получает данные для вызова метода теста. + + + + + Получает или задает отображаемое имя в результатах теста для настройки. + + + + + Исключение утверждения с неопределенным результатом. + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Инициализирует новый экземпляр класса . + + + + + Класс InternalTestFailureException. Используется для указания внутреннего сбоя для тестового случая + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + Инициализирует новый экземпляр класса . + + Сообщение об исключении. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение об исключении. + + + + Инициализирует новый экземпляр класса . + + + + + Атрибут, который указывает, что ожидается исключение указанного типа + + + + + Инициализирует новый экземпляр класса ожидаемого типа + + Тип ожидаемого исключения + + + + Инициализирует новый экземпляр класса + ожидаемого типа c сообщением для включения, когда тест не создает исключение. + + Тип ожидаемого исключения + + Сообщение для включения в результат теста, если тест не был пройден из-за того, что не создал исключение + + + + + Получает значение, указывающее тип ожидаемого исключения + + + + + Получает или задает значение, которое означает, являются ли ожидаемыми типы, производные + от типа ожидаемого исключения + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Проверяет, является ли ожидаемым тип исключения, созданного модульным тестом + + Исключение, созданное модульным тестом + + + + Базовый класс для атрибутов, которые указывают ожидать исключения из модульного теста + + + + + Инициализирует новый экземпляр класса с сообщением об отсутствии исключений по умолчанию + + + + + Инициализирует новый экземпляр класса с сообщением об отсутствии исключений + + + Сообщение для включения в результат теста, если тест не был пройден из-за того, что не создал + исключение + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Получает сообщение, включаемое в результаты теста, если он не пройден из-за того, что не возникло исключение + + + + + Получает сообщение по умолчанию об отсутствии исключений + + Название типа для атрибута ExpectedException + Сообщение об отсутствии исключений по умолчанию + + + + Определяет, ожидается ли исключение. Если метод возвращает управление, то + считается, что ожидалось исключение. Если метод создает исключение, то + считается, что исключение не ожидалось, и сообщение созданного исключения + включается в результат теста. Для удобства можно использовать класс . + Если используется и утверждение завершается с ошибкой, + то результат теста будет неопределенным. + + Исключение, созданное модульным тестом + + + + Повторно создать исключение при возникновении исключения AssertFailedException или AssertInconclusiveException + + Исключение, которое необходимо создать повторно, если это исключение утверждения + + + + Этот класс предназначен для пользователей, выполняющих модульное тестирование для универсальных типов. + GenericParameterHelper удовлетворяет некоторым распространенным ограничениям для универсальных типов, + например. + 1. Открытый конструктор по умолчанию + 2. Реализует общий интерфейс: IComparable, IEnumerable + + + + + Инициализирует новый экземпляр класса , который + удовлетворяет ограничению newable в универсальных типах C#. + + + This constructor initializes the Data property to a random value. + + + + + Инициализирует новый экземпляр класса , который + инициализирует свойство Data в указанное пользователем значение. + + Любое целочисленное значение + + + + Получает или задает данные + + + + + Сравнить значения двух объектов GenericParameterHelper + + объект, с которым будет выполнено сравнение + True, если obj имеет то же значение, что и объект "this" GenericParameterHelper. + В противном случае False. + + + + Возвращает хэш-код для этого объекта. + + Хэш-код. + + + + Сравнивает данные двух объектов . + + Объект для сравнения. + + Число со знаком, указывающее относительные значения этого экземпляра и значения. + + + Thrown when the object passed in is not an instance of . + + + + + Возвращает объект IEnumerator, длина которого является производной + от свойства Data. + + Объект IEnumerator + + + + Возвращает объект GenericParameterHelper, равный + текущему объекту. + + Клонированный объект. + + + + Позволяет пользователям регистрировать/записывать трассировки от модульных тестов для диагностики. + + + + + Обработчик LogMessage. + + Сообщение для записи в журнал. + + + + Прослушиваемое событие. Возникает, когда средство записи модульных тестов записывает сообщение. + Главным образом используется адаптером. + + + + + API, при помощи которого средство записи теста будет обращаться к сообщениям журнала. + + Строка формата с заполнителями. + Параметры для заполнителей. + + + + Атрибут TestCategory; используется для указания категории модульного теста. + + + + + Инициализирует новый экземпляр класса и применяет категорию к тесту. + + + Категория теста. + + + + + Возвращает или задает категории теста, которые были применены к тесту. + + + + + Базовый класс для атрибута Category + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + Инициализирует новый экземпляр класса . + Применяет к тесту категорию. Строки, возвращаемые TestCategories , + используются с командой /category для фильтрации тестов + + + + + Возвращает или задает категорию теста, которая была применена к тесту. + + + + + Класс AssertFailedException. Используется для указания сбоя тестового случая + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Инициализирует новый экземпляр класса . + + + + + Коллекция вспомогательных классов для тестирования различных условий в + модульных тестах. Если проверяемое условие + ложно, создается исключение. + + + + + Получает одноэлементный экземпляр функции Assert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение False. Сообщение отображается в результатах теста. + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие истинным, и создает исключение, + если условие ложно. + + + Условие, которое должно быть истинным с точки зрения теста. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение False. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is false. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Thrown if is true. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение True. Сообщение отображается в результатах теста. + + + Thrown if is true. + + + + + Проверяет, является ли указанное условие ложным, и создает исключение, + если условие истинно. + + + Условие, которое с точки зрения теста должно быть ложным. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение True. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is true. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение, отличное от NULL. Сообщение отображается в результатах теста. + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он не равен NULL. + + + Объект, который с точки зрения теста должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение, отличное от NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is not null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Thrown if is null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение NULL. Сообщение отображается в результатах теста. + + + Thrown if is null. + + + + + Проверяет, имеет ли указанный объект значение NULL, и создает исключение, + если он равен NULL. + + + Объект, который не должен быть равен NULL. + + + Сообщение, которое будет добавлено в исключение, если + имеет значение NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if is null. + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается + в результатах тестирования. + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на один и тот же объект, и + создает исключение, если два входных значения не ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — ожидаемое тестом значение. + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается + в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not refer to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Thrown if refers to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if refers to the same object + as . + + + + + Проверяет, ссылаются ли указанные объекты на разные объекты, и + создает исключение, если два входных значения ссылаются на один и тот же объект. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if refers to the same object + as . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Thrown if is not equal to . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные значения на равенство и создает исключение, + если два значения не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это — ожидаемое тестом значение. + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные значения на неравенство и создает исключение, + если два значения равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + The type of values to compare. + + + Первое сравниваемое значение. Это значение с точки зрения теста не должно + соответствовать . + + + Второе сравниваемое значение. Это — значение, созданное тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на равенство и создает исключение, + если два объекта не равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — ожидаемый тестом объект. + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные объекты на неравенство и создает исключение, + если два объекта равны. Различные числовые типы + считаются неравными, даже если логические значения равны. Например, 42L не равно 42. + + + Первый сравниваемый объект. Это — значение, которое с точки зрения теста не должно + соответствовать . + + + Второй сравниваемый объект. Это — объект, созданный тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой для сравнения. Это число с плавающей запятой с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Thrown if is not equal to + . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на равенство и создает исключение, + если они не равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это — ожидаемое тестом число. + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + более чем на . + + + Сообщение, которое будет добавлено в исключение, если + отличается от более чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные числа с плавающей запятой двойной точности на неравенство и создает исключение, + если они равны. + + + Первое число с плавающей запятой двойной точности для сравнения. Это число с точки зрения теста не должно + соответствовать . + + + Второе число с плавающей запятой двойной точности для сравнения. Это — число, созданное тестируемым кодом. + + + Требуемая точность. Исключение будет создано, только если + отличается от + не более чем на . + + + Сообщение, которое будет добавлено в исключение, если + равен или отличается менее чем на + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Thrown if is not equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет, равны ли указанные строки, и создает исключение, + если они не равны. При сравнении используются инвариантный язык и региональные параметры. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to . + + + + + Проверяет указанные строки на равенство и создает исключение, + если они не равны. + + + Первая сравниваемая строка. Это — ожидаемая тестом строка. + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Thrown if is equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет строки на неравенство и создает исключение, + если они равны. При сравнении используются инвариантные язык и региональные параметры. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные строки на неравенство и создает исключение, + если они равны. + + + Первая сравниваемая строка. Эта строка не должна с точки зрения теста + соответствовать . + + + Вторая сравниваемая строка. Это — строка, созданная тестируемым кодом. + + + Логический параметр, означающий сравнение с учетом или без учета регистра. (True + означает сравнение с учетом регистра.) + + + Объект CultureInfo, содержащий данные о языке и региональных стандартах, которые используются при сравнении. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Сообщение, которое будет добавлено в исключение, если + не является экземпляром . Сообщение + отображается в результатах тестирования. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром ожидаемого + типа, и создает исключение, если ожидаемый тип отсутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста должен иметь указанный тип. + + + Ожидаемый тип . + + + Сообщение, которое будет добавлено в исключение, если + не является экземпляром . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Сообщение, которое будет добавлено в исключение, если + является экземпляром класса . Сообщение отображается + в результатах тестирования. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Проверяет, является ли указанный объект экземпляром неправильного + типа, и создает исключение, если указанный тип присутствует в + иерархии наследования объекта. + + + Объект, который с точки зрения теста не должен иметь указанный тип. + + + Тип, который параметр иметь не должен. + + + Сообщение, которое будет добавлено в исключение, если + является экземпляром класса . Сообщение отображается + в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Создает исключение AssertFailedException. + + + Always thrown. + + + + + Создает исключение AssertFailedException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Always thrown. + + + + + Создает исключение AssertFailedException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Always thrown. + + + + + Создает исключение AssertInconclusiveException. + + + Сообщение, которое нужно добавить в исключение. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Always thrown. + + + + + Статические переопределения равенства используются для сравнения экземпляров двух типов на равенство + ссылок. Этот метод не должен использоваться для сравнения двух экземпляров на + равенство. Этот объект всегда создает исключение с Assert.Fail. Используйте в ваших модульных тестах + Assert.AreEqual и связанные переопределения. + + Объект A + Объект B + False (всегда). + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Тип ожидаемого исключения. + + + + + Проверяет, создает ли код, указанный в делегате , заданное исключение типа (не производного), + и создает исключение + + AssertFailedException, + + если код не создает исключение, или создает исключение типа, отличного от . + + + Делегат для проверяемого кода, который должен создать исключение. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Проверяет, создает ли код, указанный с помощью делегата , в точности заданное исключение типа (и не производного типа ), + и создает исключение AssertFailedException , если код не создает исключение, или создает исключение типа, отличного от . + + Делегат для проверяемого кода, который должен создать исключение. + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Проверяет, создает ли код, указанный с помощью делегата , в точности заданное исключение типа (и не производного типа ), + и создает исключение AssertFailedException , если код не создает исключение, или создает исключение типа, отличного от . + + Делегат для проверяемого кода, который должен создать исключение. + + Сообщение, которое будет добавлено в исключение, если + не создает исключение типа . + + + Массив параметров для использования при форматировании . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + выполнение делегата. + + + + + Заменяет NULL-символы ("\0") символами "\\0". + + + Искомая строка. + + + Преобразованная строка, в которой NULL-символы были заменены на "\\0". + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + Вспомогательная функция, которая создает и вызывает AssertionFailedException + + + имя утверждения, создавшего исключение + + + сообщение с описанием условий для сбоя утверждения + + + Параметры. + + + + + Проверяет параметр на допустимые условия + + + Параметр. + + + Имя утверждения. + + + имя параметра + + + сообщение об исключении, связанном с недопустимым параметром + + + Параметры. + + + + + Безопасно преобразует объект в строку, обрабатывая значения NULL и NULL-символы. + Значения NULL преобразуются в "(null)", NULL-символы — в "\\0". + + + Объект для преобразования в строку. + + + Преобразованная строка. + + + + + Утверждение строки. + + + + + Получает одноэлементный экземпляр функции CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли указанная строка заданную подстроку, + и создает исключение, если подстрока не содержится + в тестовой строке. + + + Строка, которая должна содержать . + + + Строка, которая должна входить в . + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not found in + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Thrown if does not begin with + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Сообщение, которое будет добавлено в исключение, если + не начинается с . Сообщение + отображается в результатах тестирования. + + + Thrown if does not begin with + . + + + + + Проверяет, начинается ли указанная строка с указанной подстроки, + и создает исключение, если тестовая строка не начинается + с подстроки. + + + Строка, которая должна начинаться с . + + + Строка, которая должна быть префиксом . + + + Сообщение, которое будет добавлено в исключение, если + не начинается с . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not begin with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Thrown if does not end with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Сообщение, которое будет добавлено в исключение, если + не заканчивается на . Сообщение + отображается в результатах тестирования. + + + Thrown if does not end with + . + + + + + Проверяет, заканчивается ли указанная строка заданной подстрокой, + и создает исключение, если тестовая строка не заканчивается + заданной подстрокой. + + + Строка, которая должна заканчиваться на . + + + Строка, которая должна быть суффиксом . + + + Сообщение, которое будет добавлено в исключение, если + не заканчивается на . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not end with + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Thrown if does not match + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + не соответствует . Сообщение отображается в + результатах тестирования. + + + Thrown if does not match + . + + + + + Проверяет, соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка не соответствует регулярному выражению. + + + Строка, которая должна соответствовать . + + + Регулярное выражение, которому параметр должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + не соответствует . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if does not match + . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Thrown if matches . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + соответствует . Сообщение отображается в результатах + тестирования. + + + Thrown if matches . + + + + + Проверяет, не соответствует ли указанная строка регулярному выражению, + и создает исключение, если строка соответствует регулярному выражению. + + + Строка, которая не должна соответствовать . + + + Регулярное выражение, которому параметр не должен + соответствовать. + + + Сообщение, которое будет добавлено в исключение, если + соответствует . Сообщение отображается в результатах + тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if matches . + + + + + Коллекция вспомогательных классов для тестирования различных условий, связанных + с коллекциями в модульных тестах. Если проверяемое условие + ложно, создается исключение. + + + + + Получает одноэлементный экземпляр функции CollectionAssert. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли заданная коллекция указанный элемент, + и создает исключение, если элемент не входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + не находится в . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Thrown if is found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + находится в . Сообщение отображается в результатах + тестирования. + + + Thrown if is found in + . + + + + + Проверяет, содержит ли коллекция указанный элемент, + и создает исключение, если элемент входит в коллекцию. + + + Коллекция, в которой выполняется поиск элемента. + + + Элемент, который не должен входить в коллекцию. + + + Сообщение, которое будет добавлено в исключение, если + находится в . Сообщение отображается в результатах + тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is found in + . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Thrown if a null element is found in . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Сообщение, которое будет добавлено в исключение, если + содержит элемент, равный NULL. Сообщение отображается в результатах теста. + + + Thrown if a null element is found in . + + + + + Проверяет, все ли элементы в указанной коллекции имеют значения, отличные от NULL, + и создает исключение, если какой-либо элемент имеет значение NULL. + + + Коллекция, в которой выполняется поиск элементов, имеющих значение NULL. + + + Сообщение, которое будет добавлено в исключение, если + содержит элемент, равный NULL. Сообщение отображается в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if a null element is found in . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Сообщение, которое будет добавлено в исключение, если + содержит как минимум один элемент-дубликат. Это сообщение отображается в + результатах теста. + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, уникальны ли все элементы в указанной коллекции, + и создает исключение, если любые два элемента в коллекции равны. + + + Коллекция, в которой выполняется поиск дубликатов элементов. + + + Сообщение, которое будет добавлено в исключение, если + содержит как минимум один элемент-дубликат. Это сообщение отображается в + результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if a two or more equal elements are found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Thrown if an element in is not found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если элемент в + не обнаружен в . + Сообщение отображается в результатах тестирования. + + + Thrown if an element in is not found in + . + + + + + Проверяет, является ли коллекция подмножеством другой коллекции, и + создает исключение, если любой элемент подмножества не является также элементом + супермножества. + + + Коллекция, которая должна быть подмножеством . + + + Коллекция, которая должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если элемент в + не обнаружен в . + Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if an element in is not found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Thrown if every element in is also found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если каждый элемент в + также обнаружен в . + Сообщение отображается в результатах тестирования. + + + Thrown if every element in is also found in + . + + + + + Проверяет, не является ли коллекция подмножеством другой коллекции, и + создает исключение, если все элементы подмножества также входят в + супермножество. + + + Коллекция, которая не должна быть подмножеством . + + + Коллекция, которая не должна быть супермножеством + + + Сообщение, которое будет добавлено в исключение, если каждый элемент в + также обнаружен в . + Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if every element in is also found in + . + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если элемент был обнаружен + в одной коллекции, но не обнаружен в другой. Это сообщение отображается + в результатах теста. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции одинаковые элементы, и создает + исключение, если в любой из коллекций есть непарные + элементы. + + + Первая сравниваемая коллекция. Она содержит ожидаемые тестом + элементы. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если элемент был обнаружен + в одной коллекции, но не обнаружен в другой. Это сообщение отображается + в результатах теста. + + + Массив параметров для использования при форматировании . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + содержит такие же элементы, что и . Сообщение + отображается в результатах тестирования. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, содержат ли две коллекции разные элементы, и создает + исключение, если две коллекции содержат одинаковые элементы (без учета + порядка). + + + Первая сравниваемая коллекция. Она содержит элементы, которые должны + отличаться от фактической коллекции с точки зрения теста. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + содержит такие же элементы, что и . Сообщение + отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Сообщение, которое будет добавлено в исключение, если элемент в + не является экземпляром + . Сообщение отображается в результатах тестирования. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет, все ли элементы в указанной коллекции являются экземплярами + ожидаемого типа, и создает исключение, если ожидаемый тип + не входит в иерархию наследования одного или нескольких элементов. + + + Содержащая элементы коллекция, которые с точки зрения теста должны иметь + указанный тип. + + + Ожидаемый тип каждого элемента . + + + Сообщение, которое будет добавлено в исключение, если элемент в + не является экземпляром + . Сообщение отображается в результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на равенство и создает исключение, + если две коллекции не равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Это — ожидаемая тестом коллекция. + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + не равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is not equal to + . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Thrown if is equal to . + + + + + Проверяет указанные коллекции на неравенство и создает исключение, + если две коллекции равны. Равенство определяется как наличие одинаковых + элементов в том же порядке и количестве. Различные ссылки на одно и то же + значение считаются равными. + + + Первая сравниваемая коллекция. Эта коллекция с точки зрения теста не + должна соответствовать . + + + Вторая сравниваемая коллекция. Это — коллекция, созданная + тестируемым кодом. + + + Реализация сравнения для сравнения элементов коллекции. + + + Сообщение, которое будет добавлено в исключение, если + равен . Сообщение отображается в + результатах тестирования. + + + Массив параметров для использования при форматировании . + + + Thrown if is equal to . + + + + + Определяет, является ли первая коллекция подмножеством второй + коллекции. Если любое из множеств содержит одинаковые элементы, то число + вхождений элемента в подмножестве должно быть меньше или + равно количеству вхождений в супермножестве. + + + Коллекция, которая с точки зрения теста должна содержаться в . + + + Коллекция, которая с точки зрения теста должна содержать . + + + Значение True, если является подмножеством + , в противном случае — False. + + + + + Создает словарь с числом вхождений каждого элемента + в указанной коллекции. + + + Обрабатываемая коллекция. + + + Число элементов, имеющих значение NULL, в коллекции. + + + Словарь с числом вхождений каждого элемента + в указанной коллекции. + + + + + Находит несоответствующий элемент между двумя коллекциями. Несоответствующий + элемент — это элемент, количество вхождений которого в ожидаемой коллекции отличается + от фактической коллекции. В качестве коллекций + ожидаются различные ссылки, отличные от null, с одинаковым + количеством элементов. За этот уровень проверки отвечает + вызывающий объект. Если несоответствующих элементов нет, функция возвращает + False, и выходные параметры использовать не следует. + + + Первая сравниваемая коллекция. + + + Вторая сравниваемая коллекция. + + + Ожидаемое число вхождений + или 0, если несоответствующие элементы + отсутствуют. + + + Фактическое число вхождений + или 0, если несоответствующие элементы + отсутствуют. + + + Несоответствующий элемент (может иметь значение NULL) или значение NULL, если несоответствующий + элемент отсутствует. + + + Значение True, если был найден несоответствующий элемент, в противном случае — False. + + + + + сравнивает объекты при помощи object.Equals + + + + + Базовый класс для исключений платформы. + + + + + Инициализирует новый экземпляр класса . + + + + + Инициализирует новый экземпляр класса . + + Сообщение. + Исключение. + + + + Инициализирует новый экземпляр класса . + + Сообщение. + + + + Строго типизированный класс ресурса для поиска локализованных строк и т. д. + + + + + Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. + + + + + Переопределяет свойство CurrentUICulture текущего потока для всех операций + поиска ресурсов, в которых используется этот строго типизированный класс. + + + + + Ищет локализованную строку, похожую на "Синтаксис строки доступа неверен". + + + + + Ищет локализованную строку, похожую на "Ожидаемая коллекция содержит {1} вхождений <{2}>. Фактическая коллекция содержит {3} вхождений. {0}". + + + + + Ищет локализованную строку, похожую на "Обнаружен элемент-дубликат: <{1}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1}>. Фактическое значение имеет другой регистр: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Различие между ожидаемым значением <{1}> и фактическим значением <{2}> должно было составлять не больше <{3}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1} ({2})>. Фактическое: <{3} ({4})>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое: <{1}>. Фактическое: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Различие между ожидаемым значением <{1}> и фактическим значением <{2}> должно было составлять больше <{3}>. {0}". + + + + + Ищет локализованную строку, похожую на "Ожидалось любое значение, кроме: <{1}>. Фактическое значение: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Не передавайте типы значений в AreSame(). Значения, преобразованные в объекты, никогда не будут одинаковыми. Воспользуйтесь методом AreEqual(). {0}". + + + + + Ищет локализованную строку, похожую на "Сбой {0}. {1}". + + + + + Ищет локализованную строку, аналогичную "Асинхронный метод TestMethod с UITestMethodAttribute не поддерживается. Удалите async или используйте TestMethodAttribute". + + + + + Ищет локализованную строку, похожую на "Обе коллекции пусты. {0}". + + + + + Ищет локализованную строку, похожую на "Обе коллекции содержат одинаковые элементы". + + + + + Ищет локализованную строку, похожую на "Ссылки на обе коллекции указывают на один объект коллекции. {0}". + + + + + Ищет локализованную строку, похожую на "Обе коллекции содержат одинаковые элементы. {0}". + + + + + Ищет локализованную строку, похожую на "{0}({1})". + + + + + Ищет локализованную строку, похожую на "(NULL)". + + + + + Ищет локализованную строку, похожую на "(объект)". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не содержит строку "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "{0} ({1})". + + + + + Ищет локализованную строку, похожую на "Assert.Equals не следует использовать для Assertions. Используйте Assert.AreEqual и переопределения". + + + + + Ищет локализованную строку, похожую на "Число элементов в коллекциях не совпадает. Ожидаемое число: <{1}>. Фактическое: <{2}>.{0}". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {0} не соответствует". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {1} имеет непредвиденный тип. Ожидаемый тип: <{2}>. Фактический тип: <{3}>.{0}". + + + + + Ищет локализованную строку, похожую на "Элемент с индексом {1} имеет значение (NULL). Ожидаемый тип: <{2}>.{0}". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не заканчивается строкой "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Недопустимый аргумент — EqualsTester не может использовать значения NULL". + + + + + Ищет локализованную строку, похожую на "Невозможно преобразовать объект типа {0} в {1}". + + + + + Ищет локализованную строку, похожую на "Внутренний объект, на который была сделана ссылка, более не действителен". + + + + + Ищет локализованную строку, похожую на "Параметр "{0}" недопустим. {1}". + + + + + Ищет локализованную строку, похожую на "Свойство {0} имеет тип {1}; ожидаемый тип: {2}". + + + + + Ищет локализованную строку, похожую на "{0} Ожидаемый тип: <{1}>. Фактический тип: <{2}>". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не соответствует шаблону "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Неправильный тип: <{1}>. Фактический тип: <{2}>. {0}". + + + + + Ищет локализованную строку, похожую на "Строка "{0}" соответствует шаблону "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Не указан атрибут DataRowAttribute. Необходимо указать как минимум один атрибут DataRowAttribute с атрибутом DataTestMethodAttribute". + + + + + Ищет локализованную строку, похожую на "Исключение не было создано. Ожидалось исключение {1}. {0}". + + + + + Ищет локализованную строку, похожую на "Параметр "{0}" недопустим. Значение не может быть равно NULL. {1}". + + + + + Ищет локализованную строку, похожую на "Число элементов различается". + + + + + Ищет локализованную строку, похожую на + "Не удалось найти конструктор с указанной сигнатурой. Возможно, потребуется повторно создать закрытый метод доступа, + или элемент может быть закрытым и определяться в базовом классе. В последнем случае необходимо передать тип, + определяющий элемент, в конструктор класса PrivateObject". + . + + + + + Ищет локализованную строку, похожую на + "Не удалось найти указанный элемент ({0}). Возможно, потребуется повторно создать закрытый метод доступа, + или элемент может быть закрытым и определяться в базовом классе. В последнем случае необходимо передать тип, + определяющий элемент, в конструктор PrivateObject". + . + + + + + Ищет локализованную строку, похожую на "Строка "{0}" не начинается со строки "{1}". {2}". + + + + + Ищет локализованную строку, похожую на "Ожидаемое исключение должно иметь тип System.Exception или производный от него тип". + + + + + Ищет локализованную строку, похожую на "(Не удалось получить сообщение для исключения типа {0} из-за исключения.)". + + + + + Ищет локализованную строку, похожую на "Метод теста не создал ожидаемое исключение {0}. {1}". + + + + + Ищет локализованную строку, похожую на "Метод теста не создал исключение. Исключение ожидалось атрибутом {0}, определенным в методе теста". + + + + + Ищет локализованную строку, похожую на "Метод теста создан исключение {0}, а ожидалось исключение {1}. Сообщение исключения: {2}". + + + + + Ищет локализованную строку, похожую на "Метод теста создал исключение {0}, а ожидалось исключение {1} или производный от него тип. Сообщение исключения: {2}". + + + + + Ищет локализованную строку, похожую на "Создано исключение {2}, а ожидалось исключение {1}. {0} + Сообщение исключения: {3} + Стек трассировки: {4}". + + + + + результаты модульного теста + + + + + Тест был выполнен, но при его выполнении возникли проблемы. + Эти проблемы могут включать исключения или сбой утверждений. + + + + + Тест завершен, но результат его завершения неизвестен. + Может использоваться для прерванных тестов. + + + + + Тест был выполнен без проблем. + + + + + Тест выполняется в данный момент. + + + + + При попытке выполнения теста возникла ошибка в системе. + + + + + Время ожидания для теста истекло. + + + + + Тест прерван пользователем. + + + + + Тест находится в неизвестном состоянии + + + + + Предоставляет вспомогательные функции для платформы модульных тестов + + + + + Получает сообщения с исключениями, включая сообщения для всех внутренних исключений + (рекурсивно) + + Исключение, для которого следует получить сообщения + строка с сообщением об ошибке + + + + Перечисление для времен ожидания, которое можно использовать с классом . + Тип перечисления должен соответствовать + + + + + Бесконечно. + + + + + Атрибут тестового класса. + + + + + Получает атрибут метода теста, включающий выполнение этого теста. + + Для этого метода определен экземпляр атрибута метода теста. + + для использования для выполнения этого теста. + Extensions can override this method to customize how all methods in a class are run. + + + + Атрибут метода теста. + + + + + Выполняет метод теста. + + Выполняемый метод теста. + Массив объектов TestResult, представляющих результаты теста. + Extensions can override this method to customize running a TestMethod. + + + + Атрибут инициализации теста. + + + + + Атрибут очистки теста. + + + + + Атрибут игнорирования. + + + + + Атрибут свойства теста. + + + + + Инициализирует новый экземпляр класса . + + + Имя. + + + Значение. + + + + + Получает имя. + + + + + Получает значение. + + + + + Атрибут инициализации класса. + + + + + Атрибут очистки класса. + + + + + Атрибут инициализации сборки. + + + + + Атрибут очистки сборки. + + + + + Владелец теста + + + + + Инициализирует новый экземпляр класса . + + + Владелец. + + + + + Получает владельца. + + + + + Атрибут Priority; используется для указания приоритета модульного теста. + + + + + Инициализирует новый экземпляр класса . + + + Приоритет. + + + + + Получает приоритет. + + + + + Описание теста + + + + + Инициализирует новый экземпляр класса для описания теста. + + Описание. + + + + Получает описание теста. + + + + + URI структуры проекта CSS + + + + + Инициализирует новый экземпляр класса для URI структуры проекта CSS. + + URI структуры проекта CSS. + + + + Получает URI структуры проекта CSS. + + + + + URI итерации CSS + + + + + Инициализирует новый экземпляр класса для URI итерации CSS. + + URI итерации CSS. + + + + Получает URI итерации CSS. + + + + + Атрибут WorkItem; используется для указания рабочего элемента, связанного с этим тестом. + + + + + Инициализирует новый экземпляр класса для атрибута WorkItem. + + Идентификатор рабочего элемента. + + + + Получает идентификатор связанного рабочего элемента. + + + + + Атрибут Timeout; используется для указания времени ожидания модульного теста. + + + + + Инициализирует новый экземпляр класса . + + + Время ожидания. + + + + + Инициализирует новый экземпляр класса с заданным временем ожидания + + + Время ожидания + + + + + Получает время ожидания. + + + + + Объект TestResult, который возвращается адаптеру. + + + + + Инициализирует новый экземпляр класса . + + + + + Получает или задает отображаемое имя результата. Удобно для возврата нескольких результатов. + Если параметр равен NULL, имя метода используется в качестве DisplayName. + + + + + Получает или задает результат выполнения теста. + + + + + Получает или задает исключение, создаваемое, если тест не пройден. + + + + + Получает или задает выходные данные сообщения, записываемого кодом теста. + + + + + Получает или задает выходные данные сообщения, записываемого кодом теста. + + + + + Получает или задает трассировки отладки для кода теста. + + + + + Gets or sets the debug traces by test code. + + + + + Получает или задает продолжительность выполнения теста. + + + + + Возвращает или задает индекс строки данных в источнике данных. Задается только для результатов выполнения + отдельных строк данных для теста, управляемого данными. + + + + + Получает или задает возвращаемое значение для метода теста. (Сейчас всегда равно NULL.) + + + + + Возвращает или задает файлы результатов, присоединенные во время теста. + + + + + Задает строку подключения, имя таблицы и метод доступа к строкам для тестов, управляемых данными. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + Имя поставщика по умолчанию для DataSource. + + + + + Метод доступа к данным по умолчанию. + + + + + Инициализирует новый экземпляр класса . Этот экземпляр инициализируется с поставщиком данных, строкой подключения, таблицей данных и методом доступа к данным для доступа к источнику данных. + + Имя инвариантного поставщика данных, например System.Data.SqlClient + + Строка подключения для поставщика данных. + Внимание! Строка подключения может содержать конфиденциальные данные (например, пароль). + Строка подключения хранится в виде открытого текста в исходном коде и в скомпилированной сборке. + Ограничьте доступ к исходному коду и сборке для защиты конфиденциальных данных. + + Имя таблицы данных. + Задает порядок доступа к данным. + + + + Инициализирует новый экземпляр класса . Этот экземпляр будет инициализирован с строкой подключения и именем таблицы. + Укажите строку подключения и таблицу данных для доступа к источнику данных OLEDB. + + + Строка подключения для поставщика данных. + Внимание! Строка подключения может содержать конфиденциальные данные (например, пароль). + Строка подключения хранится в виде открытого текста в исходном коде и в скомпилированной сборке. + Ограничьте доступ к исходному коду и сборке для защиты конфиденциальных данных. + + Имя таблицы данных. + + + + Инициализирует новый экземпляр класса . Этот экземпляр инициализируется с поставщиком данных и строкой подключения, связанной с именем параметра. + + Имя источника данных, обнаруженного в разделе <microsoft.visualstudio.qualitytools> файла app.config. + + + + Получает значение, представляющее поставщик данных для источника данных. + + + Имя поставщика данных. Если поставщик данных не был определен при инициализации объекта, будет возвращен поставщик по умолчанию, System.Data.OleDb. + + + + + Получает значение, представляющее строку подключения для источника данных. + + + + + Получает значение с именем таблицы, содержащей данные. + + + + + Возвращает метод, используемый для доступа к источнику данных. + + + + Один из значений. Если не инициализировано, возвращается значение по умолчанию . + + + + + Возвращает имя источника данных, обнаруженное в разделе <microsoft.visualstudio.qualitytools> файла app.config. + + + + + Атрибут для тестов, управляемых данными, в которых данные могут быть встроенными. + + + + + Найти все строки данных и выполнить. + + + Метод теста. + + + Массив . + + + + + Выполнение метода теста, управляемого данными. + + Выполняемый метод теста. + Строка данных. + Результаты выполнения. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..a512560 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + Test başına dağıtım için dağıtım öğesi (dosya veya dizin) belirtmek üzere kullanılır. + Test sınıfında veya test metodunda belirtilebilir. + Birden fazla öğe belirtmek için özniteliğin birden fazla örneğini içerebilir. + Öğe yolu mutlak veya göreli olabilir; göreli ise RunConfig.RelativePathRoot ile görelidir. + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + sınıfının yeni bir örneğini başlatır. + + Dağıtılacak dosya veya dizin. Yol, derleme çıktı dizinine göredir. Öğe, dağıtılan test bütünleştirilmiş kodlarıyla aynı dizine kopyalanır. + + + + sınıfının yeni bir örneğini başlatır + + Dağıtılacak dosya veya dizinin göreli ya da mutlak yolu. Yol, derleme çıktı dizinine göredir. Öğe, dağıtılan test bütünleştirilmiş kodlarıyla aynı dizine kopyalanır. + Öğelerin kopyalanacağı dizinin yolu. Dağıtım dizinine göre mutlak veya göreli olabilir. Tüm dosyalar ve dizinler şuna göre tanımlanır: bu dizine kopyalanacak. + + + + Kopyalanacak kaynak dosya veya klasörün yolunu alır. + + + + + Öğenin kopyalandığı dizinin yolunu alır. + + + + + Windows mağazası uygulamaları için UI iş parçacığında test kodunu çalıştırır. + + + + + UI İş Parçacığında test metodunu çalıştırır. + + + Test metodu. + + + Bir örnekler. + + Throws when run on an async test method. + + + + + TestContext sınıfı. Bu sınıf tamamen soyut olmalı ve herhangi bir üye + içermemelidir. Üyeler bağdaştırıcı tarafından uygulanır. Çerçevedeki kullanıcılar + buna yalnızca iyi tanımlanmış bir arabirim üzerinden erişmelidir. + + + + + Bir testin test özelliklerini alır. + + + + + O anda yürütülen test metodunu içeren sınıfın tam adını alır + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + Yürütülmekte olan test metodunun Adını alır + + + + + Geçerli test sonucunu alır. + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..b7a0029 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + Yürütülecek TestMethod. + + + + + Test metodunun adını alır. + + + + + Test sınıfının adını alır. + + + + + Test metodunun dönüş türünü alır. + + + + + Test metodunun parametrelerini alır. + + + + + Test metodu için methodInfo değerini alır. + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + Test metodunu çağırır. + + + Test metoduna geçirilecek bağımsız değişkenler. (Örn. Veri temelli için) + + + Test yöntemi çağırma sonucu. + + + This call handles asynchronous test methods as well. + + + + + Test metodunun tüm özniteliklerini alır. + + + Üst sınıfta tanımlanan özniteliğin geçerli olup olmadığını belirtir. + + + Tüm öznitelikler. + + + + + Belirli bir türdeki özniteliği alır. + + System.Attribute type. + + Üst sınıfta tanımlanan özniteliğin geçerli olup olmadığını belirtir. + + + Belirtilen türün öznitelikleri. + + + + + Yardımcı. + + + + + Denetim parametresi null değil. + + + Parametre. + + + Parametre adı. + + + İleti. + + Throws argument null exception when parameter is null. + + + + Denetim parametresi null veya boş değil. + + + Parametre. + + + Parametre adı. + + + İleti. + + Throws ArgumentException when parameter is null. + + + + Veri tabanlı testlerde veri satırlarına erişme şekline yönelik sabit listesi. + + + + + Satırlar sıralı olarak döndürülür. + + + + + Satırlar rastgele sırayla döndürülür. + + + + + Bir test metodu için satır içi verileri tanımlayan öznitelik. + + + + + sınıfının yeni bir örneğini başlatır. + + Veri nesnesi. + + + + Bir bağımsız değişken dizisi alan sınıfının yeni bir örneğini başlatır. + + Bir veri nesnesi. + Daha fazla veri. + + + + Çağıran test metodu verilerini alır. + + + + + Özelleştirme için test sonuçlarında görünen adı alır veya ayarlar. + + + + + Onay sonuçlandırılmadı özel durumu. + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + sınıfının yeni bir örneğini başlatır. + + + + + InternalTestFailureException sınıfı. Bir test çalışmasının iç hatasını belirtmek için kullanılır + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + sınıfının yeni bir örneğini başlatır. + + Özel durum iletisi. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + Özel durum iletisi. + + + + sınıfının yeni bir örneğini başlatır. + + + + + Belirtilen türde bir özel durum beklemeyi belirten öznitelik + + + + + Beklenen tür ile sınıfının yeni bir örneğini başlatır + + Beklenen özel durum türü + + + + Beklenen tür ve test tarafından özel durum oluşturulmadığında eklenecek ileti ile sınıfının + yeni bir örneğini başlatır. + + Beklenen özel durum türü + + Test bir özel durum oluşturmama nedeniyle başarısız olursa test sonucuna dahil edilecek ileti + + + + + Beklenen özel durumun Türünü belirten bir değer alır + + + + + Beklenen özel durumun türünden türetilmiş türlerin beklenen özel durum türü olarak değerlendirilmesine izin verilip verilmeyeceğini + belirten değeri alır veya ayarlar + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Birim testi tarafından oluşturulan özel durum türünün beklendiğini doğrular + + Birim testi tarafından oluşturulan özel durum + + + + Birim testinden bir özel durum beklemek için belirtilen özniteliklerin temel sınıfı + + + + + Varsayılan bir 'özel durum yok' iletisi ile sınıfının yeni bir örneğini başlatır + + + + + Bir 'özel durum yok' iletisi ile sınıfının yeni bir örneğini başlatır + + + Test bir özel durum oluşturmama nedeniyle başarısız olursa test sonucuna + dahil edilecek özel durum + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Özel durum oluşturulamaması nedeniyle testin başarısız olması durumunda, test sonucuna dahil edilecek olan iletiyi alır + + + + + Varsayılan 'özel durum yok' iletisini alır + + ExpectedException özniteliği tür adı + Özel durum olmayan varsayılan ileti + + + + Özel durumun beklenip beklenmediğini belirler. Metot dönüş yapıyorsa, özel + durumun beklendiği anlaşılır. Metot bir özel durum oluşturuyorsa, özel durumun + beklenmediği anlaşılır ve oluşturulan özel durumun iletisi test sonucuna + eklenir. Kolaylık sağlamak amacıyla sınıfı kullanılabilir. + kullanılırsa ve onaylama başarısız olursa, + test sonucu Belirsiz olarak ayarlanır. + + Birim testi tarafından oluşturulan özel durum + + + + Özel durum bir AssertFailedException veya AssertInconclusiveException ise özel durumu yeniden oluşturur + + Bir onaylama özel durumu ise yeniden oluşturulacak özel durum + + + + Bu sınıf, kullanıcının genel türler kullanan türlere yönelik birim testleri yapmasına yardımcı olmak üzere tasarlanmıştır. + GenericParameterHelper bazı genel tür kısıtlamalarını yerine getirir; + örneğin: + 1. genel varsayılan oluşturucu + 2. ortak arabirim uygular: IComparable, IEnumerable + + + + + sınıfının C# genel türlerindeki 'newable' + kısıtlamasını karşılayan yeni bir örneğini başlatır. + + + This constructor initializes the Data property to a random value. + + + + + sınıfının, Data özelliğini kullanıcı + tarafından sağlanan bir değerle başlatan yeni bir örneğini başlatır. + + Herhangi bir tamsayı değeri + + + + Verileri alır veya ayarlar + + + + + İki GenericParameterHelper nesnesi için değer karşılaştırması yapar + + karşılaştırma yapılacak nesne + nesne bu 'this' GenericParameterHelper nesnesiyle aynı değere sahipse true. + aksi takdirde false. + + + + Bu nesne için bir karma kod döndürür. + + Karma kod. + + + + İki nesnesinin verilerini karşılaştırır. + + Karşılaştırılacak nesne. + + Bu örnek ve değerin göreli değerlerini gösteren, işaretli sayı. + + + Thrown when the object passed in is not an instance of . + + + + + Uzunluğu Data özelliğinden türetilmiş bir IEnumerator nesnesi + döndürür. + + IEnumerator nesnesi + + + + Geçerli nesneye eşit olan bir GenericParameterHelper nesnesi + döndürür. + + Kopyalanan nesne. + + + + Kullanıcıların tanılama amacıyla birim testlerindeki izlemeleri günlüğe kaydetmesini/yazmasını sağlar. + + + + + LogMessage işleyicisi. + + Günlüğe kaydedilecek ileti. + + + + Dinlenecek olay. Birim testi yazıcı bir ileti yazdığında oluşturulur. + Genellikle bağdaştırıcı tarafından kullanılır. + + + + + İletileri günlüğe kaydetmek için çağrılacak test yazıcısı API'si. + + Yer tutucuları olan dize biçimi. + Yer tutucu parametreleri. + + + + TestCategory özniteliği; bir birim testinin kategorisini belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır ve kategoriyi teste uygular. + + + Test Kategorisi. + + + + + Teste uygulanan test kategorilerini alır. + + + + + "Category" özniteliğinin temel sınıfı + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + sınıfının yeni bir örneğini başlatır. + Kategoriyi teste uygular. TestCategories tarafından döndürülen + dizeler /category komutu içinde testleri filtrelemek için kullanılır + + + + + Teste uygulanan test kategorisini alır. + + + + + AssertFailedException sınıfı. Test çalışmasının başarısız olduğunu göstermek için kullanılır + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + sınıfının yeni bir örneğini başlatır. + + + + + Birim testleri içindeki çeşitli koşulları test etmeye yönelik yardımcı + sınıf koleksiyonu. Test edilen koşul karşılanmazsa bir özel durum + oluşturulur. + + + + + Assert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Thrown if is false. + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + false. İleti test sonuçlarında gösterilir. + + + Thrown if is false. + + + + + Belirtilen koşulun true olup olmadığını test eder ve koşul false ise + bir özel durum oluşturur. + + + Testte true olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + false. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is false. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Thrown if is true. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + true. İleti test sonuçlarında gösterilir. + + + Thrown if is true. + + + + + Belirtilen koşulun false olup olmadığını test eder ve koşul true ise + bir özel durum oluşturur. + + + Testte false olması beklenen koşul. + + + Şu durumda özel duruma dahil edilecek ileti + true. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is true. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Thrown if is not null. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null değil. İleti test sonuçlarında gösterilir. + + + Thrown if is not null. + + + + + Belirtilen nesnenin null olup olmadığını test eder ve değilse bir + özel durum oluşturur. + + + Testte null olması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null değil. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Thrown if is null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null. İleti test sonuçlarında gösterilir. + + + Thrown if is null. + + + + + Belirtilen dizenin null olup olmadığını test eder ve null ise bir özel durum + oluşturur. + + + Testte null olmaması beklenen nesne. + + + Şu durumda özel duruma dahil edilecek ileti + null. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is null. + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı değil: . İleti test + sonuçlarında gösterilir. + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen her iki nesnenin de aynı nesneye başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvurmuyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte beklenen değerdir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı değil: . İleti test + sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not refer to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if refers to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynıdır: . İleti test sonuçlarında + gösterilir. + + + Thrown if refers to the same object + as . + + + + + Belirtilen nesnelerin farklı nesnelere başvurup başvurmadığını test eder + ve iki giriş aynı nesneye başvuruyorsa bir özel durum oluşturur. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynıdır: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if refers to the same object + as . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if is not equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değer beklenir. + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen değerlerin eşit olup olmadığını test eder ve iki değer eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + The type of values to compare. + + + Karşılaştırılacak birinci değer. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci değer. Test kapsamındaki kod tarafından bu değer oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşit değilse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte beklenen nesnedir. + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen nesnelerin eşit olup olmadığını test eder ve iki nesne eşitse + bir özel durum oluşturur. Mantıksal değerleri eşit olsa bile + farklı sayısal türler eşit değil olarak kabul edilir. 42L, 42'ye eşit değildir. + + + Karşılaştırılacak birinci nesne. Testte bu değerin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci nesne. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci kayan nokta. Testte bu kayan nokta beklenir. + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen float'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak ilk kayan nokta. Testte bu kayan noktanın + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci kayan nokta. Test kapsamındaki kod tarafından bu nesne oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Thrown if is not equal to + . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşit değilse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çift beklenir. + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + şundan fazla: . + + + Şu durumda özel duruma dahil edilecek ileti + şundan farklıdır: şundan fazla: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen double'ların eşit olup olmadığını test eder ve eşitse + bir özel durum oluşturur. + + + Karşılaştırılacak birinci çift. Testte bu çiftin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci çift. Test kapsamındaki kod tarafından bu çift oluşturulur. + + + Gerekli doğruluk. Yalnızca şu durumlarda bir özel durum oluşturulur: + şundan farklı: + en fazla . + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: veya şu değerden daha az farklı: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşit değilse bir + özel durum oluşturur. + + + Karşılaştırılacak ilk dize. Testte bu dize beklenir. + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. Karşılaştırma için sabit kültür kullanılır. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen dizelerin eşit olup olmadığını test eder ve eşitse bir özel durum + oluşturur. + + + Karşılaştırılacak birinci dize. Testte bu dizenin eşleşmemesi + beklenir . + + + Karşılaştırılacak ikinci dize. Bu dize test kapsamındaki kod tarafından oluşturulur. + + + Büyük/küçük harfe duyarlı veya duyarsız bir karşılaştırmayı gösteren Boole değeri. (true + değeri büyük/küçük harfe duyarsız bir karşılaştırmayı belirtir.) + + + Kültüre özel karşılaştırma bilgileri veren bir CultureInfo nesnesi. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneği değil: . İleti + test sonuçlarında gösterilir. + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin beklenen türde bir örnek olup olmadığını test eder ve + beklenen tür, nesnenin devralma hiyerarşisinde değilse + bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen nesne. + + + Beklenen tür:. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneği değil: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneğidir: . İleti test + sonuçlarında gösterilir. + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Belirtilen nesnenin yanlış türde bir örnek olup olmadığını test eder + ve belirtilen tür nesnenin devralma hiyerarşisinde ise + bir özel durum oluşturur. + + + Testte beklenen türde olmaması beklenen nesne. + + + Tür olmamalıdır. + + + Şu durumda özel duruma dahil edilecek ileti + şunun bir örneğidir: . İleti test + sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + Bir AssertFailedException oluşturur. + + + Always thrown. + + + + + Bir AssertFailedException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Always thrown. + + + + + Bir AssertFailedException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Always thrown. + + + + + Bir AssertInconclusiveException oluşturur. + + + Özel duruma eklenecek ileti. İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Always thrown. + + + + + Statik eşit aşırı yüklemeler iki türün örneklerini başvuru eşitliği bakımından + karşılaştırmak için kullanılır. Bu metot iki örneği eşitlik bakımından karşılaştırmak için + kullanılmamalıdır. Bu nesne her zaman Assert.Fail ile oluşturulur. + Lütfen birim testlerinizde Assert.AreEqual ve ilişkili aşırı yüklemelerini kullanın. + + Nesne A + Nesne B + Her zaman false. + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Şu durumda özel duruma dahil edilecek ileti + şu türde bir özel durum oluşturmaz: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Oluşturulması beklenen özel durum türü. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa + + AssertFailedException + + oluşturur. + + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa AssertFailedException oluşturur. + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + Şu durumda özel duruma dahil edilecek ileti + tarafından şu türde özel durum oluşturulmadığı durumlarda oluşturulur: . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + temsilcisi tarafından belirtilen kodun tam olarak belirtilen türündeki (türetilmiş bir türde olmayan) özel durumu + oluşturup oluşturmadığını test eder ve kod özel durum oluşturmuyorsa veya türünden başka bir türde özel durum oluşturuyorsa AssertFailedException oluşturur. + + Test edilecek ve özel durum oluşturması beklenen kodun temsilcisi. + + Şu durumda özel duruma dahil edilecek ileti + tarafından şu türde özel durum oluşturulmadığı durumlarda oluşturulur: . + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + Bir temsilciyi çalıştırıyor. + + + + + Null karakterleri ('\0'), "\\0" ile değiştirir. + + + Aranacak dize. + + + Null karakterler içeren dönüştürülmüş dize "\\0" ile değiştirildi. + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + AssertionFailedException oluşturan yardımcı işlev + + + özel durum oluşturan onaylamanın adı + + + onaylama hatası koşullarını açıklayan ileti + + + Parametreler. + + + + + Parametreyi geçerli koşullar için denetler + + + Parametre. + + + Onaylama Adı. + + + parametre adı + + + iletisi geçersiz parametre özel durumu içindir + + + Parametreler. + + + + + Bir nesneyi güvenli bir şekilde dizeye dönüştürür, null değerleri ve null karakterleri işler. + Null değerler "(null)" değerine dönüştürülür. Null karakterler "\\0" değerine dönüştürülür. + + + Dizeye dönüştürülecek nesne. + + + Dönüştürülmüş dize. + + + + + Dize onayı. + + + + + CollectionAssert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyi içerip içermediğini test eder + ve alt dize test dizesinin içinde geçmiyorsa bir özel durum + oluşturur. + + + Şunu içermesi beklenen dize . + + + Şunun içinde gerçekleşmesi beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not found in + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla başlamıyor: . İleti + test sonuçlarında gösterilir. + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle başlayıp başlamadığını test eder + ve test dizesi alt dizeyle başlamıyorsa bir özel durum + oluşturur. + + + Şununla başlaması beklenen dize . + + + Şunun ön eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla başlamıyor: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not begin with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Thrown if does not end with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla bitmiyor: . İleti + test sonuçlarında gösterilir. + + + Thrown if does not end with + . + + + + + Belirtilen dizenin belirtilen alt dizeyle bitip bitmediğini test eder + ve test dizesi alt dizeyle bitmiyorsa bir özel durum + oluşturur. + + + Dizenin şununla bitmesi beklenir: . + + + Şunun son eki olması beklenen dize: . + + + Şu durumda özel duruma dahil edilecek ileti + şununla bitmiyor: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not end with + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşmiyor . İleti test sonuçlarında + gösterilir. + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşmiyorsa bir özel durum oluşturur. + + + Eşleşmesi beklenen dize . + + + Normal ifade: eşleşmesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşmiyor . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if does not match + . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Thrown if matches . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşme . İleti, test sonuçlarında + gösterilir. + + + Thrown if matches . + + + + + Belirtilen dizenin bir normal ifadeyle eşleşip eşleşmediğini test eder + ve dize ifadeyle eşleşiyorsa bir özel durum oluşturur. + + + Eşleşmemesi beklenen dize . + + + Normal ifade: eşleşmemesi + bekleniyor. + + + Şu durumda özel duruma dahil edilecek ileti + eşleşme . İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if matches . + + + + + Birim testleri içindeki koleksiyonlarla ilişkili çeşitli koşulları test etmeye + yönelik yardımcı sınıf koleksiyonu. Test edilen koşul karşılanmazsa + bir özel durum oluşturulur. + + + + + CollectionAssert işlevselliğinin tekil örneğini alır. + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda değilse bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içinde değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Thrown if is found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içindedir: . İleti, test sonuçlarında + gösterilir. + + + Thrown if is found in + . + + + + + Belirtilen koleksiyonun belirtilen öğeyi içerip içermediğini test eder + ve öğe koleksiyonda bulunuyorsa bir özel durum oluşturur. + + + Öğenin aranacağı koleksiyon. + + + Koleksiyonda olmaması beklenen öğe. + + + Şu durumda özel duruma dahil edilecek ileti + şunun içindedir: . İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + bir null öğe içeriyor. İleti test sonuçlarında gösterilir. + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin null dışında değere sahip olup + olmadığını test eder ve herhangi bir öğe null ise özel durum oluşturur. + + + İçinde null öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + bir null öğe içeriyor. İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if a null element is found in . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Thrown if a two or more equal elements are found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + en az bir yinelenen öğe içeriyor. İleti, test sonuçlarında + gösterilir. + + + Thrown if a two or more equal elements are found in + . + + + + + Belirtilen koleksiyondaki tüm öğelerin benzersiz olup olmadığını test eder + ve koleksiyondaki herhangi iki öğe eşitse özel durum oluşturur. + + + Yinelenen öğelerin aranacağı koleksiyon. + + + Şu durumda özel duruma dahil edilecek ileti + en az bir yinelenen öğe içeriyor. İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if a two or more equal elements are found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şurada bulunmuyor: . + İleti test sonuçlarında gösterilir. + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki herhangi bir öğe aynı zamanda üst kümede + yoksa bir özel durum oluşturur. + + + Şunun alt kümesi olması beklenen koleksiyon: . + + + Şunun üst kümesi olması beklenen koleksiyon: + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şurada bulunmuyor: . + İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element in is not found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Thrown if every element in is also found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Mesajın özel duruma dahil edilmesi için şuradaki her öğe: + ayrıca şurada bulunur: . + İleti test sonuçlarında gösterilir. + + + Thrown if every element in is also found in + . + + + + + Bir koleksiyonun başka bir koleksiyona ait alt küme olup olmadığını + test eder ve alt kümedeki tüm öğeler aynı zamanda üst kümede + bulunuyorsa bir özel durum oluşturur. + + + Şunun alt kümesi olmaması beklenen koleksiyon: . + + + Şunun üst kümesi olmaması beklenen koleksiyon: + + + Mesajın özel duruma dahil edilmesi için şuradaki her öğe: + ayrıca şurada bulunur: . + İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if every element in is also found in + . + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Bir öğe koleksiyonlardan birinde varken diğerinde olmadığında + özel duruma eklenecek ileti. İleti, test sonuçlarında + gösterilir. + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun aynı öğeleri içerip içermediğini test eder ve koleksiyonlardan + biri diğer koleksiyonda olmayan bir öğeyi içeriyorsa özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte beklenen öğeleri + içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Bir öğe koleksiyonlardan birinde varken diğerinde olmadığında + özel duruma eklenecek ileti. İleti, test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element was found in one of the collections but not + the other. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı öğeleri içerir: . İleti + test sonuçlarında gösterilir. + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + İki koleksiyonun farklı öğeler içerip içermediğini test eder ve iki koleksiyon + sıraya bakılmaksızın aynı öğeleri içeriyorsa bir özel durum + oluşturur. + + + Karşılaştırılacak birinci koleksiyon. Testte gerçek koleksiyondan farklı olması beklenen + öğeleri içerir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından + bu koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şununla aynı öğeleri içerir: . İleti + test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şunun bir örneği değil: + . İleti test sonuçlarında gösterilir. + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyondaki tüm öğelerin beklenen türde örnekler + olup olmadığını test eder ve beklenen tür bir veya daha fazla öğenin + devralma hiyerarşisinde değilse bir özel durum oluşturur. + + + Testte belirtilen türde olması beklenen öğeleri içeren + koleksiyon. + + + Her öğe için beklenen tür . + + + İletinin özel duruma dahil edilmesi için şuradaki bir öğe: + şunun bir örneği değil: + . İleti test sonuçlarında gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon + eşit değilse bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve aynı miktarda + sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyon beklenir. + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti + şuna eşit değil: . İleti test sonuçlarında + gösterilir. + + + Biçimlendirme sırasında kullanılacak parametre dizisi . + + + Thrown if is not equal to + . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti: + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Thrown if is equal to . + + + + + Belirtilen koleksiyonların eşit olup olmadığını test eder ve iki koleksiyon eşitse + bir özel durum oluşturur. Eşitlik aynı öğelere aynı sırayla ve + aynı miktarda sahip olunması olarak tanımlanır. Aynı değere yönelik farklı başvurular + eşit olarak kabul edilir. + + + Karşılaştırılacak birinci koleksiyon. Testte bu koleksiyonun + eşleşmemesi beklenir . + + + Karşılaştırılacak ikinci koleksiyon. Test kapsamındaki kod tarafından bu + koleksiyon oluşturulur. + + + Koleksiyonun öğeleri karşılaştırılırken kullanılacak karşılaştırma uygulaması. + + + Şu durumda özel duruma dahil edilecek ileti: + şuna eşittir: . İleti test sonuçlarında + gösterilir. + + + Şu parametre biçimlendirilirken kullanılacak parametre dizisi: . + + + Thrown if is equal to . + + + + + Birinci koleksiyonun ikinci koleksiyona ait bir alt küme olup + olmadığını belirler. Kümelerden biri yinelenen öğeler içeriyorsa, + öğenin alt kümedeki oluşum sayısı üst kümedeki oluşum sayısına + eşit veya bu sayıdan daha az olmalıdır. + + + Testin içinde bulunmasını beklediği koleksiyon . + + + Testin içermesini beklediği koleksiyon . + + + Şu durumda true: şunun bir alt kümesidir: + , aksi takdirde false. + + + + + Belirtilen koleksiyondaki her öğenin oluşum sayısını içeren bir + sözlük oluşturur. + + + İşlenecek koleksiyon. + + + Koleksiyondaki null öğe sayısı. + + + Belirtilen koleksiyondaki her öğenin oluşum sayısını içeren + bir sözlük. + + + + + İki koleksiyon arasında eşleşmeyen bir öğe bulur. Eşleşmeyen öğe, + beklenen koleksiyonda gerçek koleksiyondakinden farklı sayıda görünen + öğedir. Koleksiyonların, + aynı sayıda öğeye sahip null olmayan farklı başvurular olduğu + varsayılır. Bu doğrulama düzeyinden + çağıran sorumludur. Eşleşmeyen bir öğe yoksa işlev + false değerini döndürür ve dış parametreler kullanılmamalıdır. + + + Karşılaştırılacak birinci koleksiyon. + + + Karşılaştırılacak ikinci koleksiyon. + + + Şunun için beklenen oluşma sayısı: + veya uyumsuz öğe yoksa + 0. + + + Gerçek oluşma sayısı: + veya uyumsuz öğe yoksa + 0. + + + Uyumsuz öğe (null olabilir) veya uyumsuz bir + öğe yoksa null. + + + uyumsuz bir öğe bulunduysa true; aksi takdirde false. + + + + + object.Equals kullanarak nesneleri karşılaştırır + + + + + Çerçeve Özel Durumları için temel sınıf. + + + + + sınıfının yeni bir örneğini başlatır. + + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + Özel durum. + + + + sınıfının yeni bir örneğini başlatır. + + İleti. + + + + Yerelleştirilmiş dizeleri aramak gibi işlemler için, türü kesin olarak belirtilmiş kaynak sınıfı. + + + + + Bu sınıf tarafından kullanılan, önbelleğe alınmış ResourceManager örneğini döndürür. + + + + + Türü kesin olarak belirlenmiş bu kaynak sınıfını kullanan + tüm kaynak aramaları için geçerli iş parçacığının CurrentUICulture özelliğini geçersiz kılar. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Erişim dizesinde geçersiz söz dizimi var. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen koleksiyon {1} <{2}> oluşumu içeriyor. Gerçek koleksiyon {3} oluşum içeriyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Yinelenen öğe bulundu:<{1}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1}>. Gerçek değer için büyük/küçük harf kullanımı farklı:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen <{1}> değeri ile gerçek <{2}> değeri arasında en fazla <{3}> fark bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1} ({2})>. Gerçek:<{3} ({4})>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen:<{1}>. Gerçek:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen <{1}> değeri ile gerçek <{2}> değeri arasında <{3}> değerinden büyük bir fark bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: <{1}> dışında bir değer bekleniyordu. Gerçek:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Değer türlerini AreSame() metoduna geçirmeyin. Object türüne dönüştürülen değerler hiçbir zaman aynı olmaz. AreEqual(). kullanmayı deneyin {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} başarısız oldu. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: UITestMethodAttribute özniteliğine sahip async TestMethod metodu desteklenmiyor. async ifadesini kaldırın ya da TestMethodAttribute özniteliğini kullanın. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da boş. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da aynı öğeleri içeriyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon başvurusu da aynı koleksiyon nesnesini işaret ediyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Her iki koleksiyon da aynı öğeleri içeriyor. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0}({1}). + + + + + Şuna benzer bir yerelleştirilmiş dize arar: null. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: nesne. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesini içermiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} ({1}). + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Assert.Equals, Onaylamalar için kullanılmamalıdır. Lütfen bunun yerine Assert.AreEqual ve aşırı yüklemelerini kullanın. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Koleksiyonlardaki öğe sayıları eşleşmiyor. Beklenen:<{1}>. Gerçek:<{2}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} dizinindeki öğe eşleşmiyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {1} dizinindeki öğe beklenen türde değil. Beklenen tür:<{2}>. Gerçek tür:<{3}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dizeyi arar: {1} dizinindeki öğe (null). Beklenen tür:<{2}>.{0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesiyle bitmiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Geçersiz bağımsız değişken. EqualsTester null değerler kullanamaz. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} türündeki nesne {1} türüne dönüştürülemiyor. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Başvurulan iç nesne artık geçerli değil. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' parametresi geçersiz. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} özelliği {1} türüne sahip; beklenen tür {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {0} Beklenen tür:<{1}>. Gerçek tür:<{2}>. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' deseniyle eşleşmiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Yanlış Tür:<{1}>. Gerçek tür:<{2}>. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' deseniyle eşleşiyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: No DataRowAttribute belirtilmedi. DataTestMethodAttribute ile en az bir DataRowAttribute gereklidir. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Özel durum oluşturulmadı. {1} özel durumu bekleniyordu. {0}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' parametresi geçersiz. Değer null olamaz. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Farklı sayıda öğe. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: + Belirtilen imzaya sahip oluşturucu bulunamadı. Özel erişimcinizi yeniden oluşturmanız gerekebilir + veya üye özel ve bir temel sınıfta tanımlanmış olabilir. İkinci durum geçerliyse üyeyi + tanımlayan türü PrivateObject oluşturucusuna geçirmeniz gerekir. + . + + + + + Şuna benzer bir yerelleştirilmiş dize arar: + Belirtilen üye ({0}) bulunamadı. Özel erişimcinizi yeniden oluşturmanız gerekebilir + veya üye özel ve bir temel sınıfta tanımlanmış olabilir. İkinci durum geçerliyse üyeyi tanımlayan türü + PrivateObject oluşturucusuna geçirmeniz gerekir. + . + + + + + Şuna benzer bir yerelleştirilmiş dize arar: '{0}' dizesi '{1}' dizesiyle başlamıyor. {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Beklenen özel durum türü System.Exception veya System.Exception'dan türetilmiş bir tür olmalıdır. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Bir özel durum nedeniyle {0} türündeki özel durum için ileti alınamadı. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu beklenen {0} özel durumunu oluşturmadı. {1}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu bir özel durum oluşturmadı. Test metodunda tanımlanan {0} özniteliği tarafından bir özel durum bekleniyordu. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu {0} özel durumunu oluşturdu, ancak {1} özel durumu bekleniyordu. Özel durum iletisi: {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: Test metodu {0} özel durumunu oluşturdu, ancak {1} özel durumu veya bundan türetilmiş bir tür bekleniyordu. Özel durum iletisi: {2}. + + + + + Şuna benzer bir yerelleştirilmiş dize arar: {2} özel durumu oluşturuldu, ancak {1} özel durumu bekleniyordu. {0} + Özel Durum İletisi: {3} + Yığın İzleme: {4}. + + + + + birim testi sonuçları + + + + + Test yürütüldü ancak sorunlar oluştu. + Sorunlar özel durumları veya başarısız onaylamaları içerebilir. + + + + + Test tamamlandı ancak başarılı olup olmadığı belli değil. + İptal edilen testler için kullanılabilir. + + + + + Test bir sorun olmadan yürütüldü. + + + + + Test şu anda yürütülüyor. + + + + + Test yürütülmeye çalışılırken bir sistem hatası oluştu. + + + + + Test zaman aşımına uğradı. + + + + + Test, kullanıcı tarafından iptal edildi. + + + + + Test bilinmeyen bir durumda + + + + + Birim testi çerçevesi için yardımcı işlevini sağlar + + + + + Yinelemeli olarak tüm iç özel durumların iletileri dahil olmak üzere + özel durum iletilerini alır + + Şunun için iletilerin alınacağı özel durum: + hata iletisi bilgilerini içeren dize + + + + Zaman aşımları için sınıfı ile birlikte kullanılabilen sabit listesi. + Sabit listesinin türü eşleşmelidir + + + + + Sonsuz. + + + + + Test sınıfı özniteliği. + + + + + Bu testi çalıştırmayı sağlayan bir test metodu özniteliği alır. + + Bu metot üzerinde tanımlanan test metodu özniteliği örneği. + The bu testi çalıştırmak için kullanılabilir. + Extensions can override this method to customize how all methods in a class are run. + + + + Test metodu özniteliği. + + + + + Bir test metodu yürütür. + + Yürütülecek test metodu. + Testin sonuçlarını temsil eden bir TestResult nesneleri dizisi. + Extensions can override this method to customize running a TestMethod. + + + + Test başlatma özniteliği. + + + + + Test temizleme özniteliği. + + + + + Ignore özniteliği. + + + + + Test özelliği özniteliği. + + + + + sınıfının yeni bir örneğini başlatır. + + + Ad. + + + Değer. + + + + + Adı alır. + + + + + Değeri alır. + + + + + Sınıf başlatma özniteliği. + + + + + Sınıf temizleme özniteliği. + + + + + Bütünleştirilmiş kod başlatma özniteliği. + + + + + Bütünleştirilmiş kod temizleme özniteliği. + + + + + Test Sahibi + + + + + sınıfının yeni bir örneğini başlatır. + + + Sahip. + + + + + Sahibi alır. + + + + + Priority özniteliği; birim testinin önceliğini belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır. + + + Öncelik. + + + + + Önceliği alır. + + + + + Testin açıklaması + + + + + Bir testi açıklamak için kullanılan sınıfının yeni bir örneğini başlatır. + + Açıklama. + + + + Bir testin açıklamasını alır. + + + + + CSS Proje Yapısı URI'si + + + + + CSS Proje Yapısı URI'si için sınıfının yeni bir örneğini başlatır. + + CSS Proje Yapısı URI'si. + + + + CSS Proje Yapısı URI'sini alır. + + + + + CSS Yineleme URI'si + + + + + CSS Yineleme URI'si için sınıfının yeni bir örneğini başlatır. + + CSS Yineleme URI'si. + + + + CSS Yineleme URI'sini alır. + + + + + WorkItem özniteliği; bu testle ilişkili bir çalışma öğesini belirtmek için kullanılır. + + + + + WorkItem Özniteliği için sınıfının yeni bir örneğini başlatır. + + Bir iş öğesinin kimliği. + + + + İlişkili bir iş öğesinin kimliğini alır. + + + + + Timeout özniteliği; bir birim testinin zaman aşımını belirtmek için kullanılır. + + + + + sınıfının yeni bir örneğini başlatır. + + + Zaman aşımı. + + + + + sınıfının önceden ayarlanmış bir zaman aşımı ile yeni bir örneğini başlatır + + + Zaman aşımı + + + + + Zaman aşımını alır. + + + + + Bağdaştırıcıya döndürülecek TestResult nesnesi. + + + + + sınıfının yeni bir örneğini başlatır. + + + + + Sonucun görünen adını alır veya ayarlar. Birden fazla sonuç döndürürken yararlıdır. + Null ise Metot adı DisplayName olarak kullanılır. + + + + + Test yürütmesinin sonucunu alır veya ayarlar. + + + + + Test başarısız olduğunda oluşturulan özel durumu alır veya ayarlar. + + + + + Test kodu tarafından günlüğe kaydedilen iletinin çıktısını alır veya ayarlar. + + + + + Test kodu tarafından günlüğe kaydedilen iletinin çıktısını alır veya ayarlar. + + + + + Test koduna göre hata ayıklama izlemelerini alır veya ayarlar. + + + + + Gets or sets the debug traces by test code. + + + + + Test yürütme süresini alır veya ayarlar. + + + + + Veri kaynağındaki veri satırı dizinini alır veya ayarlar. Yalnızca, veri tabanlı bir testin tek bir veri satırının + çalıştırılmasına ait sonuçlar için ayarlayın. + + + + + Test metodunun dönüş değerini alır veya ayarlar. (Şu anda her zaman null). + + + + + Test tarafından eklenen sonuç dosyalarını alır veya ayarlar. + + + + + Veri tabanlı test için bağlantı dizesini, tablo adını ve satır erişim metodunu belirtir. + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource için varsayılan sağlayıcı adı. + + + + + Varsayılan veri erişimi metodu. + + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir veri sağlayıcısı, bağlantı dizesi, veri tablosu ve veri kaynağına erişmek için kullanılan veri erişimi metodu ile başlatılır. + + System.Data.SqlClient gibi değişmez veri sağlayıcısı adı + + Veri sağlayıcısına özgü bağlantı dizesi. + UYARI: Bağlantı dizesi, hassas veriler (parola gibi) içerebilir. + Bağlantı dizesi, kaynak kodunda ve derlenmiş bütünleştirilmiş kodda düz metin olarak depolanır. + Bu hassas bilgileri korumak için kaynak koda ve bütünleştirilmiş koda erişimi kısıtlayın. + + Veri tablosunun adı. + Verilere erişme sırasını belirtir. + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir bağlantı dizesi ve tablo adı ile başlatılır. + OLEDB veri kaynağına erişmek için kullanılan bağlantı dizesini ve veri tablosunu belirtin. + + + Veri sağlayıcısına özgü bağlantı dizesi. + UYARI: Bağlantı dizesi, hassas veriler (parola gibi) içerebilir. + Bağlantı dizesi, kaynak kodunda ve derlenmiş bütünleştirilmiş kodda düz metin olarak depolanır. + Bu hassas bilgileri korumak için kaynak koda ve bütünleştirilmiş koda erişimi kısıtlayın. + + Veri tablosunun adı. + + + + sınıfının yeni bir örneğini başlatır. Bu örnek bir veri sağlayıcısı ile ve ayar adıyla ilişkili bir bağlantı dizesi ile başlatılır. + + App.config dosyasındaki <microsoft.visualstudio.qualitytools> bölümünde bulunan veri kaynağının adı. + + + + Veri kaynağının veri sağlayıcısını temsil eden bir değer alır. + + + Veri sağlayıcısı adı. Nesne başlatılırken bir veri sağlayıcısı belirtilmemişse varsayılan System.Data.OleDb sağlayıcısı döndürülür. + + + + + Veri kaynağının bağlantı dizesini temsil eden bir değer alır. + + + + + Verileri sağlayan tablo adını belirten bir değer alır. + + + + + Veri kaynağına erişmek için kullanılan metodu alır. + + + + Bir değerlerdir. Eğer başlatılmazsa, varsayılan değeri döndürür . + + + + + App.config dosyasındaki <microsoft.visualstudio.qualitytools> bölümünde bulunan bir veri kaynağının adını alır. + + + + + Verilerin satır içi belirtilebileceği veri tabanlı testin özniteliği. + + + + + Tüm veri satırlarını bulur ve yürütür. + + + Test Yöntemi. + + + Bir . + + + + + Veri tabanlı test metodunu çalıştırır. + + Yürütülecek test yöntemi. + Veri Satırı. + Yürütme sonuçları. + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..0eaba92 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 用于为预测试部署指定部署项(文件或目录)。 + 可在测试类或测试方法上指定。 + 可使用多个特性实例来指定多个项。 + 项路径可以是绝对路径或相对路径,如果为相对路径,则相对于 RunConfig.RelativePathRoot。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + 初始化 类的新实例。 + + 要部署的文件或目录。路径与生成输出目录相关。将项复制到与已部署测试程序集相同的目录。 + + + + 初始化 类的新实例 + + 要部署的文件或目录的相对路径或绝对路径。该路径相对于生成输出目录。将项复制到与已部署测试程序集相同的目录。 + 要将项复制到其中的目录路径。它可以是绝对部署目录或相对部署目录。所有由以下对象标识的文件和目录: 将复制到此目录。 + + + + 获取要复制的源文件或文件夹的路径。 + + + + + 获取将项复制到其中的目录路径。 + + + + + 在 Windows 应用商店应用的 UI 线程中执行测试代码。 + + + + + 在 UI 线程上执行测试方法。 + + + 测试方法。 + + + 一系列实例。 + + Throws when run on an async test method. + + + + + TestContext 类。此类应完全抽象,且不包含任何 + 成员。适配器将实现成员。框架中的用户应 + 仅通过定义完善的接口对此进行访问。 + + + + + 获取测试的测试属性。 + + + + + 获取包含当前正在执行的测试方法的类的完全限定名称 + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + 获取当前正在执行的测试方法的名称 + + + + + 获取当前测试结果。 + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..0ccce3f --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 用于执行的 TestMethod。 + + + + + 获取测试方法的名称。 + + + + + 获取测试类的名称。 + + + + + 获取测试方法的返回类型。 + + + + + 获取测试方法的参数。 + + + + + 获取测试方法的 methodInfo。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 调用测试方法。 + + + 传递到测试方法的参数(例如,对于数据驱动) + + + 测试方法调用的结果。 + + + This call handles asynchronous test methods as well. + + + + + 获取测试方法的所有属性。 + + + 父类中定义的任何属性都有效。 + + + 所有特性。 + + + + + 获取特定类型的属性。 + + System.Attribute type. + + 父类中定义的任何属性都有效。 + + + 指定类型的属性。 + + + + + 帮助程序。 + + + + + 非 null 的检查参数。 + + + 参数。 + + + 参数名称。 + + + 消息。 + + Throws argument null exception when parameter is null. + + + + 不为 null 或不为空的检查参数。 + + + 参数。 + + + 参数名称。 + + + 消息。 + + Throws ArgumentException when parameter is null. + + + + 枚举在数据驱动测试中访问数据行的方式。 + + + + + 按连续顺序返回行。 + + + + + 按随机顺序返回行。 + + + + + 用于定义测试方法内联数据的属性。 + + + + + 初始化 类的新实例。 + + 数据对象。 + + + + 初始化采用参数数组的 类的新实例。 + + 一个数据对象。 + 更多数据。 + + + + 获取数据以调用测试方法。 + + + + + 在测试结果中为自定义获取或设置显示名称。 + + + + + 断言无结论异常。 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 初始化 类的新实例。 + + + + + InternalTestFailureException 类。用来指示测试用例的内部错误 + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 初始化 类的新实例。 + + 异常消息。 + 异常。 + + + + 初始化 类的新实例。 + + 异常消息。 + + + + 初始化 类的新实例。 + + + + + 指定引发指定类型异常的属性 + + + + + 初始化含有预期类型的 类的新实例 + + 预期异常的类型 + + + + 初始化 类的新实例, + 测试未引发异常时,该类中会包含预期类型和消息。 + + 预期异常的类型 + + 测试由于未引发异常而失败时测试结果中要包含的消息 + + + + + 获取指示预期异常类型的值 + + + + + 获取或设置一个值,指示是否允许将派生自预期异常类型的类型 + 作为预期类型 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 验证由单元测试引发的异常类型是否为预期类型 + + 由单元测试引发的异常 + + + + 指定应从单元测试引发异常的属性基类 + + + + + 初始化含有默认无异常消息的 类的新实例 + + + + + 初始化含有一条无异常消息的 类的新实例 + + + 测试由于未引发异常而失败时测试结果中要包含的 + 消息 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 如果由于未引发异常导致测试失败,获取该消息以将其附加在测试结果中 + + + + + 获取默认无异常消息 + + ExpectedException 特性类型名称 + 默认非异常消息 + + + + 确定该异常是否为预期异常。如果返回了方法,则表示 + 该异常为预期异常。如果方法引发异常,则表示 + 该异常不是预期异常,且引发的异常消息 + 包含在测试结果中。为了方便, + 可使用 类。如果使用了 且断言失败, + 则表示测试结果设置为了“无结论”。 + + 由单元测试引发的异常 + + + + 如果异常为 AssertFailedException 或 AssertInconclusiveException,则再次引发该异常 + + 如果是断言异常则要重新引发的异常 + + + + 此类旨在帮助用户使用泛型类型为类型执行单元测试。 + GenericParameterHelper 满足某些常见的泛型类型限制, + 如: + 1.公共默认构造函数 + 2.实现公共接口: IComparable,IEnumerable + + + + + 初始化 类的新实例, + 该类满足 C# 泛型中的“可续订”约束。 + + + This constructor initializes the Data property to a random value. + + + + + 初始化 类的新实例, + 该类将数据属性初始化为用户提供的值。 + + 任意整数值 + + + + 获取或设置数据 + + + + + 比较两个 GenericParameterHelper 对象的值 + + 要进行比较的对象 + 如果 obj 与“此”GenericParameterHelper 对象具有相同的值,则为 true。 + 反之则为 false。 + + + + 为此对象返回哈希代码。 + + 哈希代码。 + + + + 比较两个 对象的数据。 + + 要比较的对象。 + + 有符号的数字表示此实例和值的相对值。 + + + Thrown when the object passed in is not an instance of . + + + + + 返回一个 IEnumerator 对象,该对象的长度派生自 + 数据属性。 + + IEnumerator 对象 + + + + 返回与当前对象相同的 GenericParameterHelper + 对象。 + + 克隆对象。 + + + + 允许用户记录/编写单元测试的跟踪以进行诊断。 + + + + + 用于 LogMessage 的处理程序。 + + 要记录的消息。 + + + + 要侦听的事件。单元测试编写器编写某些消息时引发。 + 主要供适配器使用。 + + + + + 测试编写器要将其调用到日志消息的 API。 + + 带占位符的字符串格式。 + 占位符的参数。 + + + + TestCategory 属性;用于指定单元测试的分类。 + + + + + 初始化 类的新实例并将分类应用到该测试。 + + + 测试类别。 + + + + + 获取已应用到测试的测试类别。 + + + + + "Category" 属性的基类 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 初始化 类的新实例。 + 将分类应用到测试。TestCategories 返回的字符串 + 与 /category 命令一起使用,以筛选测试 + + + + + 获取已应用到测试的测试分类。 + + + + + AssertFailedException 类。用于指示测试用例失败 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 初始化 类的新实例。 + + + + + 帮助程序类的集合,用于测试单元测试中 + 的各种条件。如果不满足被测条件,则引发 + 一个异常。 + + + + + 获取 Assert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + Thrown if is false. + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 false。消息显示在测试结果中。 + + + Thrown if is false. + + + + + 测试指定条件是否为 true, + 如果该条件为 false,则引发一个异常。 + + + 测试预期为 true 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 false。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is false. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + Thrown if is true. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 true。消息显示在测试结果中。 + + + Thrown if is true. + + + + + 测试指定条件是否为 false,如果条件为 true, + 则引发一个异常。 + + + 测试预期为 false 的条件。 + + + 要包含在异常中的消息,条件是当 + 为 true。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is true. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + Thrown if is not null. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 不为 null。消息显示在测试结果中。 + + + Thrown if is not null. + + + + + 测试指定的对象是否为 null,如果不是, + 则引发一个异常。 + + + 测试预期为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 不为 null。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + Thrown if is null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 为 null。消息显示在测试结果中。 + + + Thrown if is null. + + + + + 测试指定对象是否非 null,如果为 null, + 则引发一个异常。 + + + 测试预期不为 null 的对象。 + + + 要包含在异常中的消息,条件是当 + 为 null。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is null. + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不相同 。消息显示 + 在测试结果中。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的两个对象是否引用同一对象, + 如果两个输入不引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期的值。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不相同 。消息显示 + 在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not refer to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + Thrown if refers to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 相同 。消息显示在 + 测试结果中。 + + + Thrown if refers to the same object + as . + + + + + 测试指定的对象是否引用了不同对象, + 如果两个输入引用同一对象,则引发一个异常。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 相同 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if refers to the same object + as . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + Thrown if is not equal to . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定值是否相等, + 如果两个值不相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期的值。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + Thrown if is equal to . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的值是否不相等, + 如果两个值相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + The type of values to compare. + + + 要比较的第一个值。这是测试预期不匹配 + 的值 。 + + + 要比较的第二个值。这是测试下代码生成的值。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否相等, + 如果两个对象不相等,则引发一个异常。即使逻辑值相等, + 不同的数字类型也被视为不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期的对象。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + Thrown if is equal to . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定对象是否不相等, + 如果相等,则引发一个异常。即使逻辑值相等,不同的数字类型也被视为 + 不相等。42L 不等于 42。 + + + 要比较的第一个对象。这是测试预期与 + 以下内容不匹配的值: 。 + + + 要比较的第二个对象。这是在测试下由代码生成的对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否相等, + 如果不相等,则引发一个异常。 + + + 要比较的第一个浮点型。这是测试预期的浮点型。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的浮点型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个浮动。这是测试预期与 + 以下内容匹配的浮动: 。 + + + 要比较的第二个浮点型。这是测试下代码生成的浮点型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + Thrown if is not equal to + . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的双精度型是否相等。如果不相等, + 则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 超过 。 + + + 要包含在异常中的消息,条件是当 + 不同于 多于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的双精度型是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个双精度型。这是测试预期不匹配 + 的双精度型。 + + + 要比较的第二个双精度型。这是测试下代码生成的双精度型。 + + + 所需准确度。仅在以下情况下引发异常: + 不同于 + 最多 。 + + + 要包含在异常中的消息,条件是当 + 等于 或相差少于 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等, + 如果不相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to . + + + + + 测试指定的字符串是否相等,如果不相等, + 则引发一个异常。 + + + 要比较的第一个字符串。这是测试预期的字符串。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + Thrown if is equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定字符串是否不相等, + 如果相等,则引发一个异常。使用固定区域性进行比较。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的字符串是否不相等, + 如果相等,则引发一个异常。 + + + 要比较的第一个字符串。 这是测试预期不匹配的 + 字符串 。 + + + 要比较的第二个字符串。这是在测试下由代码生成的字符串。 + + + 指示区分大小写或不区分大小写的比较的布尔。 (true + 指示区分大小写的比较。) + + + 提供区域性特定比较信息的 CultureInfo 对象。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + 要包含在异常中的消息,条件是当 + 不是一个实例。消息 + 显示在测试结果中。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定的对象是否是预期类型的一个实例, + 如果预期类型不位于对象的继承分层中, + 则引发一个异常。 + + + 测试预期为指定类型的对象。 + + + 预期类型。 + + + 要包含在异常中的消息,条件是当 + 不是一个实例。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + 要包含在异常中的消息,条件是当 + 是一个实例。消息显示 + 在测试结果中。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 测试指定对象是否不是一个错误 + 类型实例,如果指定类型位于对象的 + 继承层次结构中,则引发一个异常。 + + + 测试预期不是指定类型的对象。 + + + 类型 不应。 + + + 要包含在异常中的消息,条件是当 + 是一个实例。消息显示 + 在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 引发 AssertFailedException。 + + + Always thrown. + + + + + 引发 AssertFailedException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + Always thrown. + + + + + 引发 AssertFailedException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + Always thrown. + + + + + 引发 AssertInconclusiveException。 + + + 包含在异常中的消息。信息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Always thrown. + + + + + 静态相等重载用于比较两种类型实例的引用 + 相等。此方法应用于比较两个实例的 + 相等。此对象始终会引发 Assert.Fail。请在单元测试中使用 + Assert.AreEqual 和关联的重载。 + + 对象 A + 对象 B + 始终为 False。 + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + 在格式化时使用的参数数组 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + 要包含在异常中的消息,条件是当 + 不引发类型的异常 。 + + + 在格式化时使用的参数数组 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 应该引发的异常类型。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 且 + 如果代码不引发异常或引发非 类型的异常,则引发 + + AssertFailedException + 。 + + + 委托到要进行测试且预期将引发异常的代码。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 如果代码不引发异常或引发非 类型的异常,则引发 AssertFailedException。 + + 委托到要进行测试且预期将引发异常的代码。 + + 要包含在异常中的消息,条件是当 + 不引发异常类型。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 测试委托 指定的代码是否能准确引发指定类型 异常(非派生类型异常), + 如果代码不引发异常或引发非 类型的异常,则引发 AssertFailedException。 + + 委托到要进行测试且预期将引发异常的代码。 + + 要包含在异常中的消息,条件是当 + 不引发异常类型。 + + + 在格式化时使用的参数数组 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 该 执行委托。 + + + + + 将 null 字符("\0")替换为 "\\0"。 + + + 要搜索的字符串。 + + + 其中 null 字符替换为 "\\0" 的转换字符串。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + 用于创建和引发 AssertionFailedException 的帮助程序函数 + + + 引发异常的断言名称 + + + 描述断言失败条件的消息 + + + 参数。 + + + + + 检查有效条件的参数 + + + 参数。 + + + 断言名称。 + + + 参数名称 + + + 无效参数异常的消息 + + + 参数。 + + + + + 将对象安全地转换为字符串,处理 null 值和 null 字符。 + 将 null 值转换为 "(null)"。将 null 字符转换为 "\\0"。 + + + 要转换为字符串的对象。 + + + 转换的字符串。 + + + + + 字符串断言。 + + + + + 获取 CollectionAssert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + Thrown if is not found in + . + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + Thrown if is not found in + . + + + + + 测试指定字符串是否包含指定子字符串, + 如果子字符串未出现在 + 测试字符串中,则引发一个异常。 + + + 预期要包含的字符串 。 + + + 字符串,预期出现在 。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not found in + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + Thrown if does not begin with + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 开头不为 。消息 + 显示在测试结果中。 + + + Thrown if does not begin with + . + + + + + 测试指定的字符串是否以指定的子字符串开头, + 如果测试字符串不以该子字符串开头, + 则引发一个异常。 + + + 字符串,预期开头为。 + + + 预期是前缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 开头不为 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not begin with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + Thrown if does not end with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 结尾不为 。消息 + 显示在测试结果中。 + + + Thrown if does not end with + . + + + + + 测试指定字符串是否以指定子字符串结尾, + 如果测试字符串不以子字符串结尾, + 则引发一个异常。 + + + 字符串,其结尾应为。 + + + 预期是后缀的字符串。 + + + 要包含在异常中的消息,条件是当 + 结尾不为 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not end with + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + Thrown if does not match + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + 要包含在异常中的消息,条件是当 + 不匹配 。消息显示在 + 测试结果中。 + + + Thrown if does not match + . + + + + + 测试指定的字符串是否匹配正则表达式,如果字符串不匹配正则表达式,则 + 引发一个异常。 + + + 预期匹配的字符串 。 + + + 正则表达式 应 + 匹配。 + + + 要包含在异常中的消息,条件是当 + 不匹配 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if does not match + . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + Thrown if matches . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + 要包含在异常中的消息,条件是当 + 匹配 。消息显示在 + 测试结果中。 + + + Thrown if matches . + + + + + 测试指定字符串是否与正则表达式不匹配, + 如果字符串与表达式匹配,则引发一个异常。 + + + 预期不匹配的字符串。 + + + 正则表达式 预期 + 为不匹配。 + + + 要包含在异常中的消息,条件是当 + 匹配 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if matches . + + + + + 帮助程序类的集合,用于测试与单元测试内的集合相关联的 + 多种条件。如果不满足被测条件, + 则引发一个异常。 + + + + + 获取 CollectionAssert 功能的单一实例。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + Thrown if is not found in + . + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + Thrown if is not found in + . + + + + + 测试指定集合是否包含指定元素, + 如果集合不包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期位于集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 未处于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + Thrown if is found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 位于。消息显示在 + 测试结果中。 + + + Thrown if is found in + . + + + + + 测试指定的集合是否不包含指定 + 元素,如果集合包含该元素,则引发一个异常。 + + + 要在其中搜索元素的集合。 + + + 预期不在集合中的元素。 + + + 要包含在异常中的消息,条件是当 + 位于。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is found in + . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + Thrown if a null element is found in . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含一个 null 元素。消息显示在测试结果中。 + + + Thrown if a null element is found in . + + + + + 测试指定的集合中所有项是否都为非 null, + 如果有元素为 null,则引发一个异常。 + + + 在其中搜索 null 元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含一个 null 元素。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if a null element is found in . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含至少一个重复元素。消息显示在 + 测试结果中。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试指定集合中的所有项是否都唯一, + 如果集合中有任何两个元素相等,则引发异常。 + + + 要在其中搜索重复元素的集合。 + + + 要包含在异常中的消息,条件是当 + 包含至少一个重复元素。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if a two or more equal elements are found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + 包括在异常中的消息,此时元素位于 + 未找到 . + 消息显示在测试结果中。 + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否是另一集合的子集, + 如果子集中的任何元素都不是超集中的元素, + 则引发一个异常。 + + + 预期为一个子集的集合。 + + + 预期为以下对象的超集的集合: + + + 包括在异常中的消息,此时元素位于 + 未找到 . + 消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element in is not found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + Thrown if every element in is also found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + 要包含在异常中的消息,条件是当每个元素 + 还存在于. + 消息显示在测试结果中。 + + + Thrown if every element in is also found in + . + + + + + 测试一个集合是否不是另一个集合的子集, + 如果子集中的所有元素同时位于超集中, + 则引发一个异常. + + + 预期不是一个子集的集合 。 + + + 预期不为超集的集合 + + + 要包含在异常中的消息,条件是当每个元素 + 还存在于. + 消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if every element in is also found in + . + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 当某个元素仅可在其中一个集合内找到时 + 要包含在异常中的消息。消息显示在 + 测试结果中。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含相同的元素,如果 + 任一集合包含的元素不在另一 + 集合中,则引发一个异常。 + + + 要比较的第一个集合。它包含测试预期的 + 元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 当某个元素仅可在其中一个集合内找到时 + 要包含在异常中的消息。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 要包含在异常中的消息,条件是当 + 包含相同的元素 。消息 + 显示在测试结果中。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试两个集合是否包含不同元素, + 如果这两个集合中包含相同元素,则不管 + 顺序如何,均引发一个异常。 + + + 要比较的第一个集合。这包含测试 + 预期与实际集合不同的元素。 + + + 要比较的第二个集合。这是在测试下 + 由代码生成的集合。 + + + 要包含在异常中的消息,条件是当 + 包含相同的元素 。消息 + 显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + 包括在异常中的消息,此时元素位于 + 不是实例 + 。消息显示在测试结果中。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定集合中的所有元素是否是预期类型的 + 实例,如果预期类型 + 不在一个或多个这些元素的继承层次结构中,则引发一个异常。 + + + 包含测试预期为指定类型的 + 元素的集合。 + + + 每个元素的预期类型 。 + + + 包括在异常中的消息,此时元素位于 + 不是实例 + 。消息显示在测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 要包含在异常中的消息,条件是当 + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否相等,如果两个集合 + 不相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的 + 顺序和数量也相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期的集合。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是当 + 不等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组 。 + + + Thrown if is not equal to + . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是: + 等于 。消息显示在 + 测试结果中。 + + + Thrown if is equal to . + + + + + 测试指定的集合是否不相等, + 如果两个集合相等,则引发一个异常。相等被定义为具有相同的元素,并且元素的顺序和数量 + 都相同。 + 对同一值的不同引用也视为相等。 + + + 要比较的第一个集合。这是测试预期与 + 以下内容不匹配的集合: 。 + + + 要比较的第二个集合。这是测试西下代码 + 生成的集合。 + + + 比较集合的元素时使用的比较实现。 + + + 要包含在异常中的消息,条件是: + 等于 。消息显示在 + 测试结果中。 + + + 在格式化时使用的参数数组。 + + + Thrown if is equal to . + + + + + 确定第一个集合是否为第二个 + 集合的子集。如果任一集合包含重复元素,则子集中元素 + 出现的次数必须小于或 + 等于在超集中元素出现的次数。 + + + 测试预期包含在以下对象中的集合: 。 + + + 测试预期要包含的集合 。 + + + 为 True,如果 是一个子集 + ,反之则为 False。 + + + + + 构造包含指定集合中每个元素的出现次数 + 的字典。 + + + 要处理的集合。 + + + 集合中 null 元素的数量。 + + + 包含指定集合中每个元素的发生次数 + 的字典。 + + + + + 在两个集合之间查找不匹配的元素。不匹配的元素是指 + 在预期集合中显示的次数与 + 在实际集合中显示的次数不相同的元素。假定 + 集合是具有相同元素数目 + 的不同非 null 引用。 调用方负责此级别的验证。 + 如果存在不匹配的元素,函数将返回 + false,并且不会使用 out 参数。 + + + 要比较的第一个集合。 + + + 要比较的第二个集合。 + + + 预期出现次数 + 或者如果没有匹配的元素, + 则为 0。 + + + 实际出现次数 + 或者如果没有匹配的元素, + 则为 0。 + + + 不匹配元素(可能为 null),或者如果没有不匹配元素, + 则为 null。 + + + 如果找到不匹配的元素,则为 True;反之则为 False。 + + + + + 使用 Object.Equals 比较对象 + + + + + 框架异常的基类。 + + + + + 初始化 类的新实例。 + + + + + 初始化 类的新实例。 + + 消息。 + 异常。 + + + + 初始化 类的新实例。 + + 消息。 + + + + 一个强类型资源类,用于查找已本地化的字符串等。 + + + + + 返回此类使用的缓存的 ResourceManager 实例。 + + + + + 使用此强类型资源类为所有资源查找替代 + 当前线程的 CurrentUICulture 属性。 + + + + + 查找类似于“访问字符串具有无效语法。”的已本地化字符串。 + + + + + 查找类似于“预期集合包含 {1} 个 <{2}> 的匹配项。实际集合包含 {3} 个匹配项。{0}”的已本地化字符串。 + + + + + 查找类似于“找到了重复项: <{1}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1}>。实际值的大小写有所不同: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期值 <{1}> 和实际值 <{2}> 之间的预期差异应不大于 <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1} ({2})>。实际为: <{3} ({4})>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为: <{1}>。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期值 <{1}> 和实际值 <{2}> 之间的预期差异应大于 <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“预期为除 <{1}>外的任何值。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“不要向 AreSame() 传递值类型。转换为对象的值永远不会相同。请考虑使用 AreEqual()。{0}”的已本地化字符串。 + + + + + 查找类似于“{0} 失败。{1}”的已本地化字符串。 + + + + + 查找类似于“不支持具有 UITestMethodAttribute 的异步 TestMethod。请删除异步或使用 TestMethodAttribute。” 的已本地化字符串。 + + + + + 查找类似于“这两个集合都为空。{0}”的已本地化字符串。 + + + + + 查找类似于“这两个集合包含相同元素。”的已本地化字符串。 + + + + + 查找类似于“这两个集合引用指向同一个集合对象。{0}”的已本地化字符串。 + + + + + 查找类似于“这两个集合包含相同的元素。{0}”的已本地化字符串。 + + + + + 查找类似于“{0}({1})”的已本地化字符串。 + + + + + 查找类似于 "(null)" 的已本地化字符串。 + + + + + 查找类似于“(对象)”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不包含字符串“{1}”。{2}。”的已本地化字符串。 + + + + + 查找类似于“{0} ({1})”的已本地化字符串。 + + + + + 查找类似于“Assert.Equals 不应用于断言。请改用 Assert.AreEqual 和重载。”的已本地化字符串。 + + + + + 查找类似于“集合中的元素数目不匹配。预期为: <{1}>。实际为: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“索引 {0} 处的元素不匹配。”的已本地化字符串。 + + + + + 查找类似于“索引 {1} 处的元素不是预期类型。预期类型为: <{2}>。实际类型为: <{3}>。{0}”的已本地化字符串。 + + + + + 查找类似于“索引 {1} 处的元素为 (null)。预期类型: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不以字符串“{1}”结尾。{2}。”的已本地化字符串。 + + + + + 查找类似于“参数无效 - EqualsTester 不能使用 null。”的已本地化字符串。 + + + + + 查找类似于“无法将类型 {0} 的对象转换为 {1}。”的本地化字符串。 + + + + + 查找类似于“引用的内部对象不再有效。”的已本地化字符串。 + + + + + 查找类似于“参数 {0} 无效。{1}。”的已本地化字符串。 + + + + + 查找类似于“属性 {0} 具有类型 {1};预期类型为 {2}。”的已本地化字符串。 + + + + + 查找类似于“{0} 预期类型: <{1}>。实际类型: <{2}>。”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”与模式“{1}”不匹配。{2}。”的已本地化字符串。 + + + + + 查找类似于“错误类型: <{1}>。实际类型: <{2}>。{0}”的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”与模式“{1}”匹配。{2}。”的已本地化字符串。 + + + + + 查找类似于“未指定 DataRowAttribute。DataTestMethodAttribute 至少需要一个 DataRowAttribute。”的已本地化字符串。 + + + + + 查找类似于“未引发异常。预期为 {1} 异常。{0}”的已本地化字符串。 + + + + + 查找类似于“参数 {0} 无效。值不能为 null。{1}。”的已本地化字符串。 + + + + + 查找类似于“不同元素数。”的已本地化字符串。 + + + + + 查找类似于 + “找不到具有指定签名的构造函数。可能需要重新生成专用访问器, + 或者成员可能为专用且在基类上进行了定义。如果后者为 true,则需将定义成员的类型传递到 + PrivateObject 的构造函数中。” + 的已本地化字符串。 + + + + + 查找类似于 + “找不到指定成员({0})。可能需要重新生成专用访问器, + 或者成员可能为专用且在基类上进行了定义。如果后者为 true,则需将定义成员的类型 + 传递到 PrivateObject 的构造函数中。” + 的已本地化字符串。 + + + + + 查找类似于“字符串“{0}”不以字符串“{1}”开头。{2}。”的已本地化字符串。 + + + + + 查找类似于“预期异常类型必须是 System.Exception 或派生自 System.Exception 的类型。”的已本地化字符串。 + + + + + 查找类似于“(由于出现异常,未能获取 {0} 类型异常的消息。)”的已本地化字符串。 + + + + + 查找类似于“测试方法未引发预期异常 {0}。{1}”的已本地化字符串。 + + + + + 查找类似于“测试方法未引发异常。预期测试方法上定义的属性 {0} 会引发异常。”的已本地化字符串。 + + + + + 查找类似于“测试方法引发异常 {0},但预期为异常 {1}。异常消息: {2}”的已本地化字符串。 + + + + + 查找类似于“测试方法引发异常 {0},但预期为异常 {1} 或从其派生的类型。异常消息: {2}”的已本地化字符串。 + + + + + 查找类似于“引发异常 {2},但预期为异常 {1}。{0} + 异常消息: {3} + 堆栈跟踪: {4}”的已本地化字符串。 + + + + + 单元测试结果 + + + + + 测试已执行,但出现问题。 + 问题可能涉及异常或失败的断言。 + + + + + 测试已完成,但无法确定它是已通过还是失败。 + 可用于已中止的测试。 + + + + + 测试已执行,未出现任何问题。 + + + + + 当前正在执行测试。 + + + + + 尝试执行测试时出现了系统错误。 + + + + + 测试已超时。 + + + + + 用户中止了测试。 + + + + + 测试处于未知状态 + + + + + 为单元测试框架提供帮助程序功能 + + + + + 以递归方式获取包括所有内部异常消息在内的 + 异常消息 + + 获取消息的异常 + 包含错误消息信息的字符串 + + + + 超时枚举,可与 类共同使用。 + 枚举类型必须相符 + + + + + 无限。 + + + + + 测试类属性。 + + + + + 获取可运行此测试的测试方法属性。 + + 在此方法上定义的测试方法属性实例。 + 将用于运行此测试。 + Extensions can override this method to customize how all methods in a class are run. + + + + 测试方法属性。 + + + + + 执行测试方法。 + + 要执行的测试方法。 + 表示测试结果的 TestResult 对象数组。 + Extensions can override this method to customize running a TestMethod. + + + + 测试初始化属性。 + + + + + 测试清理属性。 + + + + + 忽略属性。 + + + + + 测试属性特性。 + + + + + 初始化 类的新实例。 + + + 名称。 + + + 值。 + + + + + 获取名称。 + + + + + 获取值。 + + + + + 类初始化属性。 + + + + + 类清理属性。 + + + + + 程序集初始化属性。 + + + + + 程序集清理属性。 + + + + + 测试所有者 + + + + + 初始化 类的新实例。 + + + 所有者。 + + + + + 获取所有者。 + + + + + 优先级属性;用于指定单元测试的优先级。 + + + + + 初始化 类的新实例。 + + + 属性。 + + + + + 获取属性。 + + + + + 测试的描述 + + + + + 初始化 类的新实例,描述测试。 + + 说明。 + + + + 获取测试的说明。 + + + + + CSS 项目结构 URI + + + + + 为 CSS 项目结构 URI 初始化 类的新实例。 + + CSS 项目结构 URI。 + + + + 获取 CSS 项目结构 URI。 + + + + + CSS 迭代 URI + + + + + 为 CSS 迭代 URI 初始化 类的新实例。 + + CSS 迭代 URI。 + + + + 获取 CSS 迭代 URI。 + + + + + 工作项属性;用来指定与此测试关联的工作项。 + + + + + 为工作项属性初始化 类的新实例。 + + 工作项的 ID。 + + + + 获取关联工作项的 ID。 + + + + + 超时属性;用于指定单元测试的超时。 + + + + + 初始化 类的新实例。 + + + 超时。 + + + + + 初始化含有预设超时的 类的新实例 + + + 超时 + + + + + 获取超时。 + + + + + 要返回到适配器的 TestResult 对象。 + + + + + 初始化 类的新实例。 + + + + + 获取或设置结果的显示名称。这在返回多个结果时很有用。 + 如果为 null,则表示方法名用作了 DisplayName。 + + + + + 获取或设置测试执行的结果。 + + + + + 获取或设置测试失败时引发的异常。 + + + + + 获取或设置由测试代码记录的消息输出。 + + + + + 获取或设置由测试代码记录的消息输出。 + + + + + 通过测试代码获取或设置调试跟踪。 + + + + + Gets or sets the debug traces by test code. + + + + + 获取或设置测试执行的持续时间。 + + + + + 获取或设置数据源中的数据行索引。仅对数据驱动测试的数据行单次运行结果 + 进行设置。 + + + + + 获取或设置测试方法的返回值。(当前始终为 null)。 + + + + + 获取或设置测试附加的结果文件。 + + + + + 为数据驱动测试指定连接字符串、表名和行访问方法。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + DataSource 的默认提供程序名称。 + + + + + 默认数据访问方法。 + + + + + 初始化 类的新实例。将使用数据提供程序、连接字符串、数据表和访问数据源的数据访问方法初始化此实例。 + + 不变的数据提供程序名称,例如 System.Data.SqlClient + + 特定于数据提供程序的连接字符串。 + 警告: 连接字符串可能包含敏感数据(例如密码)。 + 连接字符串以纯文本形式存储在源代码和编译程序集中。 + 限制对源代码和程序集的访问以保护此敏感信息。 + + 数据表的名称。 + 指定访问数据的顺序。 + + + + 初始化 类的新实例。将使用连接字符串和表名初始化此实例。 + 指定连接字符串和数据表,访问 OLEDB 数据源。 + + + 特定于数据提供程序的连接字符串。 + 警告: 连接字符串可能包含敏感数据(例如密码)。 + 连接字符串以纯文本形式存储在源代码和编译程序集中。 + 限制对源代码和程序集的访问以保护此敏感信息。 + + 数据表的名称。 + + + + 初始化 类的新实例。将使用数据提供程序和与设置名称关联的连接字符串初始化此实例。 + + 在 app.config 文件中 <microsoft.visualstudio.qualitytools> 部分找到的数据源的名称。 + + + + 获取表示数据源的数据提供程序的值。 + + + 数据提供程序名称。如果数据提供程序未在对象初始化时进行指定,则将返回 System.Data.OleDb 的默认提供程序。 + + + + + 获取表示数据源的连接字符串的值。 + + + + + 获取指示提供数据的表名的值。 + + + + + 获取用于访问数据源的方法。 + + + + 其中一个 值。如果 未初始化,这将返回默认值。 + + + + + 获取 app.config 文件的 <microsoft.visualstudio.qualitytools> 部分中找到的数据源的名称。 + + + + + 可在其中将数据指定为内联的数据驱动测试的属性。 + + + + + 查找所有数据行并执行。 + + + 测试方法。 + + + 一系列。 + + + + + 运行数据驱动测试方法。 + + 要执行的测试方法。 + 数据行。 + 执行的结果。 + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml new file mode 100644 index 0000000..0eca881 --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml @@ -0,0 +1,113 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions + + + + + 用來指定每個測試部署的部署項目 (檔案或目錄)。 + 可以指定於測試類別或測試方法。 + 可以有屬性的多個執行個體來指定多個項目。 + 項目路徑可以是相對或絕對路徑,如果是相對路徑,則是 RunConfig.RelativePathRoot 的相對路徑。 + + + [DeploymentItem("file1.xml")] + [DeploymentItem("file2.xml", "DataFiles")] + [DeploymentItem("bin\Debug")] + + + Putting this in here so that UWP discovery works. We still do not want users to be using DeploymentItem in the UWP world - Hence making it internal. + We should separate out DeploymentItem logic in the adapter via a Framework extensiblity point. + Filed https://github.com/Microsoft/testfx/issues/100 to track this. + + + + + 初始化 類別的新執行個體。 + + 要部署的檔案或目錄。路徑是建置輸出目錄的相對路徑。項目將會複製到與已部署的測試組件相同的目錄。 + + + + 初始化 類別的新執行個體 + + 要部署之檔案或目錄的相對或絕對路徑。路徑是建置輸出目錄的相對路徑。項目將會複製到與已部署的測試組件相同的目錄。 + 要將項目複製到其中之目錄的路徑。它可以是部署目錄的絕對或相對路徑。下者所識別的所有檔案和目錄: 將會複製到這個目錄中。 + + + + 取得要複製之來源檔案或資料夾的路徑。 + + + + + 取得要將項目複製到其中之目錄的路徑。 + + + + + 在 Windows 市集應用程式的 UI 執行緒執行測試程式碼。 + + + + + 在 UI 執行緒執行測試方法。 + + + 測試方法。 + + + 下列項目的陣列: 執行個體。 + + Throws when run on an async test method. + + + + + TestContext 類別。這個類別應該是完全抽象的,而且未包含任何 + 成員。配接器將會實作成員。架構中的使用者只 + 應透過妥善定義的介面來存取這個項目。 + + + + + 取得測試的測試屬性。 + + + + + 取得包含目前正在執行之測試方法的類別完整名稱 + + + This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. + Those attributes have access to the test context, and provide messages that are included + in the test results. Users can benefit from messages that include the fully-qualified + class name in addition to the name of the test method currently being executed. + + + + + 取得目前正在執行的測試方法名稱 + + + + + 取得目前測試結果。 + + + + + Used to write trace messages while the test is running + + formatted message string + + + + Used to write trace messages while the test is running + + format string + the arguments + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml new file mode 100644 index 0000000..611e17b --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestFramework.2.2.10/lib/uap10.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.xml @@ -0,0 +1,4201 @@ + + + + Microsoft.VisualStudio.TestPlatform.TestFramework + + + + + 用於執行的 TestMethod。 + + + + + 取得測試方法的名稱。 + + + + + 取得測試類別的名稱。 + + + + + 取得測試方法的傳回型別。 + + + + + 取得測試方法的參數。 + + + + + 取得測試方法的 methodInfo。 + + + This is just to retrieve additional information about the method. + Do not directly invoke the method using MethodInfo. Use ITestMethod.Invoke instead. + + + + + 叫用測試方法。 + + + 要傳遞至測試方法的引數。(例如,針對資料驅動) + + + 測試方法引動過程結果。 + + + This call handles asynchronous test methods as well. + + + + + 取得測試方法的所有屬性。 + + + 父類別中定義的屬性是否有效。 + + + 所有屬性。 + + + + + 取得特定類型的屬性。 + + System.Attribute type. + + 父類別中定義的屬性是否有效。 + + + 指定類型的屬性。 + + + + + 協助程式。 + + + + + 檢查參數不為 null。 + + + 參數。 + + + 參數名稱。 + + + 訊息。 + + Throws argument null exception when parameter is null. + + + + 檢查參數不為 null 或為空白。 + + + 參數。 + + + 參數名稱。 + + + 訊息。 + + Throws ArgumentException when parameter is null. + + + + 如何在資料驅動測試中存取資料列的列舉。 + + + + + 會以循序順序傳回資料列。 + + + + + 會以隨機順序傳回資料列。 + + + + + 用以定義測試方法之內嵌資料的屬性。 + + + + + 初始化 類別的新執行個體。 + + 資料物件。 + + + + 初始化 類別 (其採用引數的陣列) 的新執行個體。 + + 資料物件。 + 其他資料。 + + + + 取得用於呼叫測試方法的資料。 + + + + + 取得或設定測試結果中的顯示名稱來進行自訂。 + + + + + 判斷提示結果不明例外狀況。 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 初始化 類別的新執行個體。 + + + + + InternalTestFailureException 類別。用來表示測試案例的內部失敗 + + + This class is only added to preserve source compatibility with the V1 framework. + For all practical purposes either use AssertFailedException/AssertInconclusiveException. + + + + + 初始化 類別的新執行個體。 + + 例外狀況訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 例外狀況訊息。 + + + + 初始化 類別的新執行個體。 + + + + + 屬性,其指定預期所指定類型的例外狀況 + + + + + 初始化具預期類型之 類別的新執行個體 + + 預期的例外狀況類型 + + + + 初始化 類別 + (其具預期類型及訊息,用以在測試未擲回任何例外狀況時予以納入) 的新執行個體。 + + 預期的例外狀況類型 + + 測試因未擲回例外狀況而失敗時,要包含在測試結果中的訊息 + + + + + 取得值,指出預期例外狀況的類型 + + + + + 取得或設定值,指出是否允許類型衍生自預期例外狀況類型, + 以符合預期 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 驗證預期有單元測試所擲回的例外狀況類型 + + 單元測試所擲回的例外狀況 + + + + 指定以預期單元測試發生例外狀況之屬性的基底類別 + + + + + 使用預設無例外狀況訊息初始化 類別的新執行個體 + + + + + 初始化具無例外狀況訊息之 類別的新執行個體 + + + 測試因未擲回例外狀況而失敗時,要包含在測試結果中的 + 訊息 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 如果測試因未擲回例外狀況而失敗,則取得測試結果中要包含的訊息 + + + + + 取得預設無例外狀況訊息 + + ExpectedException 屬性類型名稱 + 預設無例外狀況訊息 + + + + 判斷是否預期會發生例外狀況。如果傳回方法,則了解 + 預期會發生例外狀況。如果方法擲回例外狀況,則了解 + 預期不會發生例外狀況,而且測試結果中 + 會包含所擲回例外狀況的訊息。 類別可以基於便利 + 使用。如果使用 並且判斷提示失敗, + 則測試結果設定為 [結果不明]。 + + 單元測試所擲回的例外狀況 + + + + 如果它是 AssertFailedException 或 AssertInconclusiveException,會重新擲回例外狀況 + + 如果是判斷提示例外狀況,則重新擲回例外狀況 + + + + 這個類別的設計目的是要協助使用者執行使用泛型型別之類型的單元測試。 + GenericParameterHelper 滿足一些常用泛型型別條件約束 + 例如: + 1. 公用預設建構函式 + 2. 實作公用介面: IComparable、IEnumerable + + + + + 初始化 類別 (其符合 C# 泛型中的 'newable' 限制式) + 的新執行個體。 + + + This constructor initializes the Data property to a random value. + + + + + 初始化 類別 (其將 Data 屬性初始化為使用者提供的值) + 的新執行個體。 + + 任何整數值 + + + + 取得或設定資料 + + + + + 執行兩個 GenericParameterHelper 物件的值比較 + + 要與之執行比較的物件 + 如果 obj 的值與 'this' GenericParameterHelper 物件相同,則為 true。 + 否則為 false。 + + + + 傳回這個物件的雜湊碼。 + + 雜湊碼。 + + + + 比較這兩個 物件的資料。 + + 要比較的物件。 + + 已簽署的編號,表示此執行個體及值的相對值。 + + + Thrown when the object passed in is not an instance of . + + + + + 傳回長度衍生自 Data 屬性的 + IEnumerator 物件。 + + IEnumerator 物件 + + + + 傳回等於目前物件的 + GenericParameterHelper 物件。 + + 複製的物件。 + + + + 讓使用者從單位測試記錄/寫入追蹤以進行診斷。 + + + + + LogMessage 的處理常式。 + + 要記錄的訊息。 + + + + 要接聽的事件。在單元測試寫入器寫入一些訊息時引發。 + 主要由配接器取用。 + + + + + API,供測試寫入者呼叫以記錄訊息。 + + 含預留位置的字串格式。 + 預留位置的參數。 + + + + TestCategory 屬性; 用來指定單元測試的分類。 + + + + + 初始化 類別的新執行個體,並將分類套用至測試。 + + + 測試「分類」。 + + + + + 取得已套用至測試的測試分類。 + + + + + "Category" 屬性的基底類別 + + + The reason for this attribute is to let the users create their own implementation of test categories. + - test framework (discovery, etc) deals with TestCategoryBaseAttribute. + - The reason that TestCategories property is a collection rather than a string, + is to give more flexibility to the user. For instance the implementation may be based on enums for which the values can be OR'ed + in which case it makes sense to have single attribute rather than multiple ones on the same test. + + + + + 初始化 類別的新執行個體。 + 將分類套用至測試。TestCategories 所傳回的字串 + 會與 /category 命令搭配使用,以篩選測試 + + + + + 取得已套用至測試的測試分類。 + + + + + AssertFailedException 類別。用來表示測試案例失敗 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 初始化 類別的新執行個體。 + + + + + 要測試單元測試內各種條件的協助程式類別集合。 + 如果不符合正在測試的條件,則會擲回 + 例外狀況。 + + + + + 取得 Assert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void IsOfType<T>(this Assert assert, object obj)" + Users could then use a syntax similar to the default assertions which in this case is "Assert.That.IsOfType<Dog>(animal);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 false。訊息會顯示在測試結果中。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 true,並在條件為 false 時擲回 + 例外狀況。 + + + 測試預期為 true 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 false。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is false. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + Thrown if is true. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 true。訊息會顯示在測試結果中。 + + + Thrown if is true. + + + + + 測試指定的條件是否為 false,並在條件為 true 時擲回 + 例外狀況。 + + + 測試預期為 false 的條件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 true。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is true. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不為 null。訊息會顯示在測試結果中。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為 null,並在不是時擲回 + 例外狀況。 + + + 測試預期為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不為 null。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + Thrown if is null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 null。訊息會顯示在測試結果中。 + + + Thrown if is null. + + + + + 測試指定的物件是否為非 null,並在為 null 時擲回 + 例外狀況。 + + + 測試預期不為 null 的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 為 null。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is null. + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者不同: 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否都參照相同物件,並在兩個輸入 + 未參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。這是測試所預期的值。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者不同: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not refer to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者相同: 。訊息會顯示在 + 測試結果中。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的物件是否參照不同物件,並在兩個輸入 + 參照相同的物件時擲回例外狀況。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 與下者相同: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if refers to the same object + as . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + Thrown if is not equal to . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的值是否相等,並在兩個值不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。這是測試所預期的值。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + Thrown if is equal to . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的值是否不相等,並在兩個值相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + The type of values to compare. + + + 要比較的第一個值。測試預期這個值 + 不符合 。 + + + 要比較的第二個值。這是正在測試的程式碼所產生的值。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否相等,並在兩個物件不相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。這是測試所預期的物件。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否不相等,並在兩個物件相等時 + 擲回例外狀況。不同的數值類型會視為不相等, + 即使邏輯值相等也是一樣。42L 不等於 42。 + + + 要比較的第一個物件。測試預期這個值 + 不符合 。 + + + 要比較的第二個物件。這是正在測試的程式碼所產生的物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。這是測試所預期的 float。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的 float 是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個 float。測試預期這個 float 不 + 符合 。 + + + 要比較的第二個 float。這是正在測試的程式碼所產生的 float。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + Thrown if is not equal to + . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的雙精度浮點數是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。這是測試所預期的雙精度浮點數。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 超過 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不同於 超過 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的雙精度浮點數是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個雙精度浮點數。測試預期這個雙精度浮點數 + 不符合 。 + + + 要比較的第二個雙精度浮點數。這是正在測試的程式碼所產生的雙精度浮點數。 + + + 所需的精確度。只有在下列情況才會擲回例外狀況: + 不同於 + 最多 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 或差異小於 + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否相等,並在不相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。這是測試所預期的字串。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。進行比較時不因文化特性 (Culture) 而異。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的字串是否不相等,並在相等時 + 擲回例外狀況。 + + + 要比較的第一個字串。測試預期這個字串 + 不符合 。 + + + 要比較的第二個字串。這是正在測試的程式碼所產生的字串。 + + + 表示區分大小寫或不區分大小寫的比較的布林值 (true + 表示不區分大小寫的比較)。 + + + 提供文化特性 (culture) 特定比較資訊的 CultureInfo 物件。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否為預期類型的執行個體, + 並在預期類型不在物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期為所指定類型的物件。 + + + 下者的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is null or + is not in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 測試指定的物件是否不是錯誤類型的執行個體, + 並在指定的類型位於物件的繼承階層中時 + 擲回例外狀況。 + + + 測試預期不為所指定類型的物件。 + + + 下者不應該屬於的類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 是下者的執行個體: 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not null and + is in the inheritance hierarchy + of . + + + + + 擲回 AssertFailedException。 + + + Always thrown. + + + + + 擲回 AssertFailedException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Always thrown. + + + + + 擲回 AssertFailedException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Always thrown. + + + + + 擲回 AssertInconclusiveException。 + + + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Always thrown. + + + + + 「靜態等於多載」用於比較兩種類型的執行個體的參考 + 相等。這種方法不應該用於比較兩個執行個體是否 + 相等。這個物件一律會擲出 Assert.Fail。請在單元測試中使用 + Assert.AreEqual 和相關聯多載。 + + 物件 A + 物件 B + 一律為 False。 + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throw exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 預期擲回的例外狀況類型。 + + + + + 測試委派 所指定的程式碼會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並擲回 + + AssertFailedException + + (若程式碼未擲回例外狀況或擲回非 類型的例外狀況)。 + + + 要測試程式碼並預期擲回例外狀況的委派。 + + + Type of exception expected to be thrown. + + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 測試委派 所指定的程式碼是否會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並於程式碼未擲回例外狀況或擲回非 類型的例外狀況時,擲回 AssertFailedException。 + + 委派給要進行測試且預期會擲回例外狀況的程式碼。 + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 測試委派 所指定的程式碼是否會擲回 類型的確切指定例外狀況 (而非衍生類型) + 並於程式碼未擲回例外狀況或擲回非 類型的例外狀況時,擲回 AssertFailedException。 + + 委派給要進行測試且預期會擲回例外狀況的程式碼。 + + 在下列情況下,要包含在例外狀況中的訊息: + 未擲回下列類型的例外狀況: 。 + + + 在將下者格式化時要使用的參數陣列: 。 + + Type of exception expected to be thrown. + + Thrown if does not throws exception of type . + + + 執行委派。 + + + + + 以 "\\0" 取代 null 字元 ('\0')。 + + + 要搜尋的字串。 + + + null 字元以 "\\0" 取代的已轉換字串。 + + + This is only public and still present to preserve compatibility with the V1 framework. + + + + + 建立並擲回 AssertionFailedException 的 Helper 函數 + + + 擲回例外狀況的判斷提示名稱 + + + 描述判斷提示失敗條件的訊息 + + + 參數。 + + + + + 檢查參數的有效條件 + + + 參數。 + + + 判斷提示「名稱」。 + + + 參數名稱 + + + 無效參數例外狀況的訊息 + + + 參數。 + + + + + 將物件安全地轉換成字串,並處理 null 值和 null 字元。 + Null 值會轉換成 "(null)"。Null 字元會轉換成 "\\0"。 + + + 要轉換為字串的物件。 + + + 已轉換的字串。 + + + + + 字串判斷提示。 + + + + + 取得 CollectionAssert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void ContainsWords(this StringAssert cusomtAssert, string value, ICollection substrings)" + Users could then use a syntax similar to the default assertions which in this case is "StringAssert.That.ContainsWords(value, substrings);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + Thrown if is not found in + . + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not found in + . + + + + + 測試指定的字串是否包含指定的子字串, + 並在子字串未出現在測試字串內時 + 擲回例外狀況。 + + + 預期包含下者的字串: 。 + + + 預期在下列時間內發生的字串: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not found in + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的開頭不是 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串開頭是否為指定的子字串, + 並在測試字串的開頭不是子字串時 + 擲回例外狀況。 + + + 字串預期開頭為 。 + + + 字串預期為下者的前置詞: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的開頭不是 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not begin with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + Thrown if does not end with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的結尾不是 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not end with + . + + + + + 測試指定的字串結尾是否為指定的子字串, + 並在測試字串的結尾不是子字串時 + 擲回例外狀況。 + + + 字串預期結尾為 。 + + + 字串預期為下者的字尾: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 的結尾不是 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not end with + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不符合 。訊息會顯示在 + 測試結果中。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否符合規則運算式, + 並在字串不符合運算式時擲回例外狀況。 + + + 預期符合下者的字串: 。 + + + 規則運算式, + 預期相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不符合 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if does not match + . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + Thrown if matches . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 符合 。訊息會顯示在 + 測試結果中。 + + + Thrown if matches . + + + + + 測試指定的字串是否不符合規則運算式, + 並在字串符合運算式時擲回例外狀況。 + + + 預期不符合下者的字串: 。 + + + 規則運算式, + 預期不相符。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 符合 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if matches . + + + + + 要測試與單元測試內集合相關聯之各種條件的 + 協助程式類別集合。如果不符合正在測試的條件, + 則會擲回例外狀況。 + + + + + 取得 CollectionAssert 功能的單一執行個體。 + + + Users can use this to plug-in custom assertions through C# extension methods. + For instance, the signature of a custom assertion provider could be "public static void AreEqualUnordered(this CollectionAssert cusomtAssert, ICollection expected, ICollection actual)" + Users could then use a syntax similar to the default assertions which in this case is "CollectionAssert.That.AreEqualUnordered(list1, list2);" + More documentation is at "https://github.com/Microsoft/testfx-docs". + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否包含指定的元素, + 並在元素不在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 未位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + Thrown if is found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 位於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is found in + . + + + + + 測試指定的集合是否未包含指定的元素, + 並在元素在集合中時擲回例外狀況。 + + + 在其中搜尋元素的集合。 + + + 預期不在集合中的元素。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 位於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is found in + . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含 null 元素。訊息會顯示在測試結果中。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都為非 null,並在有任何元素為 null 時 + 擲回例外狀況。 + + + 要在其中搜尋 null 元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含 null 元素。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if a null element is found in . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含至少一個重複元素。訊息會顯示在 + 測試結果中。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試所指定集合中的所有項目是否都是唯一的, + 並在集合中的任兩個元素相等時擲回例外狀況。 + + + 在其中搜尋重複元素的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含至少一個重複元素。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if a two or more equal elements are found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 在下者中找不到: 。 + 訊息會顯示在測試結果中。 + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否為另一個集合的子集, + 並在子集中的任何元素也不在超集中時擲回 + 例外狀況。 + + + 集合預期為下者的子集: 。 + + + 集合預期為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 在下者中找不到: 。 + 訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element in is not found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + Thrown if every element in is also found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的每個元素: + 也會在下者中找到: 。 + 訊息會顯示在測試結果中。 + + + Thrown if every element in is also found in + . + + + + + 測試其中一個集合是否不為另一個集合的子集, + 並在子集中的所有元素也都在超集中時擲回 + 例外狀況。 + + + 集合預期不為下者的子集: 。 + + + 集合預期不為下者的超集: + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的每個元素: + 也會在下者中找到: 。 + 訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if every element in is also found in + . + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在其中一個集合中找到元素但在另一個集合中找不到元素時 + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含相同元素, + 並在任一集合包含不在其他集合中的元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試所預期的 + 元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在其中一個集合中找到元素但在另一個集合中找不到元素時 + 要包含在例外狀況中的訊息。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element was found in one of the collections but not + the other. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含與下者相同的元素: 。訊息 + 會顯示在測試結果中。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試兩個集合是否包含不同元素,並在兩個集合 + 包含不管順序的相同元素時 + 擲回例外狀況。 + + + 要比較的第一個集合。這包含測試預期與實際集合 + 不同的元素。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 包含與下者相同的元素: 。訊息 + 會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if the two collections contained the same elements, including + the same number of duplicate occurrences of each element. + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 不是下者的執行個體: + 。訊息會顯示在測試結果中。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試所指定集合中的所有元素是否為預期類型的執行個體, + 並在預期類型不在一或多個元素的繼承階層中時 + 擲回例外狀況。 + + + 包含測試預期為所指定類型之元素 + 的集合。 + + + 下者的每個元素的預期類型: 。 + + + 在下列情況下,要包含在例外狀況中的訊息: 下者中的元素: + 不是下者的執行個體: + 。訊息會顯示在測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if an element in is null or + is not in the inheritance hierarchy + of an element in . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否相等,並在兩個集合不相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。這是測試所預期的集合。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 不等於 。訊息會顯示在 + 測試結果中。 + + + 在將下者格式化時要使用的參數陣列: 。 + + + Thrown if is not equal to + . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + Thrown if is equal to . + + + + + 測試指定的集合是否不相等,並在兩個集合相等時 + 擲回例外狀況。「相等」定義為具有相同順序和數量的 + 相同元素。相同值的不同參考視為 + 相等。 + + + 要比較的第一個集合。測試預期這個集合 + 不符合 。 + + + 要比較的第二個集合。這是正在測試的程式碼 + 所產生的集合。 + + + 要在比較集合元素時使用的比較實作。 + + + 在下列情況下,要包含在例外狀況中的訊息: + 等於 。訊息會顯示在 + 測試結果中。 + + + 參數陣列,使用時機為格式 。 + + + Thrown if is equal to . + + + + + 判斷第一個集合是否為第二個集合的子集。 + 如果任一個集合包含重複的元素,則元素 + 在子集中的出現次數必須小於或 + 等於在超集中的出現次數。 + + + 測試預期包含在下者中的集合: 。 + + + 測試預期包含下者的集合: 。 + + + True 的情況為 是下者的子集: + ,否則為 false。 + + + + + 建構字典,內含每個元素在所指定集合中 + 的出現次數。 + + + 要處理的集合。 + + + 集合中的 null 元素數目。 + + + 包含每個元素在所指定集合內之出現次數 + 的字典。 + + + + + 尋找兩個集合之間不相符的元素。不相符的元素 + 為出現在預期集合中的次數 + 不同於它在實際集合中出現的次數。 + 集合假設為具有數目相同之元素的不同非 null 參考。 + 呼叫者負責這個層級的驗證。 + 如果沒有不相符的元素,則函數會傳回 false, + 而且不應該使用 out 參數。 + + + 要比較的第一個集合。 + + + 要比較的第二個集合。 + + + 下者的預期出現次數: + 或 0 (如果沒有不相符的 + 元素)。 + + + 下者的實際出現次數: + 或 0 (如果沒有不相符的 + 元素)。 + + + 不相符的元素 (可能為 null) 或 null (如果沒有 + 不相符的元素)。 + + + 如果找到不相符的元素,則為 true,否則為 false。 + + + + + 使用 object.Equals 來比較物件 + + + + + 架構例外狀況的基底類別。 + + + + + 初始化 類別的新執行個體。 + + + + + 初始化 類別的新執行個體。 + + 訊息。 + 例外狀況。 + + + + 初始化 類別的新執行個體。 + + 訊息。 + + + + 強型別資源類別,用於查詢當地語系化字串等。 + + + + + 傳回這個類別所使用的快取的 ResourceManager 執行個體。 + + + + + 針對使用這個強型別資源類別的所有資源查閱, + 覆寫目前執行緒的 CurrentUICulture 屬性。 + + + + + 查閱與「存取字串有無效的語法。」類似的當地語系化字串。 + + + + + 查閱與「預期在集合中包含 {1} 項 <{2}>,但實際的集合卻有 {3} 項。{0}」類似的當地語系化字串。 + + + + + 查閱與「找到重複的項目:<{1}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1}>。大小寫與下列實際值不同:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期值 <{1}> 和實際值 <{2}> 之間的預期差異不大於 <{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1} ({2})>。實際:<{3} ({4})>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期:<{1}>。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期值 <{1}> 和實際值 <{2}> 之間的預期差異大於 <{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「預期任何值 (<{1}> 除外)。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「不要將實值型別傳遞給 AreSame()。轉換成 Object 的值從此不再一樣。請考慮使用 AreEqual()。{0}」類似的當地語系化字串。 + + + + + 查閱與「{0} 失敗。{1}」類似的當地語系化字串。 + + + + + 不支援查詢類似非同步處理 TestMethod 與 UITestMethodAttribute 的當地語系化字串。移除非同步處理或使用 TestMethodAttribute。 + + + + + 查閱與「兩個集合都是空的。{0}」類似的當地語系化字串。 + + + + + 查閱與「兩個集合含有相同的元素。」類似的當地語系化字串。 + + + + + 查閱與「兩個集合參考都指向同一個集合物件。{0}」類似的當地語系化字串。 + + + + + 查閱與「兩個集合含有相同的元素。{0}」類似的當地語系化字串。 + + + + + 查閱與「{0}({1})」類似的當地語系化字串。 + + + + + 查閱與「(null)」類似的當地語系化字串。 + + + + + 查閱與「(物件)」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 未包含字串 '{1}'。{2}。」類似的當地語系化字串。 + + + + + 查閱與「{0}({1})」類似的當地語系化字串。 + + + + + 查閱與「Assert.Equals 不應使用於判斷提示。請改用 Assert.AreEqual 及多載。」類似的當地語系化字串。 + + + + + 查閱與「集合中的元素數目不符。預期:<{1}>。實際:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {0} 的元素不符。」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {1} 的項目不是預期的類型。預期的類型:<{2}>。實際的類型:<{3}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「位於索引 {1} 的元素是 (null)。預期的類型:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 不是以字串 '{1}' 結尾。{2}。」類似的當地語系化字串。 + + + + + 查閱與「無效的引數 - EqualsTester 無法使用 null。」類似的當地語系化字串。 + + + + + 查閱與「無法將 {0} 類型的物件轉換為 {1}。」類似的當地語系化字串。 + + + + + 查閱與「所參考的內部物件已不再有效。」類似的當地語系化字串。 + + + + + 查閱與「參數 '{0}' 無效。{1}。」類似的當地語系化字串。 + + + + + 查閱與「屬性 {0} 具有類型 {1}; 預期為類型 {2}。」類似的當地語系化字串。 + + + + + 查閱與「{0} 預期的類型:<{1}>。實際的類型:<{2}>。」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 與模式 '{1}' 不符。{2}。」類似的當地語系化字串。 + + + + + 查閱與「錯誤的類型:<{1}>。實際的類型:<{2}>。{0}」類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 與模式 '{1}' 相符。{2}。」類似的當地語系化字串。 + + + + + 查閱與「未指定 DataRowAttribute。至少一個 DataRowAttribute 必須配合 DataTestMethodAttribute 使用。」類似的當地語系化字串。 + + + + + 查閱與「未擲回任何例外狀況。預期為 {1} 例外狀況。{0}」類似的當地語系化字串。 + + + + + 查閱與「參數 '{0}' 無效。值不能為 null。{1}。」類似的當地語系化字串。 + + + + + 查閱與「元素數目不同。」類似的當地語系化字串。 + + + + + 查閱與「找不到具有所指定簽章的建構函式。 + 您可能必須重新產生私用存取子,或者該成員可能為私用, + 並且定義在基底類別上。如果是後者,您必須將定義 + 該成員的類型傳送至 PrivateObject 的建構函式。」 + 類似的當地語系化字串。 + + + + + 查閱與「找不到所指定的成員 ({0})。 + 您可能必須重新產生私用存取子, + 或者該成員可能為私用,並且定義在基底類別上。如果是後者,您必須將定義該成員的類型 + 傳送至 PrivateObject 的建構函式。」 + 類似的當地語系化字串。 + + + + + 查閱與「字串 '{0}' 不是以字串 '{1}' 開頭。{2}。」類似的當地語系化字串。 + + + + + 查閱與「預期的例外狀況類型必須是 System.Exception 或衍生自 System.Exception 的類型。」類似的當地語系化字串。 + + + + + 查閱與「(由於發生例外狀況,所以無法取得 {0} 類型之例外狀況的訊息。)」類似的當地語系化字串。 + + + + + 查閱與「測試方法未擲回預期的例外狀況 {0}。{1}」類似的當地語系化字串。 + + + + + 查閱與「測試方法未擲回例外狀況。測試方法上定義的屬性 {0} 需要例外狀況。」類似的當地語系化字串。 + + + + + 查閱與「測試方法擲回例外狀況 {0},但是需要的是例外狀況 {1}。例外狀況訊息: {2}」類似的當地語系化字串。 + + + + + 查閱與「測試方法擲回例外狀況 {0},但是需要的是例外狀況 {1} 或由它衍生的類型。例外狀況訊息: {2}」類似的當地語系化字串。 + + + + + 查閱與「擲回例外狀況 {2},但需要的是例外狀況 {1}。{0} + 例外狀況訊息: {3} + 堆疊追蹤: {4}」類似的當地語系化字串。 + + + + + 單元測試結果 + + + + + 已執行測試,但發生問題。 + 問題可能包含例外狀況或失敗的判斷提示。 + + + + + 測試已完成,但是無法指出成功還是失敗。 + 可能用於已中止測試。 + + + + + 已執行測試且沒有任何問題。 + + + + + 目前正在執行測試。 + + + + + 嘗試執行測試時發生系統錯誤。 + + + + + 測試逾時。 + + + + + 使用者已中止測試。 + + + + + 測試處於未知狀態 + + + + + 提供單元測試架構的協助程式功能 + + + + + 遞迴地取得例外狀況訊息 (包含所有內部例外狀況 + 的訊息) + + 要為其取得訊息的例外狀況 + 含有錯誤訊息資訊的字串 + + + + 逾時的列舉,可以與 類別搭配使用。 + 列舉的類型必須相符 + + + + + 無限。 + + + + + 測試類別屬性。 + + + + + 取得可讓您執行此測試的測試方法屬性。 + + 此方法上所定義的測試方法屬性執行個體。 + 要用來執行此測試。 + Extensions can override this method to customize how all methods in a class are run. + + + + 測試方法屬性。 + + + + + 執行測試方法。 + + 要執行的測試方法。 + 代表測試結果的 TestResult 物件陣列。 + Extensions can override this method to customize running a TestMethod. + + + + 測試初始化屬性。 + + + + + 測試清除屬性。 + + + + + Ignore 屬性。 + + + + + 測試屬性 (property) 屬性 (attribute)。 + + + + + 初始化 類別的新執行個體。 + + + 名稱。 + + + 值。 + + + + + 取得名稱。 + + + + + 取得值。 + + + + + 類別會將屬性初始化。 + + + + + 類別清除屬性。 + + + + + 組件會將屬性初始化。 + + + + + 組件清除屬性。 + + + + + 測試擁有者 + + + + + 初始化 類別的新執行個體。 + + + 擁有者。 + + + + + 取得擁有者。 + + + + + Priority 屬性; 用來指定單元測試的優先順序。 + + + + + 初始化 類別的新執行個體。 + + + 優先順序。 + + + + + 取得優先順序。 + + + + + 測試描述 + + + + + 初始化 類別的新執行個體來描述測試。 + + 描述。 + + + + 取得測試的描述。 + + + + + CSS 專案結構 URI + + + + + 初始化用於 CSS 專案結構 URI 之 類別的新執行個體。 + + CSS 專案結構 URI。 + + + + 取得 CSS 專案結構 URI。 + + + + + CSS 反覆項目 URI + + + + + 初始化用於 CSS 反覆項目 URI 之 類別的新執行個體。 + + CSS 反覆項目 URI。 + + + + 取得 CSS 反覆項目 URI。 + + + + + 工作項目屬性; 用來指定與這個測試相關聯的工作項目。 + + + + + 初始化用於工作項目屬性之 類別的新執行個體。 + + 工作項目的識別碼。 + + + + 取得建立關聯之工作項目的識別碼。 + + + + + Timeout 屬性; 用來指定單元測試的逾時。 + + + + + 初始化 類別的新執行個體。 + + + 逾時。 + + + + + 初始化具有預設逾時之 類別的新執行個體 + + + 逾時 + + + + + 取得逾時。 + + + + + 要傳回給配接器的 TestResult 物件。 + + + + + 初始化 類別的新執行個體。 + + + + + 取得或設定結果的顯示名稱。適用於傳回多個結果時。 + 如果為 null,則使用「方法名稱」當成 DisplayName。 + + + + + 取得或設定測試執行的結果。 + + + + + 取得或設定測試失敗時所擲回的例外狀況。 + + + + + 取得或設定測試程式碼所記錄之訊息的輸出。 + + + + + 取得或設定測試程式碼所記錄之訊息的輸出。 + + + + + 透過測試程式碼取得或設定偵錯追蹤。 + + + + + Gets or sets the debug traces by test code. + + + + + 取得或設定測試執行的持續時間。 + + + + + 取得或設定資料來源中的資料列索引。僅針對個別執行資料驅動測試之資料列 + 的結果所設定。 + + + + + 取得或設定測試方法的傳回值 (目前一律為 null)。 + + + + + 取得或設定測試所附加的結果檔案。 + + + + + 指定連接字串、表格名稱和資料列存取方法來進行資料驅動測試。 + + + [DataSource("Provider=SQLOLEDB.1;Data Source=source;Integrated Security=SSPI;Initial Catalog=EqtCoverage;Persist Security Info=False", "MyTable")] + [DataSource("dataSourceNameFromConfigFile")] + + + + + 資料來源的預設提供者名稱。 + + + + + 預設資料存取方法。 + + + + + 初始化 類別的新執行個體。將使用資料提供者、連接字串、運算列表和資料存取方法將這個執行個體初始化,以存取資料來源。 + + 非變異資料提供者名稱 (例如 System.Data.SqlClient) + + 資料提供者特定連接字串。 + 警告: 連接字串可能會包含敏感性資料 (例如,密碼)。 + 連接字串是以純文字形式儲存在原始程式碼中和編譯的組件中。 + 限制對原始程式碼和組件的存取,以保護這項機密資訊。 + + 運算列表的名稱。 + 指定資料的存取順序。 + + + + 初始化 類別的新執行個體。此執行個體將使用連接字串和表格名稱進行初始化。 + 指定連接字串和運算列表以存取 OLEDB 資料來源。 + + + 資料提供者特定連接字串。 + 警告: 連接字串可能會包含敏感性資料 (例如,密碼)。 + 連接字串是以純文字形式儲存在原始程式碼中和編譯的組件中。 + 限制對原始程式碼和組件的存取,以保護這項機密資訊。 + + 運算列表的名稱。 + + + + 初始化 類別的新執行個體。將使用與設定名稱相關聯的資料提供者和連接字串將這個執行個體初始化。 + + 在 app.config 檔案的 <microsoft.visualstudio.qualitytools> 區段中找到資料來源名稱。 + + + + 取得值,代表資料來源的資料提供者。 + + + 資料提供者名稱。如果未在物件初始化時指定資料提供者,將會傳回 System.Data.OleDb 的預設提供者。 + + + + + 取得值,代表資料來源的連接字串。 + + + + + 取得值,指出提供資料的表格名稱。 + + + + + 取得用來存取資料來源的方法。 + + + + 下列其中之一: 值。如果 未進行初始化,則這會傳回預設值 。 + + + + + 取得在 app.config 檔案 <microsoft.visualstudio.qualitytools> 區段中找到的資料來源名稱。 + + + + + 可在其中內嵌指定資料之資料驅動測試的屬性。 + + + + + 尋找所有資料列,並執行。 + + + 測試「方法」。 + + + 下列項目的陣列: 。 + + + + + 執行資料驅動測試方法。 + + 要執行的測試方法。 + 資料列。 + 執行結果。 + + + diff --git a/szoftvertesztelés b/szoftvertesztelés index 25da7b9..e612df8 100644 --- a/szoftvertesztelés +++ b/szoftvertesztelés @@ -95,3 +95,87 @@ Tesztelési szintek kapcsolata integrációs tesztek rendszertesztelés átviteli tesztek + +Tesztelési állítások + néhány használt assert metódus + + AreEqual + AreNotEqual + IsNull + IsNotNull + IsTrue + IsFalse + +Assert.AreEqual(expected, actual) + Ellenőrzi, hogy a várt expected és a tényleges érték megegyezik e. + Ha nem a teszt sikertelen lesz. + + [TestMethod] + public void AddTwoNumberS(){ + + //ARRANGE + var calc = new Calc(); + //act + int result = calc.Add(3,5); + //assert + Assert.AreEqual(8,result); + } + +IsTrue + public void IsNumberPositive_ReturnsTrue(){ + int number = 10; + + Assert.IsTrue(number > 0); + } + +IsFalse + public void IsNumberNegative_ReturnsFalse(){ + int number = 10; + + Assert.IsFalse(number < 0); + } + +IsNull + public void Object_ShouldBeNull(){ + object obj = null; + + Assert.IsNull(obj); + } + +IsNotNull + public void Object_ShouldNotBeNull(){ + object obj = null; + + Assert.IsNotNull(obj); + } + +Assert.ThrowsException + +public void Withdraw_Insufficient_Balance_ThrowsException(){ + var Account = new BankAccount(50); + + Assert.ThrowsException(() => Account.Withdraw(100)); +} + +Mikor használjuk? + AreEqual + függvények visszatérési értékének ellenőrzésére + IsTrue, IsFalse + feltételek vizsgálata + IsNotNull, IsNull + Null tesztelés + ThrowsException + kivételdobás + +AAA minta (Arrange - Act - Assert) egy általnosan használt struktúra +az unit tesztek írásakor, amely segít a tesztek átlátahtóságában és olvashatóságában. +A három lépés jelentése: + Arrange előkészítés: + A teszt környezet és szükséges adatok előkészítése. + Act Végrehajtása: + A tesztelendő metódus vagy osztály meghívása + Assert ellenőrzés: + Az eredmény ellenőrzése, az elvárt és kapott érték összehasonlítása + + + \ No newline at end of file

    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%0AW@x0ONl$S<&A!R~mSfZiJ!*R{dsgcZq$ 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 HW4ZkTQzp*7p3 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⁣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%0DSJiCK|286V^MbUWQlCG+ z5moP2R#^6)Fe$jeSVXBDmmTVk(OZb#6IMFZr8A|FfRQFyd(p7<5RvW;c4*8{oHZJ9 z{+upne?kDcat^S!kb9Fc#N-+knOB7W^2VGZi0-TzsgM9CBF_7U4#y}!4PbuIKba#w znd`dv+y!%58%Jp?W=63AYZZ}rn;u?>Ka;}hVfHq8Su1=QA2@#k_A*0nRJ?VaYM+2G zMl%>+>u%oB6r(8#2W4fb`sXp6&$@Y-jwEAt2pB4QggUwp6p`T*c81`DvoD0^tnLaJ zJVil}d>@X(SzC6?K|ggPL|>ukGW$1Kmto+PWxz6lEV`7)Y`pZJDIgt{b+)dd?=*LY2mcsN^Zjr`SE<%saib!dZ(x;Mzi=m*FxO7-x^o z!o+x+i3plh8U(#A90}LeLQxpHbQwYPXC)YOfH~NPE7)Y$t$24UqufRx3O~g9qM+_~ z!E4Utaw*>PsRB!1%kes}#TjZf%Z5Q4itdI1j}TmHWC9x|*|$uYlIG)?#{~7)puZn?sC$Ma zcZ1}zCP{-WuxF9)H4(V;V8y8(WN%^s^y!;OSRjLX==eTMnP>}|+NNqvn+qm=6t+w< zJ!BQuirJQHbM1RZl&f&+GB5%WEw@2g2@-!8#YrNFkP!PlPY7iG;EVuKAHhP8cfmia zu3E)>4ET3T>Dzj~?H8ASn z0hFO5+~FeI>uUSOSE0$4QxXqh@=N+fKeHe?Z%X4BCq~KFAzX_7-!tqWmS}1Lq)^4V zzH;~n9W2^bOxhJL@IL*H4^d1RmULUibW`Y1$#pn&tK_$fA|AosqsU6`LmyCe-BrTW zDg`I-XUUZwf;TN;_Snf8%v2 z23AoDe0vQD!69pbV)G(MG zEY4;pTLvf74TK47Yg(NDD;oIIQYo1$r|7b;_-Tw%?K(Uvz&c?F$2}DSeL6l zFH1lNF=nfu?M|LHK5KOKe&BDF*x@N$fDfT+wV z-}5e!CjRH`^x&7TMnDQt)VB2%e#Q9yudr2q`x=nZ1S4AKFn-U!06JRWr8i6)S|mKP zR4s8{uc36(;Y2DjhfOj_--B6SzsBf*V_f3?TSOU=7}(iF`@UjgYp1zbrFma*5-nos z^Afb{Nf_Tdn#z!}xW@!-jY=KNyy@%9er%Hk7V(6WC#kEYCO&21R694|8i!)2Nsg5B zbDFmxywA-6v+lBn^@TjVYrc|_W4xb*YHd8#hB%NcSd6hxXTJ0-LZRbV{8V#vXL|{6 zJ5zC@A7vO#b3CRIH{9b{M&Qy}{~XqymDf%>KdL>_p%e9TOr^U0_%~g~Df15H-sf=I z4x{$y^pZQp&=-?wsqKjlgAN1ByDcZMyB-6=^a?p)oG_*j!zLa#bf?PZx%(3sT-?ntkRP4MKA{!_88A`Na{`Y{ z6u3lEbk}m%vteEh*>rHP4XJ${(iPbR7AW7RyDzp3UqsiXjxiW&cQs%h%HZ{blUgYU zyE@V2s9-$991{M+Zfm~N6>E=`1}W{L1dfam%uk){`9t{1%<+K1K|U)cJ9EsT?yyR0 zA-emZ(URJqqV+_JHSWwh&bs3aGoIk&5cBBt2eA6rsC-O;g>{iP5823%E&}XpSTHGo z+-VAPbP>%sJ#UyW?A78y8=?SC*eYyxZG0EAm|4<>MAD|>lRWfV5-8|de@r^`1a1zi z&}()Ov0Dr=$KygyQlJ_xs-D@FM~C{x!SR~y_p4gLx5=0q#2M}C+ISmiJ}5U86gnui zISa2`o;Ub;Y$BqGj^)IMHJ{K}ACY_n0=Si>P#U@m@}+neyrxR8`RGmD*T79J?N_q} z<@8OR&u!fjs42vB4(zmgZ~-X+3Vmtf7z=3E9~F-lODj0}KqHE465a3H^_rr$y#W4C zk_yl3H-r}*ydlz|g5r_5ID(Msm%ec9T{a|`8;aT}}!yn$ud#aoigH;dOy4e&<3Ks3~O zElX`=EQ_qx=Fzc<>ts{uh`+wZH#f2^!X#XQNiUBk|N0kB;jcCi?{~z;U&kU_T{51v zSPgI-+XjL>i%{>U&IKUcqEz0rfN-~k11OPv)i*s&el1z)eegT4rB&szyEk-gw;!AF zTQ(xJu_!T94Kbcjh}f@nA0tX9Ev1L<*n`O@zNL}cah%a$YV8_!jh3JySNThbd6ybj zese&FODIKB|8hik+{4;Y`37=3Qb)uu4=hLY1Fka?jHH3TKK(Hcpo_@Xn9eMzB774l zu62lj!LPCLbl6TkiQzwD0TssCVDh@5W{^eYH#06&NRY$f)Ci#8fW-ZAByJO)s{+t7f*e5>j;YZZ=ajJ^nABtRShhwPR(CHj^p~uMv?l-dehKvaZCIb}0Dmo|o z%7CTmVjR$je?U(bQiw+bn>Ti8(u5t-0H!1Jtd+9Z2;F#pHwUUzY_Q|ho{tE)$ts-{ z|4Mi&ia3I6$X52H^NNRfGvX9Dbl2)Vi|v4$>#=fSQA&&>LnO8QXM$snvol z8aLx!Q9aMUG0E zDVf{J@_zp`O`lB8lavqvvcCMVWXBEfy!e_8)HvHjV4)#p*hJ%^_0c3e5HHettJ zyS7Qrfu=5SZZIJn6eOo6Tu|~-hP$;C>#Cw=s2a~B420p~ymgPTHC=jAMrv-_M6x;T zM%juc-;~?P3{{k5I^BI!?;qbPIgBymlZ;1RCx5Z8Wh>=yPD zF6PllQJt7RFE7VXZh=>C@q9N=OA_^914D97J=Y`b0h}mqV=@k z`QV`#K1c3N2Ib&k4*0Opem6m8$(=nqzJdVBVt)fRD=0b60=0HxvB7VHGVG#riL}rt zv(#|Xfjl6NQsahIKdb8=FZqQM6!+e)uFdD zv#i$wMH@)zx~XFhyYpum$QUt&hEQCBx|4%tOZf#@^>CG8XnRq{?E7X#u?mM}dE#CJp z#($@P)9A{Z_7C|>f*0ZlJm%!;cC)@Ru$)Tu%r3IE)y-KtCF`G#eT~iG2|4{w52hw2 zMoaw&y|tRdFD<&dns=-_Q`~^!mrPyR-cwVq=Cq%C+V|}>Bl;Ki??;P&bR5|_CN>-c zR-FbtJYO`5iMxhGvDF+pAJjIz26k-*?BcYasc{vImO)zf?l6+ASxv^mit@PoqXKzN z01SAH(`nG2zp%-+>mVtfvP&;AP`vn%o)XswTfLO~6uYvEJ4rl}SX~|-;c`lo#0wL2 zKw_fg0FW#_{RZQc;N`%bH!!+wz5I`KK9bTWQN?956 z7CdrXqGN$XIC3uVlE7A}%WH$T*P@qDC6S4zQX1>jDf zSkABhH49_L2!yeYTIjfT;8dV`Y(mJ2mt#mi77cY>K{qOGjcJ>5Nh`Gp&qT>QsvWEm znE-ff>=ib!BwT;vuEqjx4a+}mcbw`XQkTSQsY+OdNt;q5o|l!Wnk#k~}cmVIq}QNZrwZT`5lQDu!8KchFS z(}=Dsf@8EgohP}{nyavCW9BWZm6Gi7R&tQaCAJGGO_0X#Q7CJm#fH_c5pCR(bs8+$ zFan-D&6Q=ed_QtpOx%H7rPhf1$5~r_@u?OLrk4+5T{YIx)I5``Dt?P8Fg(5vB`IX< zh?v@}vmW#|GVFTo<3e1*!uzH9r67HTj|ck)7Rrn4TVT?D8!UF@>ny3e&(#TgXxOHa z+3@;LuLfed(KHY#PzY6bT;@7>tpbeI8rPq1|F#~4+$ReyTg!R2h@)&|F;o}C88W#$ zk3=s|2BDFyqUU!zH=<8X_#vDC0erth^oc zu-BsrJ`-nrnBJ(c@h+iPFt!=mFG1KZjTNYc=^u*$Y+^=X4Sq4rzfnQS7}7(b$z){} zCQ2?&3QPF`ooc0L?k3D0M#QHa6yYNRu!DK@nUr=@?RDeBe5%OuR7gwHh$M7nq)Ez4 z49vnGr!;9Su2v$(2zck03Hnd)$r>-wT$qwA+jpW0&_$|83)CPX^>RQ9{w-2Ex$axw4R3}oXLQ>hqyuKdQSwq8C0BSI~Y7w|e8l$;Yr}scIz>D;cM&x=9JyB8p`m`A-{CwS6~Lim{TE1PKP!nZ*))K$68!V&Z0xCxm zZ`|v*tLGo2n8esn@(FXXrN|AtU^?)lN{lrTjRJ*z5nulKa~bjw3-S?jheDDiT@vz^ zKUcs9nO>vd!9#9tI{(#K@90*}?l#q+OK}rYuvtN`h!$$w$s1;&NVC&S#OR#Aeg!#di#-Fno=lk zAp7qg3SDH_(>zM#@y+e*&h1hwAU1#TU8@&#N7K~*lmZ+&r}0^QVH`0~jnTdK-)p8c zc7zD^^-r@;2Xy5}Dd)A)Q2A{CiW8zpy>6#tCX#*ruGzeO5dnW;As&FKlGzdxjdtPU zVAA6$z_8Y`3rBiBZ0onpVYSWOB(aq2=r4XL0>gkIC|{>dS@qgsb5dNh2J(zoDUhgnpS}~{tJ8e<5lD)ZDxRxE{Y2T zTHKU3t-i)@=C&$S9w>^p+`m&PBo4e-yB>3GT`NJ`I6?N1U$5e=l0hyq{p#!#+_LTZ zQ8O*!$o-Wq?Hy4y&dZxC@XxE{z4lP=svuV{-_sAB$puL2#B_)%EQrC`^OZ`*8I4Mm z)}euf{jv~)Kp`L#{(%tPwep`n&WqIA#8G0vuz*=BRe6Ml!y#c2H^jFY?P5*XYY|E| zi&Tje>*VVQz`6F>o{GY_J!OIo5E>i{5A0sFkf52dvf$t>vAdpBfx5vIEudv)Xfki0 z3vTHU*4NS)MnsU{f#N;7Ytn-vzdyrCuKgpS-G@&Fk^Z@X!||LGV6xDfXpGl2A!&>k zo<9LSAu4X(-V@H!kJ7G>HRQnU_lLnRn1g^Sq#DsH>mZiU6~R#oO#c9MeH6M|d|SILCrzFk=Z8s|A1<6- zkNIs_vW}+j0b)1l&0c{n>dOq^kGSkNoFpZps<#z?_zK@T<-cm};;vRV2S#CwjN~ma zNF-KplRZ$~!%`8+e9B`&wx{ z*WoKD@kO%nL-){3zC;CZcb3*bwB#@*oc%CTRnHXBa^6wQHjyUh6x~j}H#gm1-l};U zt?z%;T1}qQhGcWF-C`o^)OEzp)HHXl9Y-Tt)#r~^eMXu{;)#|o(UH&?fXPzl(LXVj z!R0L-2Fchk+fj4*Swu5K85z0LwmU%mP7z%1uJew!zl&>Y59Vu|pd)u{%kHvTH<%J` zD|O#uRWYidY-6vH-rLzy1=3g0^HR1pCF~a?XGW#X-SYBTMgdeQB5rjF>qEbwT|fke zivQx|%|cT~blITyAs_b)iZk3`dCaN5y#?JoW60@M^~6q{fEc+1p# z*X-Yx5EgfbADS{*??jO-@6zwhl~VjZ@IVD!M7`KNf8;)FLu&$S1L>hpw0D zc5!8o|0H`E`V~rg&r!{~KW6e2gL(ew)Q#ZD>Qqf@W!5p>@B(nQewbPY{qdO;e%e7< zLkou>!WbLv`|q}@vf~{)Mk7){UapXY-j5gF^B}Ih1~P4gnBsNM{A0*(Pkt7F>D46c zT+sv)mmH+q2Vm?r>h*z*Byq0}+4*JFH&nK767&g$32=_o>7GU890}0*a;p|saEi(Bi-I2x7FIWbGvVJ;1=|(^1%>40JO2d0SFVc>iuFk z+q_YFBBW`ysA+EgWHg*vv=fAxI~iE12HtE=7bA#a$Nrz{uK5A3R9|04GT2Wo5(=-;ZE-M0#aDohSXi9yiRh|;{Z~9DH*@s8y zq2Pp;9VtH2Bp#4xUM=Fhzj=NVzF*ysPQ@DPZfx{lKME{cRh*Wz5lM9oxwHss=fFN1 zk4Q5b@^<{xO*go{1<&ZN>dV!{kc-eqrhF+#aHwr5@LE#!VEZ+v(LWN2_KT~ifzjuo zwR!)*MY7B8xiUY}W)oHtNley;Dm$BFgjD<90c!LKJKxE;jWL0*X-OI_NTfLNpIs^; z@$sUxo)rPDg7jtoCGNLXBP#vfi~ea_H_ zRkJ^l%2c5aJe4a2LBluK-`=RzKhVUavfP2CVg$}m5a3qtFhPr0YyPf&gcQU7WA~c* z1z$1PJXBL+2T4C`ld>^$T5g^lga;NP9Il0@Pquv&gNaOw2ZEW>e}<-sg5?`0fD$QN2MgdO&VA|v?LIM3m>vvP&Z%j?}Z4YYfxAWu+>5pq>;H4 zP)v)}@1yXG3TEP(sQS>%82Y6SMwX&7L!MkfD&UP&Q#Cgg1BIQP(pT^)g%oWgtaYvc zdMLgcqR1j-Ov-0xUC*a6QyY_iUpaFT zzQcl!&der0Rs(9Bk*2CYlN@|y`9P5NhRz~yi8ge!25;`Eok}PQ5$6E*WK17L=Yx-c zQvG>e{uKVSyo)CU#D2`B)3_BK2|@?%hXYcbYM4KEX;t>W=qzDba%L@Ft#^dX|WMxwSbpFI!FlNOO3Mr?_i$_X?;|}mwD2EHf)_0^ln4? zjK}r5ep^Dj7`sQKMX!*~ z!5(LzZT53#la+Bds||n?L5%T@M{s>`gH1iRNs}9BDqoC9HJQ~ch?6I?8aMO09YZSo zR|~8ik{VX`Cw*e#ir--ao2}*xkUI2LM>aE!GC-lQaj}(-_L3nmn-3w7zm-dxF=Ot8 zcq#Sa%uKaeUXk8T?TfsgI5lZrL@+z>F9raHr8};5tt0A@>v_HS5Aziu)(^&?7JH(< zbDb^Fi@BgDb0EM!W7iv+=SL9U%MRfL%&BAY9Vku3M*dneJYR}I2-eC$^-G9-dWH4= zO0bOF{>+$&Tu-PiASyN%JeVnjfS^4Uw0HQQ*f(Rv)D{c6-ySf2bAC5|^j_7GQ;|e8 zz>qdW3CJ_>PINsz&>Y4iu(RtQp2~Wg$XmA0M+xH{sUKsmfV(Jv=CKSeGIM7HxP?8} zX-&%)$u5GAu=LF_b1fyCB&-8sdDG5m4KwpXc1SO+^e6L9iJopL9p=Mho}{+ElpZV{ zO11ip^ysp(A-)ai34#D-RWklW_rwA7i~~YBnPg`wCTelAUfdFL|3{c2VHFuA=O)g9 zJ37}f(=Adx&~i~o@CD7S_S|=BXgxBG8=(1e{(R$pX`>tAZL}Kk1j@2gwMeXKJJf1t z`X3xe3(dlRNz=8bP}l3@jWwV7jPEU{ItQY7l%~NXfSem(P4HAe$>zG++BC)Z$yIjLqDNf|=A?XRDP(^SY9l96_E10~`;5p{%qR30$1-KEY?Q9g6MWtAiLJBTl{|?i}(VuRtO_s&YA<6)=Uuu@#O? zzYmJf18FJtK+51rQElV-qq<&*Qk7IJ7;m>hI0!d)UX15oWOtE?N1T|5>2Mifv$K&q z$3z?+-l)^9+Cj`U^aCow61kv&Xy}GOs!}dBdai3;TqW|D3)OOfaX#T@D%`(G2PpQ8GcZk$qB#2gD3GUh+X7O+MbmA-Y=Dq-RX>-VA`%HOQO+HMV< z3^4hx6$1Qn4886EA_GZS4GbwUmm_dW^9~Clm+GMIv0d!t0P?ia-E(w}UrE{2m)&C0 z3oD27zZB!EoYm_j?nlk{r%X=&WNi*^_7B#{6pDtrbQez1f8dK9jVWOsAPJ7 zihVX@#~+B=V=#5TOXB1Z)+!ZRzWs+nRfV8)q+1>LbzJFaqp~fI8d6%yuidgNHf__y zPj!UDBI(TTa#YZ=JG5{7a?GGob4|=NgPDerl98MJl}L@!Qdim7_zHR~org{M^4rO- zMf2vMO#2JK26U+9k0<-qt&6w!*UTkn+^%PZV9Na{dmzcNaE_4a`~Ia`My^1CZXJ>64_E^!s&V)QA(A26H}PRxYbQGj*< z$w{F2JQ)MCD!t_)%j(XIaZ8-!nK|o{1)YmeTy8ReG6do-CM%s(l z9k*~zqo}9{wQQSG_Esa5g=_()5{HbG^*7BI>DYE6MiZD^yPwX~6;DRn66 zL0@ic<^G+uo5! z+_n}E33@@pey->K(eSAb zc2rsT`_{^K>=;3KR8ID@8->h~_3^S(rQsid*bE^|f*bEY6fW-0k$?F3g3QrEII<=M zq(19hMSvaJDL?M*68OU>9T{v7Ia->!!OsbOeZL`XcsD^vA-J?qg`JdBOoT0=6nF7g~hOO02!7TxPR`)F#RpL zVxrlR8xDJStp2@C!0>syvC7aP?=9tfd=ofxOZJ?Xn7j7rZy=oANj;=wO!0YNrOxo| zZJ8YJV78N6y!idv-V2nhhhYqKE6)JikO=g_cD>^{#D98!@2!N?5$m9f5n6lO4JbH2 z@l#9J+jz@z?=Q|n(TMC36+og`$@!VVRK|TeWr+KG&HlEO-UWwfi7G)7Qvj18@fw51 zJ7j^o4Oc(U$}2o3|8H=b*J^i$O6U%;DG0{-L<|Q108eZ0@&)xJz_paE>8&5Mo|nYM z#tLpm58HH=JQ6HH2h&7rhYduzt+m{BLv@jB{>J_( z;nBF2Jb@qc{h0`g1E&#b+F9>Y`c8(KD7-Sx@+qA(@&%dqnxpWL+-lZwIw(fY?WN_4U_mPkZ$l{4J*^Q2B=^e0>113 z`8ni`Da@*;j06l+N!PZMTs<@uVMuzKaH0`}UoIo%wbKTFAm%0Xh8fN454laE0;v$%Q9QCsPQD-`zX)F>`3q?`$i5@nzJ|h`#!zzE#>x~64`N~_&U3bqArrihs z`8|0BD=F}YY@ba+OvvK}xREk^zRd}^A^bHA+3ie8iF5rNZ^m6gS!^%~G4*DW=pTXo zBkmcR{wcQ5MKkdZ#8|IP3<~w>ndUSS_C0#hb)9>aG z01Ox6GTBy#GfHIW5o9#d%bmEmqDZ2Fd)9&?;M|6DZcNH{J!E=Y)|?G zeiqQL9c5Qvea3vqY=b{Vc6(fNDUJ?$@V+nYM_l^FqO8E0xkZl<`0(V0%|-HeMeY0_ z08K!$zv;&?`tte(y(im!QEK@03O>O=^8JXfEPU-BPwu|o(&Jqi`h50F;KlgK3l_6W z+5DBy>>ycR#&P7`Coy}H>wr4p$!cXso6^^JOJ=1bv>effWv7kIN^QKTHuCy~7=7RL z+`xC9?R)>t_9Dqs&5TObl@BA@V~QMnf0+4s-vcGHzc_IiHKZq-S#H@@z#d_ecx(p_ zv%)?}^VZ-UtRxi(OA!HFOg!S>zF$eqc-c!3(2jr@(Ofer*GIN(OsX zLd$f1UNgs=dq55jK0gF2$0jR%y*vo&?HJ}f-_U7Kx>F=_`-JDf@HtHRy?m+E?_Fp) z_Bu`?AUKKFNsM%tUR|+x8M?q3%MTY^H$Grb%@BdyRl;NF-r_8_;xNz9cikD9b})Mz zxF6>93-ncC>d^?X2DmPa7HGBL@X%)z@w^rB^M=Q4HM>oG-@frcq|5^MyyZKwAybQN02hq9!?if($F(4Jl8S221V+g zpBigVXQSjGlSAL{AH2x=9%fUe3wG*6WV-%#TL}UBViwt5T!E|4pDp#W^~>$W`K?RoX>uWE+-hWHj}urDnofR6he1WzsUbqf(W-&2&rO%RzLke*QE+cG0-5 z9PC^3uI<>yzu%K@(N^iy^CTHAv}L)G_ka!zMoht#0mA5O#}3F9l*S1(T=t9X4^Z3y!#19|AveUmO52w9|2& zA5%MoaEo%*m@mDnipQPsfkig~7zlyw^DdtMI%1qDN%DB+`D0{B(3VSFwG$3P`2I7F zfuuu@K|Du71HV7@W^ATDp`9Nrid`cgpI{>*MwIpX%(4Slv?e1evbFS+Xf10%U}K?$ z$ED{iEgR8|!5|{$7CZMO!-zuH^=Kx6m;w!zVN_eS*2%r^IWxIKRpK7Eg0KWWg4wZ- zvng6(6vpBS^pp51MRP(Z(Im9< z05?LQS4W@DPHLCNsFi|Am|D8&+-Kv-EmL|6UzZ8RMIIl=@yjhEn0f_6>2ivKfP%4e zuV(isbl922J^O&ip;G}H3#R;p6rY2T%Iz;{s;KEJm^I=-*PGA5ObJQ`&^!uPdC>WW zpOExl)0zS8=@dY?J@Nr7h9_`Hd2yG+lS87>Sif*KPsmPnY|bSAOU>+<0OEPc_|{B- zbu+hu#P=`C&ATG$gDV5M_#!=YnxN6v&D4QL?n`jj*1o;bN$EC^6KLY8=UI|u@Wou5 z7AFB-tZ)N~_#^re4|_7$0|J7R*vBG299y<3P*Wb2#CIGX^|9UnW%xz9;(TIrpE=|o z35)h7n1|IBL+(Mkp<}%mW5n5PZXI~Ka(=kSKlcLD+sj1JT^0H%HBs zC=Grx2@++dj+o)5WzqD)uzPTfzR$0%E5^CKsEG1=@wJNba{xS>%Y;@EW*o?&SIzSL zh|ll!BhzJ=o1@D7BnqiGGYU#IaeHn+wX0 zT-mX+JbV~SBTcj0Fled`_~;11H{GazU?9`%t?ewY8SXr~ZO#vfmn{ZwgHcDX_qU3) z6x|O9EUk?MG%D%M!!LWq0Z(<+E3tK-MUS9g=XC4WgrS$U68}HwMmN>fthX&5T+m8; zJC@HLn4gb6M@cUmJ}uEoM`L`adh^v=C95*eE~H;88pp^7rR*2`7r_|O8o0YGpq;g}MOfL8Rd|Si{9qPQ zJO}JQ4|jFL;DJRkcH>2I7gFZ9gKwOUW(H7TtwP))6|pF=LA=tTpEUX;+OQ)Qe1pw` zq3K%Oo{!-pX=i#Wj*?c@`t+7s!j_gt~lbgGX1~NLPL_JUcSh7p;Uej_9R;XA&UUB{V}o-wn%2byv(wn zwlMD?24e)yo)>T0T8rs>Sq$}+ir1&vGz6dNbChkDK+nCU+_g0(%9Iv8tD7MH?%OFi zR@E8V$G1xPuXC@`-wy6!Rj1-(%`kWQS+yh#uQ>|Ox@58LnLR4wMji3yi)Yt8f z7it=4s#!F%h2*AOUM9s-g$>2gY6?U)smD8~H^;2CQF3(#L72xdU@!-wjT8`gAr0x< zy-)2(pq3?eq*>~%t%EH41LY;3YkpJgLD-KYA>TGayPT@7Y4ZaeH<*HHv2%9!%4jUo zTS*8KB^WRdzjp#;j{*z<31zO8{23RCW@0zA-Lq5Z$`rL&GqVF=Y9g#~JyK5o_IYZE zA<23TUZ!-Ga&wo_hYoiig{fM4iCd|gT~lQ<^s_Gy{8Si5j^T9yi(t`c;+8Dso zcWQqQ7aypI@g6fNOCVErkvzxZhl>SB?7iGZae7Le*^AD%QPi#~<`I&4&F+)MU1U3Z z9MOaptQec%6Cw=%yb6PueU0V$qs}>x6QxiEly92WL(#xZnvLYSr6p-p(mrCcF{N&I zr)^DbOqRr(AYhUBn_q=V&>2rXY$&x5KrErDDbabIw6B#~P(Jy7np!xORUda2V1>R3 zT=umyZCLyO8i6^4RxopdzTvcCF~bc~D-8S%h0)Rp1~$Oc-h=1DV2kZzrU(42TBQWL za;3;|x%P={+t$uro@v577QSD>9F!3@>*-Yzq3Q$U$UL_FM|;DcjZHZI^A7B{&dZRH z0BeqIV6e${meQ2yF~ZuxPrLJ0ENpBKme0t>;%#1cE_P2pQnbD^t~AxtqdESERP=JJajxe&X&>UInjM9V}<64f@F1W3f1_raWxH>EjIh;`@+>Sawqpj1pc#W zJ3#&H>SVNYv18r1bK*8e!4~`@%k*kf&>`n4SCri8g!#wY=ay?7pfhb1y|TRT>)8d3lXxm7@e)>=^niu7_Us)=W--BQ`h zy+p3O)D#jc^v9N4i(D5VY*isUdx7L&%-C9P@VUgTu89r1Wb5$s(5bq;$r)=aJWq`X z;Dzo-6ZgJ$vDrmYwoD1@z7t$b96n2c|A3p{q)u%asT( z+V|+0W+N(>&I{?f5Z8;q6!14vm~zj98;I+6#t6zLvGPp15$~X<#B7}{)H>0!i!D?b z%+ro0j(D3_qW&H16uVC66&T?3t>w*0#Vv-nv&GDMS9BPj?O{!%$zk&%b^x)C{uY%T zIk*~;M5~yJP0;oM-vrJw3WG4=#ljmlAQ|)hk%a`b^wRg0kIGYV`2pTycH^Uy& z{KWiqpJdGcdFuo ze``y)q|LW?r`4-EFQw3S$5i^7TGn@2f?TsUvnewMGaUWPBW4{i?A8co--4+T%F0iDi(`jtYA+oJ z$Zi!$D(7`znU6@)i#fqC%krls9J2~5cy;o9tB-s0E0dhT) zie}mrwvhMX8GT>g-grq1g%nqDc5HTl{Fx^F?z&4g3jfo{tc}4VEK!y_4y^(~`%Kd1 zt|_X#xe6n8O*>fD`%qrq-f3>z-r-fA+iT4>+SVifZ8lnm4+mH2+3&30w(GPi_+{3i z6Ry@^NZflq)F!QeZ7TW0QP7ND&X+z*sxVa4gMMQ!KQOyQVwaYD@R{|=Zn_#8R# z+#~vkCmXYyTB&FoHjYtgg`3FK(qzL3y{#Q}Kk9D0m;l+^Tw5Bzk@KRWmM;vO6#;c zIo-D?RN4zd#fO>;liyeAlQ${lLR6NQOK?Kt7E4FdJGi||q*JZM9P;ei+Uz@Ew?%5- z7Ma>ScxTIk0Mfvxs3cx7wRKhwAFJF#`lauOkMd^S)+xGa>{7#qN12v{C$_K)(iyHU z;icn0aryXrg;kX+D*pgd>ChopPfv=Sw>#BocY^R?)NRxy{Z|l!xymnT?O4(4WYeID zQx&69H8Tmh>cBptadYXR@3jytj#KXJt^>5~yQKYK^Va3se^9rai>O4F<(D%gH+5zt zDRizV!UV*vz=X*-9y{i$e7rur86XIsSDd+N@_2fVc1xCbV>Nw0re#%Zdpc%TQAAF9 zf$W!6>E%`KN%O2<1j1cjftXdMbpxjCbn{+FOy3u+h&t;C&2W)LfaXPo;QT#=X!T%o z4etBfHvB`J+SoC1ds>9on6tX_0=!c`^*jo;SkO^K|M^nx=;ZKX?Chdzu|hZq%)zU{H{j( zXVtUi9d`P%#WY`14eZI{P@FJ$V1dU1EI0@(%XQmn6Lgl}Tf#A@TGWz9A_syDRRp$+ zN^mE~kF@ABv_X}PLMz|;UO}7TJcfR?@e`ww-OL4h)l;4IQ#M#u%DGTCR1odXAx0R~ zZ`%FCUT1@j&C)pYBgqed*fDeZ^W%S&ejH6m3fePSpjVjHZns@B^8yF5U_M6;fYnK@r!7vG%>`n<&mJMVVH;W{LG#9jbp7)2gW3+_IKb<2fF zUhg0T@Zys<+08a?nC}#WIXm1Uzzv2gJv3o0uxvIET}NZL;}UtWc7(}01fv4cxpfNn+rx{ zhFJF5UD!>wS;*_5bPl^R$h_U1sq8)knx#r2*qHe6}#^2D}H@xN$U|TC7hGe zR%gU~`0yZgMpgtMPg5>K=z-NOx7uPNwWnEc!&u$LT$`cJG_oW^AD1D(oX>(qycAAGwy|4ru8W317YM12 zU`#0S!=OE)Ze2t~#0P^^xc*kQy^)8GxL;ro9CmQrZrZ>h>T>)XE*9y(jlI{m0lEzo zz=5l;Ht z_;*L>D4y!py?%OB2m*~un_>yP$mKZPE6Xy@bz58NH+^7~%Xq6ZnETdiUulyla@6a> z9zm!0o&o6EGG5b;twZW+4;fBK$rClpnF8+_ltiD%R$&kHg|ZD>PuMd|Z0-pI2lT?G zY<=c|H3+_o3SSp*Aj>AF#QNuQ$38u{Wj%F0?%)OJn+uD@&NDF1ZC|Fh)bg;>XpRyR zhN66BVLc=e7FJ)Lqqe|E7u&D6bz*U`mK7VfBqJ8+IATEpYwokJ>1i}6WXK&+?NY%B zeqG|u%HH5Mek#4H=)BIizaEcW%yWg{Y+0~hoN4dYYyOC?t*#}S|M^gt0V;0 zUQu|9tzulHc=Oi_)i~}S(H?S$H=vOzg&s!_*tZAf7iY6S+}}(R^|c$rO>JTArgGis z+|Gw`hdJ3@8url~P1R4>c~wPdFn4D>RR`qxDKL2$L~RP8dD{+nAu8vJv9qj3`GXyK zSk)VEIHP*=!rt^s2|8KOPNmAJH(=38%Q`VPjnl7Ke6c0vRGq6Ep#qdlJ-b`lt#5`C zmSh|T6)_WyTJt1uMAd$;O~72|k^CaO4B#OaXb?BDh1S|n7SF-zl~*vS94EogWU<6N z4fZt#16U-AQk`~9O^B3$3rW}_uwz_ADb7)D9leGJ&qetO6W>L1{E1BL;b_o1)t`thr~zb@iePifeaH=?zRG;$9AJbR)gnYy6dKBOFckqvkaUtx?Z&$px0 ztVuJ9ax9Sd_XL7l!X@C=liY;Q@{V$rqRd+8B$?MjPNDT=8OLk> z{fie1(3IqU2FB(KC4nzc59VK=!;AdM2<}6gSjq3Agmo;den-*yd_rz^%sf+j6iD2O z7rC01gxQk9mq7#GrY-j_il?T_RxLLYR_Swh?Q+dwqf+hrZ8B6b^8|Ma z9bkg~lH{>iF4O4CV4!Ri$S6?ytx=%13r^Q9eWO3sK9662w0DhEuZ7E%49}iI+R&*b zGDHprrDT>VO1Y#-M>IM;%%W(N+$g!88l&VBRq}T@grQ?x;$TQ;z11qv;A*R%oFkAb zExX1Os)Gf&jFg?RlpQ9@b?PEEssTdWIaw!tV)`;tl*=fPQJ~XMpmCyHMt_b-e~bfs zWI8>OD3?)kqvS@(#aF#3IqG${+85h&Rwm)e+rk^`t0=A(gq=?3(Rm)7vZ%B4TIHnc z%#T2H1bISiFa=gS?vX{Oe-G&-1!-uIPer8y@Jen@#uGX|tr)^YGFmcqEitCh5om50 z4{i;G!SgOEs^iTNI!YzokJl`krU(sc6`i0!jR*XvYZ@JcW(;f@8BLk4rWo^R%G!Gw zvCr_jUU&O8lel#s#!C>NIa7x*sbGp!98lk4lNw!Cch)?j#IF-*)D`#D)HU1f{swVd zf==b;Uc}>SrPY}zPww%o0!;-8+G~vM#4wY(VQ_{K$7bVLN1>ZIqA-dGoV!fiKBBMj zF+rtKGXi?!hKz5W@?xVlue2uFI#SKn=DIhOeQ7lDm^E=|+dyfDHh!WeRijrqE!Eo) zr52CR^fov&q&07F$>7ql;*xQ6&I2p)R)Pb%Op0HwH;2Eng7Ca68ukf;Fr#mWK|&Ok z5_O>kdf_ZvNX9Xt=eW9>pGZ(wk`aF5YC4>EWt3J?ciKujp2@S#+$kz^Z8WzuQ%B~B z8N?dW4>Jg+s51z5vIu5;wv$Iyy5I8m-(Noc{rA6J!2kLHNqN5j){z(2ceOdSfRLDL zfUbDQMrPKvf?B%!EWLx79*gPH2)DxaBoHHD4@`lsA1*uxzAF!NX8rx!pVM$jdhZx~ z*A#(qG^WR$j);JR_;YLw_lu1;&>yJ=L5#snvCNF9L0Q4rz}dxf&u+I zeg+W?B4oojG$M=}c&}Ceol*Cr_d&OSp>B$f4H<`UFbz@~q|An4kn&(iX?)$2L+@K~ z)`xX(Q;6IHqzyn=1ift_cAs5!YZh-wgZYKUt5?Gr$Gg7`zF`gV_r=36+TplG{b<&K<~(&_6V z!hEwlz($*mHc!VI8h!i00NEjdY{=AL18fG^46tcQH-6qpfNdJv zJEY^+HJ(>N<>SKBb3e&(I=<0|d~TjH7o9bD1C8 zx-2YeiT;Ho8<^zYjmXfe<-QD_;@PHawmf!^)xRm9g>mq+JNpEvpr;b|K* zHfU_nIN#|noV4&GRvw`O0hh`H6IJxDb9BCdWEHKf4 za@$2=VnJoIj+p#}V~9(3!k~cz2nLZ1BApB(nXRs)i9ehtd=DOUFmP_*+`#!c!nuiA zoWK%OSYK{}_<#TXqV_`{Ylj~Oiz!E|aeTF?D}FpcoO<^t&IkBSlEQ8_9ubK2A6+nz zVjyLDkYYBycCyHz?ntORL{Pw>ut8yi!t%dkLSf^^pWMn&jvF7;ub*f@xHCXoUUN;*_ z?+b^w2*QY6*}Q_7mzI1U$9_ zhkcmeZPx5*VHHW&6#S)+^+f8TM@xq%J4Ue(S|IpV5=!X0Zq1R)jCxZ%EOTCjZk3@3 z#^i}!mmZ7k$XRaE{>9+BEL0D+pJ-KHVNYrG0cp5bbZ6|r;kQ@3lzN;b-5`qG39B+I zhJPITm5!BWIq`j1i*&51WUG7%bX@ zY7v&O{V5}=h&c9$s>HQANF|O?%&S%p09_K_rE%Ri?0!NT45KD31{v9|#u=N$o9Cs! zLppy(n~z(YN3)Z5*hqPe)rYRjGI89#pMkQ;Ie!M)4743Bv>D&ez^xW;k$+8LQlXia z^-Y235Yv9?KiV5E@V7d!1GD#OH+#DuZuf_JN1Zq}VS(suwVaKBoa^E>8KJ!ioDe6S zdk+=iXegceCdOGZv?DkQmiM!O>@@>NfD%SX23S;1U1&~rX*n)IraXAAkMoF6O$GRK zY{#A>GAy|jKCs9SZC9qNr>E{^W-rWD>X>s1Y&?b(d*JjC@E-3$b4no@YT1i7GA$cK zVHvtyhOq8fL*hS-E;FnL{SYrCD%O)BK zul$g`@?4cy{U$$ z6=2JxbBiGC5Y0ww68%!ud@;Iw*p@=dk9O^XHyQNkYlqfg$%$gg0ge|5X(+bYqaquK zG!WShBHtx}^Us2B@TWmYgOCPF43zW$CC2nJz>`0gD%rRm)D#z#egk3iz8)UnUln6&B|2qju(bZjP)o$sV5jZFAGwGr%e&mU?%-y zFmpF%8V}uI=;>nUk$B+-*A1@EKC!iLJM1>`{i~%N@os0eWGk`?nF9^M+@Lf+{pLUZ z_RTYqtFI~LXP!@%EI>*U_|90FFDCg^t^G0p<2UO|6GX@U9JyZ7*zg%~3W)2}bB zIl{WNzXg_0#=Jn&EnU%IS@ zX;ZiGu{=_IBrPkV9u(uCn+9qxl<2-FrVFCWxD$aKKsR{zf`@&G!#~+T=0JTCvDRJJ zFI=c8*{?fwZXh|kS~BO$$8;FCVT=%_KY_JP0QVC|8icsmLUDxn|6u!`o12slLPvjZ z<$Z_SJGKe(T|t2Hi9O66T?ZM9@Zr9dA-#?kFRVr8XT5dTzo{!hZuKsmK5Ts6(4I3` zcjU@Pz?l|N3N2f%gBR8kQ5|uH7DFohBJj4fIF=Z3n}0gWFR;-1lc)IdvnMn0SZ;-_ zKH9tKkP#_6%G2Ao9npt**V42WxF*D;@!4r*Q3)7m!0?^J{@8ukU_;wY$NnRW<^4kN zy3gXUTIlR5^nK=t-~~3Xj0kaBwV`n7ZMa`Jime06gT7mg79ARFezJHDo~o1ZI9z4e zDmLPh#nQU^3xHFMHwVFh#Zla{3cV9I6A>vFlEg(|(@oq!nO$ie?^b&7@FpdP&h&yK z_e7eNTpTWb2mv0i!XUPx;ori@`w50>nw=%aqbetq2PexZokjf&|An88U0@X!oc3ci% zNrEdO2Q~Ii!JzEz`qAV^QDDn4UvZOXTUxMg9ws0sZD(r9%PNV2bh(ah7xA32Xuyb%!6t)ECxA^R&SLP=xPD?X3~n0SJpRbJLC>k7 zr?EoIvu@DTplKcX(?U~YAD=41zYW|&?nE-^ZeW~dSo3NcD6NJv0gUF!{3Q1vQy!n1 z(jCAFHOhGG$~aw%!N9~AFk!&KfP;1*BY0EISb8qIjpuNuXs%Y z*3;$q75myFYOll~07W9v8N!R~4Kcdd;I^~pC9I}~B`Ty19txaA-{sj~gY2^?=%{z% zUClT&e4{bd3T+v*DkDEm6{MkW*S{?@a75ZS*#3dh#bedQku9g4JU-1bhX#X&-$O8% zWH9NtFv++}Cx?^QFz(whCb%5eT`GyU4i#I4xk@NI0vyr}lgA8+YBr8a71J3%VYM5~ zPclllRl<)z3CFQb8t7b|Q9^b|v9)7#l+F%y2K0;!3T>5mgF@3oA>$g2j*KnID_`)~ z5WX%gC%erMrg15*n09=;ijby~{OSig^1_7YFIt8NLdUZ~p^7ci#%$IoPiyBUFj#7g z&#W5(WU4jmo)ON#ub`iz@@PpHSbR|eLvfMhV-v*d`=ZV=v(06l_}@^MbzVm7?H@2D zzXV|f4>MO>*jeFH@zT!xHJvH+7r(Wg7+O8h#hqG_nN>;iJs!Wju<)O6Pvq{-3hCu~ z>)8W*mYblWN!Eu!mczQ5a_Y=y$lF%-n0zN!Wm|w-+E*8oEPGp@RHEp>W6>mWAd#He z5&V_j1unUvIT)z?jEK>Gxj_LSVVMXz&nG?F{ik7o5BeldDBO+6dhkI6Kt z*l7Lz14SJ=&E02%FGB}f4Bi;L$u~MS-k9*o31grPJ4+}W(}z)k<@Bng!jq-wr&RFf zn0KCdCqvt(;me$(jt%O~7>%2t#*JuYbha>#dz;vx%t3t`gE|Iv)PG~5j`3?w6bUbV z{{{ezUq%c7@iy`O9cb7M;cVZxJnY9RgIFFS@MLTd2G0W+Mh?fyv6~{O*}jct}&3pP1e5W*fE>9A&NYN z;jY4zSs6!>f2ZI~H4^N@+NftQ=95?zW6NhYtaxF-s)U?K9*oiOX;{2QdHi<5F;F6}GW=e3if}j{n$Ksyy<<`Ry@9770FNQNk9S!m`UOV!3 zsbkw_;HdSr4}ZaE?&H&boS9dN@ zdmF~na`Fi4dcxG)hGq#=(J!9>qGm~glR?$ukdD*cV-GCaG}d2|1Eavhczs5lPf?xw zHk8T=+rm~VXzv;LfCk$p>k1mIGgx=xSZ5r=^TA(HJIs5qeV}v<=MeW*Gd<_U(`i6r zZksiK7_Hc30alq;2IOr2JahPS#W)DSiw*8~jx7Z%9fZuih{yTCWjDFu{=LVoLh%tr zJ$|Sjyb?Wi&}&h)PFt>(VMWEQBlLJVqhlR~ZsGtu-*3uGA3o<|{s@-nLkgy-@HxSF zv~wA-xc-Op61CjAPvUBINhL}rr`f%nhBta{^!%{lc%{k3=60%ePLs7(Ri(M9yORdp z4(&G@v@>XD&`wA7c{-G*iNLpEJYDC}_2zRHA;()|Eum6P)1C`Wc}_n67i-gp3F^ec zj>@4w%o=tzb2df5m4UU4bMev^%oM=7S9z1kWAkAVVT+70w`wO`$b|rUs*+1j1_>!Q zphYX!6CQ3D* zN`~JNZJ!!!9U5DQ_mU0P8mu)~YrJiP|2>>9zmXSe@elL6&ARD9b9}V>vGPi0OWn!x z^tP{31tl34$xZ^mXm%DPEj(PlyD=9W^#T~CC+RJWtOZYB^RctL|E>hm1_^D(ZPPw)MYJssOao45a2 zV__BDiHq5}fo(EZk@*(mIw6?pt9p$A9RoV8Kxf3$U{#Ev!YWqoBF|QEbHt@94Hi!p zi~FlHWU$#_v%zMQo^95P>8uy>=IBxO?rW9+o|T8IL-$g&Ods$OWtwAIXwD)!y?BEY z>#{jTf^2Rr?FYIvUPgLKanZ+@gY74bMhfc< z_vrTU?xp$mi+ERq#OZp+rtIVfIz>F8d2zTME>$%Alz?o=Ti*<<8CW|b zSQ}|Ku7qKY_ur1UKC(gdgJ&%mgf|Fp5dMr2-b7$dc-0X(b5o3oBtbumi&wy=OA zyd8RNsqSe&D*!9bvW2!C|9Uho0OluJU|{VEb*hjzeDuTspaDPwfYUR`YoV@)iYFRz zG0;Ckn8hpwW+^aBfmsSnXeOP`lU$y9T$@TilS)Qr2VmDCP;AzO-KPZYviC@zN=m<3 z-fAsG!A{4lAWl3|$S|$cqB#bHJE7q7(0FGuTnzdd^y?Y@&Uh!(0RK?}ze$8K3xQb( z%tBz|E@p8$_$I-@0x`$5M=<94V*>N%y=V_iuJRK-SG5+=AW3qX3=3zMqQ&UtY9rDE=m>5#0yw+mlMYdlFFc> zRM)yu*JfcQAwg+`{EV{7fw$J5VPLCe1R%fdYXmB0>k;QL?@Lq)pNPa^dzX{^+zWqNs7IQwE0DVOhkoWW;P;9~lp*dRf`p zZEJ|=Mf|esB&6dhnH?=AVFVF>=LPP2kCSN(E4ZMbAGb`Xf&P>5!y4-djuO>lrADfR z{GP>+j0HMxY6f$ey-}khoQhe(0u)>Jdd=)esA1|JWiuXoE4AX3+Dgkl7LXYWBgU2+ zX3JFd!U>e>x)oVCgEj|_U`5H&Efzr-JSQc{`EPh22qbad z@&)rd@m=!bfCpd%m(Oernow{kudsDLDM7VxspPT_wzjX%t1>L$@(z;mHyOOpOu1Ia zx^l3VE~!VyMpdL!+%tD4A1&0-@JQiNwhYJtl`XJP(;*=`K#o4)jKL0zr8T|?IoHcXG>!-_%x z{|@o>F^s-gs-Y&uoBOs%YG|7M#fihFGj;=Qc((8TH^ap{V2}Bd#59e$(}F$m98iOJ zIW?9&)yBQmLrpENiL;cxFMumwJb9Ck+s&FSq4FgaLejl9;{2WUboC9N3h~~HJ}Z&e z8s?%;2rhaUEd0%LEbZ>1wHzjqBk}Zt0M!q}FStk~YxvWl$#C&K_zs?6vC{`seB6`d z*(W*j_jUlEnjXUmNrDXCRxSde{{OvADPLd^Yv~K`PW7KYL<7Kv<-Y$ zYG7vl^KXAngU{LRE%4wU3B$dn_qcrY%j9dd&*4FL!l(J3c=%HCa55Z`2V<_lo*#%A z>7HDX0oWmBBd9180i6&l$`Sa!Aaqk>*fsNGdti>`f`<+s)Ug(@TEw(XX9q$jza#dj zz@^e`k!6wNIK{*A?6s!N-c&5`wh(?G$+VsVKb{GO2uS{3G8umPd-}`NSandf&9h~K zvXkb59bP-nLN!zN4$j$NBRL^_>7$at&+y%k-UADMMGAU1;I2d3yjWxCP4EbmodC_pTtZZqvq*gX4YGg{S>iP z_`qaiVMIxHnieMFg_imI8xV0DUVD5^K56u?2}_zsJQ^}u%hFk?)6%vrZd!pKDv}uW zbAr?51-7cBieMackEun3ftaT1G#rhaL}?ZWWlVW##8hl! zPhvKI2;*fgsp9Qw9dG)cJM5#Ha*jPsXU!<_0T;-jVk;$fsO&k)nozkCQ{~F1H2Gs_ zw&b!*)}a@~g^HND=i~T6p?Q8Ukf=_g21q~$M-rT}-LwF+7(f;cYoQ_{O zll#|{yVLugmB=>|jcXDXDN?TdKUfSt`V6D#XbhL?U4aO#)~_t^K_Wl2T~6Do%yuUt zMH^_yb4Zwm6CmloDR*9++>7)3VBA{-Hg3CqZ>^JiAN&C64q#B2R-bP{{-(yWo3}x- zVv&9Cvq7x;kLeaPh}$Y-B3Nd~7MX!3%zZ027L3b<@@Omt=O)ZIT*VK|Hih+qe@DeQ z3Mvl4GHO_IL}Yuc^-L6C7>M;S3k6JqQPM5ArA%Ue4NLiZM4BNs@T(d4)nh9hM2!TE z@NU+8KW8egMe1f<#y5e>z7EDv*^gyo90xigK`ZcXO6;Kh(8IF?kV}?WL!nF8P273N zB#S;4w`GKQ<$m~Xk}{@c>bHmDs&w|Y@NqKi3S5ps;W2z87RVU<86Oopi0A?$&eGy;*@A6mV%MezBCwodcqT;ZwJf-A^0jA#4#7u=bG?MrTu!8^IcBDB}_~2v<@=9Q6kCXN3~I{PR`O444l5-tZfl zJN{ulP@)R*LbF=Gth0LLGCmRZkaaW05-uVyYdc09n(zXC!vTf|7oy)VN#D9_EIpIi z^C9*eT8KniJU;^IxeYN^@+o}mn=`ke$To1Hc}pJYP^BP1Zek1r$5esMES{nx z`F|uHmRchl8h@K?9?ET~&V`9$PXjPAt5ikR^#WSh^TohyuGY8dXdcGiCS(iYlOhGt z5hk}v&6$jqB%*O2=4mhq^U8bA$kY`0m{zvO$H;rIV}iQga>UlfOKH25}lSU z3BAw^BNSE6B!gu+1odLzs`{8AW{=&gbM9$z63eF*h)OO-3A@0a)qp4~m(s#u_11Jw zrC~$|JU90Sv00_TDGJwnYW%=*B`L}z=_w%AGb2UEBSoKMJBmjO zE^_SsNWzQ1+`apMsq>i`N+2o4r1-WKJ-VGB&Dl{H1V{@pmMcY|zS!askxlQ4bo%mh z)8Vj4tG^4eY+pLM_xb{}d#68%zVOe5%tlV@#nPF`T;1nF6w^(ppl$y5*)+0bkb(I$ z{o!O0{UNzO?0N#~$)MLsC|dE8Im}SYqH8v{6Tg3}zLrx3`N4w0dM^lfai-2kvEI0sz8^mJ ze+Z`oS8Em;FFqcA7dfmCfz-3M`7&PO=eG@{6qsJ@FJt3-#m4VS&wy#?e6j8#+reM| zUS@JPE_bXu^dX6zuyKxI0&fXi3&neV)M36t z_{S(*M1VVO=)x*eqS%tZkpyDnArhOb+XOAtRC9U-4rAeD7tweEBwXINIeDy%jy=`6 zxbmN`@cb0Hlzon$|M&S6p1-H}kHPx`#=m_8^dI8ZRXqczeIPez-3z8DNXjLCKEHpD zC#iLbmim1hKHcxbYy3NmyyhTD@8^Voi@^F4dkuC*tAEdM)S5h94f!3rJDBYJuk-Y~ z&I>zUWDya$A;TNsj%PO8!&))(uuo8p7={_MO3HKd@E%ZiR_B4uJag_!h{*AxsZUH3 zqYX8hKf;y{73xCpUoAAjHSvniT4G1(Zu6`175r07wh*ZiZd)bQ$fH_s3o})w%X||T zz9n8PEg1{i0W9v{MHG-n3*!bNVAK(GeFDkO=RCUAgylv9Ka1l{L7EjMUz)fKy{-n2 zLz)L63C{6}?9DU&Z|Xfz{>nw)0Lslzl*9EmnT<`3qete8JT2QJZ(@5#1YD?{>t>cYkmI0)`Xr7!X1wXAwBw<1X=Qx-| zbt@$@GUk70PJQ_-EHvUOPh?nK&oiHWZMpBf(PolwY zMozC$`C-BF*^~R-Z@%;FIh*52WMOTK5Wou`L2bw zrt!qP@H}3LpaOZ}*A$&MO%1-VZx=_g4~X;hHgU!OyXD+y?#PcZn#bXY;gt4GD+aNc zRTr%dXgB-bf@=C2|e5Ho8gc_}s7Rxz#ri`B@=shlCb6P6KwPJ}ElwGXA zQ_Ql~Zamjy6z8Z{=GNsJhCp1|AP}jtLtCNQ4(|U3n9|^`xb_Q!BEXq+yDCTrFAii~ zaD`yqrc_x{9nAJzG11>et6%Xva>3=D-A9-oEg5Ijr_L@AP1>ms%UI$4m$6G_gt z;Vrwn=*{n}y^h{-d*rKiNgW+%VrQzIogFz)6=i0}Z)GU1rnuGI4Ld_)u00@L_Gl~9 zty}LUD<)n`gz0w3Nmy~eSE4rWYQ&*)PD+V%BM6Pp_9V~MFH!4}j7bS8HBOg_)d`6H zq*oq{u7(oWQ;1X)drq7%5qIXbc!^Z#Qmqy#Tnuy-`POxIsMc~wz7?eag%ulGNFp+B zX)3uq`hmg+8)ZXqMhR~iJw$miZyx$Uaa87R#A{<}h9-Np!JmYcjsJ4f_c-|tQ&e+` zInRQ`p%Jb)_l-MN?VIkE<}$u?U@*0(y@KjakN^-cA#kUhSC)3Jrfj6Oo^p_iZOTFp zHFFkj<@LLEJz5A4UgWHK+<5&z(s2)#dp#x^p^qBEkfo3v9qId%EoN*!Z^5~0hrBZ^ zUv?iCZsc0r?|9$XpS$bVQ80ep@ce16d;sNr4mK=T`um6$rMSW0q($=P(SymcxO;p2 z0(8#cmDlML&sokG-aozwLu-chv1DVancQi_`Rv~Cg41P*e@{>ut^Ao052}0~1Tr6b zzdpi@v(PQ$$W5D}GM&$1=+YU>n3*3pb7X&+ao%`w;t2lxEj|NQJVb6pX7@KKIR~tn72ab&b$yMgyTHoCBz>xemBI}?0Ywob754{a?z15 zkR{WlD`nmT7=32e{r+0g5f6dx@74*rEd1%>DlVMalIPwJ$e|M1NN6hf^^8RY)0v%BlNF_42NjQG zG9mHL1-vJNyJv{a_0;GBoC0jX{G(E?_Or9{2Ipt;n<|LJ30!`!KS23nhX`l9o8YZW z$%?0e-Sy%$>~k=b?t~ubUVmy}c+~Fd0*(h6zUr#rat0Z^H&!LBS^~e0nCsb{f;zxD zr~@#6a`Ay)Q=S!LXJKrSDW!74WwzeGKL2Z&IJ<4wV7hwz-BL~va&AXLT-EF2G*1;gI6n}g?7&OF`Jh0;OoMd8PzQg z+tEOn=OP5gk)L{>crq7i%Qulrnxpw{wZo%{vN*4EkoW2(kf;Tm{{&=)Bne3s`z{iM zx=R1R@CX4K=Lc*7ypaAj^JJJ-A=3=-B9MJf*_EaYjb1(7?lkHjZ6M3LQqTFNcj9ZO zxtz9iv^v-YJ;D)tN%U-}2wuQ1Izm=-5URR$tr$=>|3cc1X&`7;HTS|tFx&Il!)D`~ zC*}As_Q>9lK_k!Duzh;~8xZ~L%&>~Re?2__iJhjQ=ERxRQs&3+|jBz$^I`OP(C92BGEet_sLu7GP*cEHxo18)@`#xj+)EBq{fgIcILx#5Vz z#{E0`X`q-%Q)DTi%gm;^VZn)D^=Gdcl?stgo|5lbLBSYBaqDn~hwo*l+msDKPB9lj zQ@|VQ7+;!pP9-CTd6^8VY{1Sysg_bpR~bmokR`DL&dYG&$@q4MVVJDijDMH}q#;$3 zXPu?2O4&Pq&v?&DC@w`oNl^pRO5VYAr$ z;07E!5Ohr0TDPhU*sgxN;T-T5N0rSI{c7#Nb6y=D=pW7P@78w4J;s57vKlk>!{{vLQ?iqvt^D zA3>@HKjBicsEtkx8hf8{ivh2@gedLtEvsOz8hdivRaKX@Rk}lUbff-?e)}%hKQ3_f z9iWA-!eVFR_NNRt*#B~2t|xms$VyM57w~zYSd+0}C8=z_Ls53r_Ci|iR$4v~YPcks@U1(& zoBxIi$`-G`1RgE+26Rnk*7u#mfo+WyZcU_MlSP@+)}_u7CJ?GW1?H(Sp{uPn(do=x zZM8kdjxG&=z?G9ANYJ~PewC~)5A~4!lu9IYtJvpKF_&5Y;c;%*?!|s4 zZ? z!?xD`Yzv00&*(S?VRs!(6qqhN6|(Eed(bnyW6O@+uk*MMo^Ab7h)t0ECnY}yK|!HL zAQI&VG5?JDO60A%YWc$EP+=5Qx~pi@8!s>kX+~X)zEtg4Mw7=8s7?owqH~G7oPyDQ zMhr;`)UMz~cgBvG5Tl3?{n#PTrfZ3AKR<~MW=OOsRUPky7d!U?LZvHo@vJfCy~H9h z9#PbJ#^>_cu=l^=e%Iw%jUl2!zXfDJ$f2?h%vc8QGktpvyP6K{Jqge_(R;X)v9Er8 z31e9)TPyde8vz`{4tT1uNEcQ^WJ(Ic(&7ZCS%A(Yjws{i`t=OvKsyE`23@Lfo8UjI zUZ-EA5F!|RddQ@>$@;XkZ}yUMCgh;(9Y!PpO~-&@9F)(aNaV4mKSr4s_CESusxsq< zz~*ZW7G6D6n+%vPMc%M$79TwK3w3#2c)Cx1&(shQz3bBO*el%M$BY5Mp%9FAfsTw{ zbhn{TLH}(_!UYp|imFK}Vvca4t3@E93MGl)Efs)tsG8Cyoc*HveV!Yj7KjF5lh9j9 zH57ywk|eHlmi2)A#hUF0Ip`FT7(Do1GUf++4zI_r)8)D6uHOcMPWOk6gzD9$B;$qe zr;9w`e)V1>@wwvIGe6;$IDI(;KGQ4=?x0~+apL9qYXG!QNY?WSzMM(5F}q=zE6Iw)oWPVIeG=JQ07M2| z@MQHI3yk6UA^ft94tWtX++6I{xapaB_MEL|%RSZ^J?KL^zET4Y{~rvn%hA? z5X%I;wr{i%FOGNo2EA|lA`x~)n~4-h9S1d$OI3pF3J-M{ht%aUFAg-JyaCQUWXC_i z7x=Z@=8R+WUYyBaE=(|NOaOkVfd$Wrs-EAEOMOj(|039oa%&aN4_4Z9MVxg$9w3h@ zYpjy&$;biTiVMyZ;pq5zdg()KcZnnCF*-6&hu;gPSKIOHqM~<;f0)es4CcDakHKqo zJM~jjN0efXusp2RE{SYu-f-o>`60ovC=%Sq@|}>I1>{1iX`M=iY%}@JIzoZoD-b)@ zTS%35AI<%!+Jf+l&bWuRA0#nol;mF|@plpZ$E$9zwRp*03*|qlpin<{5f_Dy=Ro zdc-7LT)v4Q@B^|%_5ng>p70{vsG!^+tz;9Tl$9M11Z)5OFrqDzi;p9~)v`>*KaSseN+$b(L&d+^>%x5TBvcR8G^iA|Mf#=3 zawW(rH-b%Zjk*`V<4=iSD$G1PmSgexWhojGB{5=bDC@)jx_|(>YC%b^b0)Rfrqa-hyCx}*uF~x}3o>fl+!bz0OWiJDx_BX=+^(34 zh+=!DmK5(ll1oQp&H_{FOYbYy`fh0Xcvt1YB;17JGla|8mX3tZuFPD!IbTeXejPrc zCj2cyQA~YCDd@Po>BfTv3?TY2?QqGTZuep#aq}jGYZ*tFatX-l3Z<&_P7Bb|ZcrvW zgbvLX*bV75j&>pBk6*_XrB4-i4|-4;&hFO?i{5b5k)0DRbk20Ru(4RoNW=@Entalr zs~m#mke^U2xN+#;u-mYK<^j1lbT5W&j^ap05ntsR(8HMT*VTOdF!~mkF6RXnhmMEi zoR>1&+~w0bb^OLy^zz#4I@XNHF=v4~jCN&b$8KC|BrXC>48e1%!|+yCb+q zWVjysaF8rc4=vT<;G;1oEahC0z6XN~28eL;(@OI=&HN&Kh+UccKi{c#^JB9vxwV?B^#ue? z(tTp2in8K1wNO%Ym<3^86u!TO#2;5&k$W<=;oBx|=R95?MtEwCDKORU8_}(TO?S|_ z*@N4ckdv9tCvs$bV*U!IN;@W&iI8A*DOTc0c)Qr1HSrI63%$PQ(h!8b+l1Xc)wU(J z@R)u<;ZI2rNjcJ~xFM8&RGKWw+nG1SvG%rt<<;L~SBcuGGm(G$h`dz;keN5-(O$YD zf*X6thESUAjZVHO_$19CXbfw%h5QiIq8^S8pfT2aGol?1JGkcmFzXdD;Kk*n`#Wr? zYw*gg_4EK0lxW1f0>_o=-uwYoA3?Ge>I_|56;pZhXoCc;;i+fee@P787c#%>G8^~?W;q2gfJHYt?W1QpB zhi&OzM*p-ei!2d83`^2layFPtY&^<+ia0++_-E-)PvjNhbuwD+A_^~&a zI5A<__c*zH*gnwMjvRdskEF&u^wh-u6*SL8eA|BM`LnJc?x@XV);AcI<&cM#-w>jY zjC+E(H)8d(A4KiCrN%EDq+$?-9onIpzr2v^COqS9H5ghY)(&8{t83H0f9`Vftro zy=Nk|M`Of<^CfX%wuO9|8HLo9*AcVvvmC8HY{Yu=4->T=!owkOg!Tm~OlZLxr>dho z0{s41D-B4ji2R*e0wgNkv8bh&^vn2A2rI2LQwj~4%3ugAj!-Z_Z^)f`>PN?Mt6^h) zJRf(T9Vrz@V}q-k)%*~bh9@ZprWMVm90KB)7VPA7&r?cKY` z-Y;eMs>AeEYbS4ur@1w4hpj|~MIQ|jo7* zMHj7?%~1aKKv(M$UGi@jNiRcW?oo@Ilcq4+HsRCu+UiWk;W)O1HslSkAcL|W0e6M!`i|q z3Sddwv!YrR<~^+tGL69`s@avY#82rgkP0seim1w`5Kd9`jU}4#MRfKCTH~RK&@i#` zuW{142#MrEU@&XE%8Rh(Mx_v@^QTL9QCba}gf_p)l4(%AW|Ee4`L#)wU7I3-ZXc`Y zG3{z*C0(QSZdKc(_rPN}p*1N|t*0aTF??XE`i05~2xq?aW{SgC9TzfS4NC&4fx+Bx zZYbyFlm-9_Fg_5!LN9ZvbHPsK(5F5H2r0M-%eR?!T_9X7z}hnjl1MakLRjC>+1RT; z&!RzIkQbhL)4i;uMTG0MaQ<$NZ|x|TRARrl>^9W<+5bkQOIlkt1mn_4CLNA zzdx^*#ruCh&y3&quo^UXCkvW@JJ6rgxwK05)!E1z*DacY(@jZ2V{xj+?Dd?=?s5(M z&wxXRK^ss_`U*$`_&zU? z!PT`j*KK{82YS@l_ZP{YKkw8)Rp80$z`%tn&IbC9P?V{#X;zQYq|q@MW78m*cXTFznbu6J zT;1O)(3kdL^^fPEb#!G~MR2d+?QpbP8}N_qa}Dsh#f)p4fKgycsX&u2bCW1GIY1R# zd=(Fcx^bPZ&10hCoHDzDDHwW@R!9~NL1?izQJ%z9udzS2i`aq)_srA$3T7dQ zLx=*0=@<^S6tzfi0Jk5Sl_M8PqbS5(0O5KLtND}Gr%HmYMuH9Xs4;4U7OhI7 z)<~lThAre&^Q!IWe?$}0UFk*b-41a=hRvnf+w;)YMjr!xoUr?D7LARbI_`dMHF3Jl zBQdojRNgA?L8HbyaR8`(1+Tt-y^MpJ|MA7WcviSFHb0 z69145m=zatV;R#&T65>>vR74~KKx{x+T!S8#g=L`FdwY*830`WHLbbZBr99R!Cu3W z4Y#TxYs@O~8Bj~skTn7oRNJX_*k&&tY`W7EAfEZNRxsz67{CeTE6~Gg&r9Li=SVyc zuIQvU-Uq}(%qZb9Z65m5Ik$#c7fp58(p~4lrb|ft@`GA~cepp6J2#9=W{UmxbiB zn1O=J1GRx%J?zx|;>)=F*{0n?v=F+h)-BI2@b=$PAUEB8EpMOkp^VT*PGLR`jIF-G zow_doO^rQZ4I8RYBcq*x-+TgaN;`voZYWF)Ss$(UVYvR%>y0k{*Hf}!jt)3ht1d3> zKM6t9C{0w z=T-%3Jg5>}8MbUKuwlv+J#{(`JgKIsacYbTyV}O4<<2_4Tjlb@!jSs}-zkm8_W!9td_EWh)XQEs>VUwxY;(AEiEJ;XlM6vG58!taunr zSHsm%RdhAojfVJD%h;=y*;2~Z|775+a%$YRy4aI2i~jfTsN6-{+x%~%uG^w?gEe63b(u^RmcDNrN!^TyZU%T5aKl!ZVo!b7&H z3n7$w6)Y}gv(oCM-W{$9eC$7PyWVVMF#5G*E!LnIM54>Fd&kr^i6TT(Y{&=$q#;y% z;HOSSdlAfjo!BH$claLD_9QzUe!9buYV36{CnXt1G7-=uhb4wG!oX!TgMq% zA}tZ;I7CER^D4`WL$5{~VxOuZTkH^YX^VJ*O;icCMmO?5+HY~gp9HWr*<Sz>99H83jmYYuOw3$Vd?_|A7_0|Kg>8#cyx%Ge{dO3sS9mkr5Ld4ln~CPPG*ie!JW+327Sl{Iep@R}B{-zKoDsLN4`f;x2K5`OfQmNm`|Gvsi%|%6>sx-(%03hJu3NB4#zr`MJW}GWsr{&=D{Qc>lUqT?vNfskovFT z4WaUQT0ju^#^58-n~mdPk@E21$l|3<-CXn1rSg__t1yU=!^^nlAd-il1EOKS@hcOk z3r4>$F3ZvlEnA^F^S_a~U8cwjq!&&;4|0|U8spHDxmE;^DljnV@ii*pNS38f)6Qt$ zfybtlNK2T7?n?yIXO#hx!#7b(W#4-UnQ$yiU>%Ht8MJYJw|~`@VxDD@B=1Xu?ndIg zHjg#ypQ$`+GZYL_Kdt`=)b=^r9ZY#>b}&J-od`Q6-89KcPvW4H-4nEH(zI!8;{fzW z1n=@O&(8G$QLEEJjjcGeTBJX%D77`1mW|U{iEA+}1KU;xdg59Y;8sVbfqyYJ4uD_e zZ1}WniO3C7C#N0^tNC&MQ*!<`d>$dbgujSUQ6wn)p+BE?klZVuzCLVPr^j>t^v611 zrK=LM&GqU7y~Z%7AsPTfEJ!H(B`9%c_~Or2$8|IBw@o&9EFhOC@2gD>!wggzrTuQM z4Os6uxJIzqL4T@^YDYIb$BJ%LL3MAwhluJ#ci4(->&8-Pv>L1iDZ%1zuDE+&>t27+ zi`$K)b6a@gIg;Im2G4F+H*?0v{a($B$LIRtyok*$`VVHC?oYv%HBt!2{0HF$R#R=k zVa6kEqKDc5@*F5%S>QnvbWtS}@6-TulQLTw^m^MuCY`YtEsMj^HDVwlm}mTbc!rbk zw;_T4XEOi$!Ba5gXvpfjlOZ0{BvA0Vm_LVjXUdTQmhAf98o_{>vB(QQKc5RUBxj2O zD;^~-c>mx3R%;Q#jJEX&evEPsL*^e{ATIN9cd$w?)E62% z!`vR)YVuJ0>4f4x(#}4yqj!-skwl~L`V1meo~X2)UEG)}0kJ+9Ch3)5#%o?msG`)0 zeh6&ah}eBNjk_F}qumMx6zTb;IwSejj?}qOIbzLspn}ixW5MB=xd+$X^!NJ(jcU^j zq(8c2F{|i>3#Z62eIT%@u1Q()_w!xHBKW0g$iO}@_Rmx#xLr~*Z*pXC$pr2-9aO^o za;#)RS$w)tCuasW_rM1^l~T}7_6_eU={k(}Z2JgjJLT;5a(xMhqxcwJY~naa;Zje+ z^y2Xi3~NWk%E9hTQ-9xSDQ%9zty|P$y4*Cb>Ro=t=CK=f*9;xkT0Tf6q{yl#Bs_)b z9nOX%8UrE6{~3Nf1gGAq<&KPd5YX3jKi(G!B0-Q_YKq6ezw=#9X27xeIu*(Q(68Gz z*&P5~s+x`4PTyd)PUUA1ax;sqpv1_tBK&xHK-8~BbPO;>(A3gcBg2VLj|ls+&;W;) zSTYwXet#<59My4USLXQ1uH#(>hX)~!=l*S>D}&rHc09Rm^f5nt-&tbQ8K)Y)1?tco?3gNjcHjMT~X%&cNP3 zfo?wy=<)-3<@$z|agGuq-xD0psB;Q|P#+L)~A*+<#)}tAco@2_I{;Fl^YIyt>EaM`wqhI}o8KIUBG4}=RXF4>S=1mBZ~t{c z6-dhiB~mdj@1)#8PfZye=rvGqll+bK&Q@EfEttoA7>lLX#42Wp&1ML48`RTk!GpZ; z$D{ZUekE*eurPF-i=d^^LVvk$_<|ezp+f~b*m74?Uf9M_Xh$z1Wp#tA827%Zlq;!h zo+sL=u(kr8kQ{Ua4dTq?+yBGx48e@odwoRhuJo%Ii9`M?BJ0@;5y4QS-4bP^exX)@~4a(`8Bp)6d6!NjIM%9L}k z?j0RoGzS0sZXjs3ql_RK@8P&*mdIFuy^k6_&|UiA*vxY) z)x}(Erqs79t){oB-5Apg7~LzVnr*O*o0~!|Rw5s(p|aj^;|7AHowjbct+mnKY=dY9 zFNhet^NZeOn>E@$@7CC#7rxx2AL397jr zCWpa^GGk?u0a1yW!%gSYg5YOB>bF;LW7Fx6&T<2$4&D67Nx8F4B8_I>R*KuwK#O6s z^WL^^FgTcX4j6QTa+|C_q%%MKDIjvGov$&^JhFbiMG24wQ^8GgK}vavG*8M8EY`>F zR!HiC8)>-$7CUB#jO9D|&A^^!<_mqCxa*$WSKARk7I_}EP%nIR2s3(`LU{6kd7K_e zN=;fFu0~)b-TO{-JK@-Z0v5b1q{r~=of#69ZeDh1Xj(TO91I$!+FwYJHODYT3(+`SVWhdYS3og@@8qZYxcq;J(`w^+>N~$mSMZ+Qnrp( zcuBR&_-f{Jj_!lWJ)z&3ZRI96=Sij;ZWgFJEv3fQk#X{rh&IKNQ<3r#bt|c;q|ea| z6YnEtw4$=f#`;B-;hyQ7)e!WuWLD(S$O1v<*s2cO`3fYA@=S|GTDN;-+*8X*?9QKq z__(9UHPH$&s|=+TJeY2bXSEe9@zMzVUHgkA=5Vvdsx&?v0Ml$lxXf}B!o8zmkU+bI z^-B@*FZvZ8UhOrXmP5lKq5dUcSd2}vggnWXb=m9p>%korjV+Fg*qaMm6oNOFuaW(k6a3Ca_(g_JW?OUh)-l9-1 z>#S54rq_0myCc!Qu*2fQj>y=caH~PluCVJx(M|~U()4L&R~RGh8cpKQ|6lA*tu`Z& z-?oJ>tgC_HM%LcHxI!)9i>f#+X zP?d|T$ep5prdC_m-{%s2eWID^(W>a`+?X{n`gJNkkPPz!mNB9ojk(44lMZ7piBK4K=FMWb(grv1llB@0lUp%mZ_^}r}b+UWi(gwMLqWyL6Q zv?zC|=;n5>6n%`kuA)nOeIxY&ki8W(Yu)d%YScPv6}`$Gv&z<1c;NvBBYJw;O8qxs z@SXMI&wo}G;{erpYy}(?c|=C!6Gl2R@ws1g40JvSy&M^%Ber|FKa88qJI%Tn%$b5j znPQE>z;$GxXn?VMQ$w47hBjYh&p1b%(GKB=R}C3`i$LL{9zL2e?HG4B$YWa=k!44I zR7I>-h1=^W8Qjq}DZb(<39(J=1$$ zru2Vy!8^8#6P%X!Et92bQnV;+nN#fc)GgN2s#IyYE46IwVpLhxRy9i0RC3+?3uZg4nUiT?v{85cQFr@5my3K|tCQTsNjFER zs*7r(ny9ES_YEs3unm@7wuO1UCSP3d`I-Hvie_`7xZ{Di!Jm{%DHu5_kHxs|vON2G zXmLn2h&1C`lOgYsITi3uV_oerF9bqCRTez2&8P}wjpj%|O)Pyqmsu*SM&_eiM6?n^bBn z3<@YEt8#=kl?;`brM{wXr*O^3c7-mLfvs*!Fev3Ha@XXC;M^U&)0ktZU$^EQ&$qY7 zY#TU2-^b~F;m9C1;CfxXUq4co;-v5=&z+bOauQS(k`y|Ay}Ir`(2yWtq1zDo>e+{P zvoJm5)$57@GZ7Pk5kGy=YLhL7upWZOxRZyw$T^H zEc43PWGqlit&2SGs)7=pL&Z*IUN6%vyk+&S*?&Y9BSzOLwFErgRaXA+pOfJp5?O5t z`J4VUr#J-l526!(`F}yHfCz9Pl!z?`WDXV6yBO*R5iY>_`v#_$?!~?C$Y92d*%GIx zef;fFVk6YIBSv)cNRm6pJ-3|lYwaKZn_hdaXwzgq=bOIgk<%hCt=qNz5*0)|7E&@# zAmMDVTE(;ZsW+VovXiF#gG^Is9``BC%H3j1^zoE@o`AC)BvNA!7B|EDJHB2|VfaB~ zPD&sB40XC)6(o=~V);|2C2d`T&tM3wZmM%t@bh)s;n_^( zGX&oM^buXs7Q@cI@z(RfoWRk`Q(F}F^Bl(0qsga=Ka)?%>msvliZ_ZEa^jE0Rc2OS zl~VcU_gM(>dD($0a;&j+cuRwOP33JJLE(J{S7D1_Z@W_iE`-0l;eE%l%#ab7vAB-x zsUc=_;ud5v#dxr&UAyBbXH;b7L<7{P-wrkD;C!E=ScNU~01n1}T}VG4jYKfq46xaQ zTI_+Zs);L(`j$6Ge`)ogAo;O!7GY7W=2ev0s7P+2_A-zQPSLnyl4W4Zt;oL+zItPP z8;qf~#hosM_6SfQZYe|y(p_E(K3yuZxjEhgK=&x_1QcX9aiTK=DbNn?L7l#It1P>j zNw&PE9CV#Dj7q4OPc&Gl9xZ4ryf-iV^3YD{gMTI@{$0``-mXun^nv6XzuHzT%%wEP zWNEsMF=ChIB+8^HE`2W)J6f|+>Hd_4XoIF9$C-G}sF z<+mU|vipN0b-t>Fw7!{uo&IP$?M_{>%QL9YuxG5>z)UPzz(P6{+qt{^*YFpdIKKDM zPUAn==m_i9)mJJhT~vE%4s9drafr8s@|`aQ_pIW8$7|b>4pdw$EY}euAez!-S^xZ> zqc%cIj$GEwM6WQ6tMT;kLBSD;`8$4l+&OB>!;nB(FRR1@EZd{uw#6kVG}k$B%A%pR zNe8S~KHUSPeI`bzZ^A|Of1cLjq}+)Qk;uih!iiWJ@NE2kN$B9g*1#!akWF4EM+!ME zh5~+_^lt1w^C#i2*>4oSszepC# z}0@gZ~WN4owxjyG!`~;2HX@9lat6{EcN&+BtqU4HE2zLWEj}rPy9H(b)Zd zmnVSnmm(fnVw(Cnyy*W03wRLD20EHSyVVTwn-?E5*3a?ux$Jho+jpNG3R~vd=71f1 z{2j^sOH<~P31M0A=x4%Dm8l5fi85~C=VUy$d^ChsG=J`*TIZJiB<{}iBWZW@VW&@a z*cNdqmE0HIsOSfg^aXH_#QKA4>J-*2F3miyPMI!qj65?iy!l{}+g2<$O6st%F1w&p ze%Of;{wWeQLumg6C0h7Yi+pv_zv5P3qPhoX1pyxu@8*j#HexL8zKnyAb)ES!sQ-7S zq_pLq;qr+1k~H%jFj0FRt~1Vli8v@4!Pxc{3g)Y9kwxv$6a@_HfnHZnf@`1H&?Jj_4ZOfYcvZ;K zDrt8hmUtrT(8*s5E2LIBMiZ=#zURe(+wT|`>!owYPL#=s<=*c?ap48YBQe8SXl&6q zqgl7bm<(!8AQxOI<#x%c!SiKMapb>Dn(EGP$Zayk6gfjZw+h~DHj>%UffSKTau?Li zV5E%3Srg0{k0z{sdsMg%lcsg%@xAyg{l!r$RR2{*;zTi77ptZa58FJ2iH(IPn3Ist zZDmM%f^!ewZ~Yy!0s6{5Zij84c8XC+UDh&NN4{vAcHkbhx)XwX@`baW`c|f#HF2D@RnqCR)mAJoCbbX$oCEK4i1o7klnONk4cj7F z#4n-;Tb;pEi8w|ttiYrgW4xRR78L)Ec1l#uF5ZQT!6t<)$g=n}h3wYeCDz{@QvduDP1DROT5~p?PkN zW=aJHQfl0+#q)MN7-CQ=OfPJlNqc2E7$l{c#y!w>qrYS;_|9T=6bCv)`6IzO%+0VR z+{U2nuh_1-Dp@U(qYpmh_sk5XuNjFgO)hzKPpOuawY{?7ohjoPmYfgx+T8&CA_fe* z;AH0S?79I)fhu4irz5_z=qq}1WC=f;!lrC-gUYMV@;>}sHZKEXa3^xC`n%nf$_`xZ zxNDFU$c(kD)U<_1$l0!!4Qw?E?kJ+be@S298>PzUKsQ&~1>N6^`qOHL$>7zy<3;Fd zb3r`vm)XjiG3y5=Q6JtQ|Bj4sUEAr@vc$^Q2&q|^9}JU01)^h!WPA4EgebiduGqn>H(go?^y!>W>FVjfS4dB%d5Efr}#Iynt zo$BTuP<~1#gNg7Ipq-jn9H}WNmB}qhD221D2@E(dd&Wv2HSNH?uEhvpT2>x?GQBcn zm0v--Zls$GID#@Q-Iy_(z@NI{3=D>$2)bXl?>%;Wadv{ktTsz1^2-l>N{l%fc*^E! z4pq7^(c}rpVV}C=E&Vj@w#TmPdZA&Ds?xeYSqZr%)nV7pTC~psEab8lJbed)G`5@J zJX#F&@`D@|d{Jm~(Unt+F35`MhC>**-my@sl#r*e$kf-<5HGc&tAa=}?qJW%=kf0Y zt72w?T25W(YA`IE7YlvQS_i~-k^;QKa%FtN5b$ZWhaQZ15Hqc9Qx2e9JV>IC7hc#V zflu2f*CkIF$6-Ob{*pFw;F*6#Y;eR041(U#tCN48ciMe&xYjQx7D!AcBz8%`#Je}_ z2U4|TCgThjGeMM|&hx&9+0_cdZ-~TdeYOA;@*p2VL|H^60WTcsqE9Xp?jJ#MRlOwC z1hvN+3?3BZEy^J1`(R6*2*x$2JfpQMmLm?(e%n0oSR)X@AjZr^RUaSF?}2S*?Ewz& zchWimE|OG4?bNQ7+cVHQFYf??8V>N0rX zXc*$9NLP^E5fM)VXlY3ze{ZD-MA?Mt{FwH09I5p)Flp*4*F{7 zOsvnVGk=47APIPx{3Rb_ocd{ry=K$SU1k`?;?`EVTYaf=CiaN(={d2}La$-k`C})H zkVPeFA$c#0{8TtU<>-QVMVf9H8eZ&1QwG`@6UEgZHdP0D{jk)_c1Y6JKMRZlS&%RF z+MR<=j;6DQTo=K!wcenWKDE{=&I!Bh7}D=D3bXvXGbDWJNS}q83UYT|WQuP==*RP` zD@i5~1)^DzWUWC~O3YS~ZbN@6B>xX*=MWuA7iHntwr$&fv28nfv2EM7ZNJ#IZQD-g z?`h9^TC=-Wt*UeP-sjsZJzCbuPSmuTWV}VFs*>z;3B?}1*mY&kJW0UoCYuA|FKAA- zE}O7=Ne!JTQ}M2(PgsUpCQx@nohIg*l*ed$-fIB(iXOpJn-(Gsv#1xMShh0DN_32GXjAR=y5+0A3?xOi*yrsD70D+jYVbbF zd>UvJA{A0vZyP8D{wtZ`-ANVd@Q!LNP05wxNgQR~^f88P!Ax3CuB^bu5=oh1-cC|W z%s*EPBT|MHscLHEi`(j>0~~j3mn|ZRmbL1%+7Zf~DCyZa>2mszDIKZZtJGl{Z;Fce zQ&OA#N7Qc(HLM(Frdr6oQu!_oYRR2N`B$Ub_ITCK>Eq=&P#O+8$da1(Qr!V@q|rt5 z$$wpm15_GB>6rs7=_S`Jti&R^gXS=5Wh$u!-`f)x-r!Oe=Sme)-2<4NE%}|x60W?a z$(S;)evxYX*(0_1v#zg)a`4RKqp$=A`!M3+!x=ERcC6%Jj zgH=d|XmPgG=M<~6rPt!-^aXTENRJO*lev9^ePiqoH_NH%PHF|D&{%C*4}JD8Pgo~I zWW@MNL8KRbEl!Gz9zsb({z2=vll{0xkrS)~fde9dH(YP4v&l}(;In*#J z%}RYzfD>P)4V|*Wl|r6pjMX#AHF!6x5;MHGT$zzt>e5A=52u&Cb8$$j7dit}oIUYXA!O8qg0HQcMs@Dp|A#mGq_7ZP z0iu7bphxHHB=f~~dPdhN=R0VJ`ySl);BiLIEqe$dF6k+odO4C2@z7RH4WG_e@jLAS zDd%orZ)e&UI2cG1L3vCLU;XzbXz>BcY7%^9uTq?jiODW(brnF!#pV6J0X?`N_btrz zQ+XB8gY6`|H`*IBlZ#;1ePNtNB0DQ%GRR0_&0^g=Y43lyuvv5stQk37jtkfPX{x2o z+R$TA_>@EgTmsLnkWtk&7E8>Y?4J6D-7XjUqzoG2ku; zGl5706S4zzUsrK(ZgcuDCuD`kr}pMUhlh2hC!yi8@E&5y5r5J0jn^BMis2m+j7iV# zQWkKmC_=YY59eV=P>f1!_0TR!!{h!P)kQ`)6|?*vFSNgodqBj<5yVhsQy=>Y;$GfT zb`COf#+O<$u6Op7Ty9`_I`0kevL6i67h->fBhM$|X08)N_XVVpLVtkih_={67JI2P z*3;TwO)GXGGx5Rf7M(?wC$JBn0axzUoMe@A+PA=3oDZqNuYrGL&-nc9+{H7y>e`Pf zOVKl!wfj7psE%P+ly(=Uu=m4?|FHMm#lUn#mPf%X_fEGQ!cSHg)Y~G(#O~S%oPzIn zQBA6%oTqIQh&9KU#+!(;xh0uklAA1J%#E7B&M?5sSXbzp=4A7)2grn#i4Bl~D=z2> zkS>r-Visx}M2oJ1A8LELXEL&3m= zkMVZqIMc`2<>A$viGR%+#BW_Q(;Z^%Q-l3DsTBUrA;~^(em<4|MxmXg6eo<lp-zJ&Y&@m!LMRTL4m4o_Nrq`%pAm&6c_BC zxhZn3v!>JjghnSHamDuLfNr8U^q1DtOO(`gYl)|(u{^`6Rj;c!f!=K-wwm;vy2mJS z&YMzuR8!Jh1=Kwa-G+sFnxoEA)?~k*Ii5jQAMz z#+@8u+4V34>|>rE8fT0*1ZhM1urs0kRzX8H}v)~mEiMpKWba)DhCzIhta=BpTL9vo)}v1 z)uk^J$kFur^*I+q zoHvoOLk8b8r*F506r zAI#uePkJ+opZ5Du!4K4|q8pc7Y;Qb=*T+VRfW=i*w9lInbzxN$g2EuWT>D7Qm`L?s zSM~|f3-jBg{vSaI_{dlk9))&OX`@~KTtMJUn z0uNv}1>~6feK6|}>L6ep_25oLN3*Q%*2CE1!Oz=MtRnpopSO{W4t>~hEQKtIs_gE^ zgBV>7s+i;-sz&qz<@heXNqmt@5gMXnUQ_Yd5-;toeImY=^b-xEV{Q&FGCVI&955dQ zXimW~|JUdz&=ix2tS8>sY2F(iAoqWf240Y{-r%_i5={*9g2WF#JmgQFYS_{v_@Ul4S}@Y2_Q$}Z`# z3t0Fj{ZvvW_Q=7qffTQOG6tbG6#MTT_}YVVvHMZJcX5PNHJWCrSjLGf?8$2v{zLe? zZ1(X?t_{IP)%>aIvsuOKWBWiEKMnVW;LZ|nX@atg)h&q!l-~nd{0i!)=1gDM9uPJCXRk1sEYa-TNwL3PiR(U*}0^l=7 z=2eg272q%MKy73_PitH14vo{w{pS?Qx zs`{QFg{(><+CialRw<8Fn_4)%8xpwvLY(Rj3;6^_mUm1ON5UkXFN5QiNZ=$uH}t8{ zGL>l_(meAB%z-H=QIwiP`fwae1GNd2e#I~bH~CHYnt&B3bCojK54;IR2nrpN#cOhN zl#Y_+G4r%Hae(pdi>r{4a$dr5(r0@~0r7w)r$p-jdIfaxPk(9uQlQi9@Y9F@c&fw8 z>MnSfM`ZYD`RvjJz4%aoc?QtKJ|P~CGZ0F62W(4@8%(FA4Q^SkJ~9sOm(ZdeyygFZ z4%}0kpV>^Wa&{$w;DAHTa=RTlH2>=(BWP+`a;7XRY@_^f%8ExM#n9vr=ss%iFg&jh zh5JC%x1oZVdM1lmL%5u0Ow&)-Kp;b8(_S5v1TX^r@oTkc_czRQ^GbqjsrV{Q>34`> z96KFv1>ON8b28Ir{=q^dYlQTNThuhnnPBtBZ`tFdPgBQRyoZx~m*0`Mo)dCbVnJpE zI+gGWB?}w6*$a+}!k!hQRhy$(|K&dKh<95Cbpd@s10GO{1+?qpw1lieOC*WV!u|s7 z*r+hnLfi$P@MiF@7+d#{z2r1sQl^9p!mxiixY4*c7+gR8H@v&cB(8Ri4pwU&hP}kE>o2Py6`=Unc?w^mFSY#5!!NKmhL1;EuGJj0PYNmEuIkLcjlE_0> z3|tryglkw60=Owjr_t=KIF~!0tBXYA8Q-jh z;iHXb8P%^&Ph|K;X}#j*?wN*eW}Rl)G@wW&X+8udf!U&8|2=C|zDuU*Ou%SFQ){s{ zd?Fg1T?Eu!q>IIW)uWUg6?f&jE_In!#f{VKovFPSwn5G6=bTC#Igk%DpxtV+EM~)x z)?#>boPqAvzDJ01DV16;$IGrH0VC_t=YZQ77Rx8!Y?fkCgpIDE1n0Pg##{K*Yh&j1 zecX)q46P2xW%f7oXE%dIa1Au>@=;vOAnCM`!f3UG@d7f%DQSnT?rM-@vH;vmUy(4x z%<^~L3Tw}w?CA(3RSzcO|4rjb#wi!Lv<`{;5@P<2&p=T6~ zNMu+uec{>Z#o%-~>F22T4MKsg%POYEZ9&TZnN`Psg9pqUf-O+k$n)&MeM6=F11`VT zeV1}m&7Y#36AmZ)P?O@teoHIV=4j`nO`GC9Qz!*TaUo(N;hJN;W(UpZ`&W;8CmK13NJnY5JcV4l3EBTqt< za7u9AXQ1Duu_jAOWpPVKd?Yg*4{aLAH1$CI=Z48{)BIa}ae?c)shE4#b<_^U7^Lz# z-sL_^JY$Z~+E}W8&w^51MN~cnx(es^FE6ff`Ru}bR@zd;2{@j?_2ZJfBDZ%%V{bPh zB;eGaWs*o|S-$4M`is7w`gkd5`F3W>x%k6><6plCE|_yMz5}N^4cJzO!Gi+q6sGm} zt(lv4_*IM25e!XS@Qz(S`ZG#ON%z7tJgGSY#0GBj=skosVlpI>H9bgMDEDsW$UpwT zk%AP6m8E9`bDwh~yMO}fjGXlzKokKBy{>i~Y_kdNd_zT_6vk;l0Kf>09fSoXsR8m2 zk35#&4=2D@%EAU#3&yO?<}wG|Gql2WJ$UMLEG)i*JW?qhTiVB@FzM0=X}#obk5A`7 ziJ(H#vpmf;x^H(u3;3Dr*#zM z1CXyM4?r-Ik_X=~)9oi|rRSSU3;>8@@ff0mGzg0y3X#e=wA#NnqeXDyc3+e6zrHWJ zhd?!N12bXA5)a|~2KpY3oA7qQ+|#&eXYUQ)XhR4!{cGlXxW1jIiupX=BwC`tC69kD zi-xq`b6KS}3DLQ7F|v+CUclOPzd-0CY|JP~C>*B>3caphx1ktbbQa5s;Jg5?aJz~` zC1S^X2FO3z{7@W>c6lvaWRHJ-_tB`lLDx*9&x6)*!~o<+K$lVJ$e7^$ZM^Crb8Ah{ zdcA*;kq@A6ld$Mk!OsfkEWou$cVg2g7053Jzzh*2G73AgK1I5ltrJA-kF4uRlrBm! zaNg;SE?NET(A`Mt-PBMb1uKHxWjwWNE!k z|MD(`x|n=%7~x4;1UQSMFg(Jdsi_XbO$Y2wVz*{ni#a+WMGFsihJEfm&#(^8ET))9 z)ZY*-#K_FtMDLzvVUNJ*UWwS`9u}Nq+wC02?bk-(_1&J)97rD?dwrERU*(kd%P51p zM~-h_Q?t5~n-?en+1F6#p0`+p)XXEu$L=jD8#*5vAzAry;ROyHD|`S4z^5S$n zDy?Hbo-yo1kK6qh9!Z^uEjo^r$ini8tQQ&uWVt8+>y9?AQJU1(v4`~L1YyaLRcxTw z_2Du_Wx6s{{;1HFs^nst>wsN-p-%H~R+jIVfp#P`m)RqwLq{}Z%TA3KIE&HiE%X>G zMy-AB_?0wiL>o>ICHVmaj`Iw{{D#;{zXltG4JC?sBbh{`WxeGH$r?OPYrw9;z5f03SU(`eHxpb*=+M3)JXe6 zTJsq}Th5`P6>16}i&x61EQQ&lEfFNvV}O5UXPu$0B$?(Pt4|A^ic_Ns4CmCz7^ncr zxQA)xo7iJwcS+wJMx2lP{0n{(IUa+!k2qx(VGR{YY$(}6nHNN z?SpYA-Cq4XtDc$DC?A4&R@9^h6bsj-3m7NzaT`RjAci3WG{Nj!Ejo9}ci;Hkz>^wD zi-0ECZ77AJdgGhxCIeU>U%ef^5xT|8nDYWdC?j@9K+mOD1D(my7whfNQM6G7i+-3~ ztleYc`xi!6`S{+i2N+!?5AK#8*c`yr$&sHiC#LQ2zk>jyF>_La(%rPRWW6gAS0lAC zuwVjy<+pQ<-h@TeGi_J9PM_kBwm*vW8>F@0UW~I!YXm0sVcJs!O}Y2l+7M&~zS%an z(9ZIqbJysrO`BYe$kuX_KBpe~LqQtJ<){MtNL&OxqZ4QTol}bQKw8Q`$=oMbC;}$P zk#Od%{Apb|O5a0-H~V*o=T93iP?)f)*Lmocfyz7hOts*e*tXL}Xt{}p8xZN_MdNp9 zP#c7HhO7NUe`SsLBde0=k>BpC)kuy=D8tV@9|5QeX?{P`Q5dPYn$Qj2?jD;C(7`pz zmOEEzti_J1t6WDs7NMdE_v$#zx7L{Dj|?C3XRSvKf_#!YATU}qhk`aRXmEG?b87n3 z8}(rU;mOBA1_9z2gN60Zci4HJAg0WiCk=L9B3E(7bfxps!<)en4_$q02F1&BE4@e! zgjL>`oaTf0W5Q&1^u4fk)f&58%gJu+gGC2B9&_xiJ-8w}S+jMdtjd2&$Bt1xA1=!r z#ur6`JT*8RZ}stdSK2}uWwqg9#E-H$n6$LW{hbK3^%SMJkovjiQ@rxv@0c*=2-0t4 z(_St!`^~otv<^XBvfj83B{jtkC^91WbF!m*b0crS^s{q{dE7#n7(0KUbWy~#?6?vZ zRqU~cJB=t^t)$3!FZy$qh<4j2RitV2l=mZGjso2E%oS`!Oc9)Btt=di0Tk9_Vdn*s zttkC?p)u1I$vG~~BytQIUlF}Ex65_9o~oW5xAHTnoRl-J)})L_EE}v17n~6bov9i0 zS8V_{Sm_;f___*7A1Au^AWOFacl+opvors`;j5sVujWrUPP1q z>r5+Lv=$!kI~8;N2^#MDc-A7_YMHjotlNQ$xoauY4-*GB?7a#QwjTClMrxr)GNs|j z*nu+;czbVuW~y<>W4;5cUxZ8Db5@Kl-dGNNBv59%NJfK*V1+(t z{*{uBSovrcIy9bU#?q6G@c9t8(|ZwVGi^~<@rN;*b@3s1bawe&Eu_sLk4QC#=h z@D0lwC6sGh2LzaKTz(JvQWytU){DHzQQW=kGFzQhNRy*Z()ST3cPsz59ALIru{ghh z8WU~Pytr5Q+ncxlcG4;ric79&IWWA8Fq6HV!s!Bq@PoWc^K0 zYJ+6G=FkbO!GiZ$eub{vrZ&FsROrn^?)pFk5SU7-P!q_ClY;EN-7Bc(?hb+#l4--4 zBlkZw8Sys6TUzyXafi^>m7TNn5VYv8PNBR4fsWV@KQPyro6K!$5|9U~cmPZb(HQ)n zx1Wch_&%;sKh8kwMGoCAvLd63wv?ff$0N!}!ZKPzAvmrSfUNyYthVzLnV)V6x-*Fd ztzMuP82{A&;ri!ZlhO+t%##HJo%TC*>XTs8Nt@_@?Om{Inp2e9!Qr!uxZ-ru{cSZt zQ${xdA1G=gvP%!>SERRa%svQnTZ$?nY(bE$y7uA6)!^kSMxx||BC5HoAsB+fQ3}Kc zV|RgJZ}|rq?;w2v8^-$(hYn!A6mW%=Q8W0(dTKelly_lMP&>>$q8 znJ%>oBd@<}gJ-&MoQ7g_OF_^3q%c%&{K=zXI68?O`fpKZt&0kMt0T;&HPZERGLOwJ zy@olkFW7gKnFT-xM*U`5WqH1~8OC-GfJtWWo)&$Y+-&f0u4}B*u)n@g{PRTSsQ`LX|W4UplK+_U!4-; zb5 zb^TdcgSfTd_35zT>Fw5e)B-iE8HPBWnH8`GSmPT?<4pbE!_+28GRk&W`wd(N^=}+J z)qoB}i>`ZcYzoV)#295l7+@$fmzl~}C*YYT+KLI0f|tRtA=5C9_fdcs;!vF#Bn3i_ z^dfJkGX|u zL7qsQn$WQ{=G^vVIN}}CFNS79ys5$Em6;`ks#X|m#^VQl281J(5h3?c`Q5(8M4n>K zY5t7_Ogq;s%Z%@25d!Os@H-ul)F4;DK-ZUN8=}Szh@Ee#8&sX&-d%&s8>0(x+vp#I z0wM;}hH0CfiSeIcvzpaKGiRsxr;(&1G1!+^BdGJvSoSZo?5~%5M(!N+?a7O--3ZT% zSqL$%ws>#XuWTEu5-8{vcq=C>xdu0cIrcAyg|E~n6u_7dQKR=2VOSiG;!Y0VsDD{` zA(IUs343UFJ!W@(ItUkL95ZP{CW$$u<$bZ&duG=sbRQq=8}<|Xb;shB-5xDtN0+ip zv9EOMM5c-%-!@V3Sv1|R`f*^|_y@DP_23PIJ8f$TuxuF{i?Pl`zw)f@8LXwn0J?RQ zjW3L2lrZ3>0~i-<5;lz;Hx=-q3&;_9Den!_xpD0?9+zX-93@l%=O1PRd)ONA;AZ-5 zWS?AME*Sp>m|I(p{~S@*0ueU~IFsg(IclNG`R_x`p}|aZAJ4*KatRNYy}F_5}I!SM;xG0j*&S6hD2! z8#w~0(S_krZE+HU8ITBq!RXP9VRjv6hLZMIzJNvx+{6pm_9aniZJHbirLLW~xpYr` z-NV8*Jq>cQ$eZQaz~@hMM6&!A_eS<%oUI@T?;z}|By>?qTN{qebkSb|3J0tDY!vaH z8K>9!%~t~U^GX_CFlsq9Tf#-lL`e?hZZq5`+k%fG^k*lhl>m;M*V>B3E63=Qk9Kux zYDBzq2V;e(s8(6Rg*w9t?_HufDm{0X#bAu}U@^0r4vy?r)Y}F107Z^=8l0rfbBZJ! zUx^Khhlk2ZjKIa-P}&h4o^w5j>Bod$3_Mc61fd53U5qJv|6Zm~zy&0FZeg7Oq-81J zfiD8Y5Epcp*It1=_KzOc$(7@{AuM_%~Ces^9myfQXNKR&P+_STvNC&i9F?pdxeXx1w$$FEL3S$sC@9R_ zg8-TpF-PXRW8?)4GRj8ti>#j-IHmZ~#tih{ze#?tNJkv&T%lc z$oBR4gy6tCG3~VBBx21%UC(?aO#K%GLW|{meXU_1DF;Jx=7?}Q zzdPl_Jm{(b)g}E7gBkZXyO}bayH_h_q5nXl}&6Hw#6r>pWv{<0#O%N=)Li<*E1zb~SX0=eu%E8;UH?-(;lnquUyQ;mgyygE$m4z{D{s+P{9nr2Q?iN8HK z=5>k}MyRF+QkB{Pd58HSUI|oc)c*!60PAyc-af90!I86Aalij@=dmzd+G`rh2>ii| zJ&XdF2_2ul1tgDqp$D2dXn~28cZJpX4QYKq$Pi$EsM5^d0Og2$Oh=08wfCykhXIf& zL8O=+9?Y$FyuzxZAiC{}d-Uep@1o2dJ0p~UH_MIDpj?ldx#^*DiB&CfZBw%W)4=#c z8qElb-HL1EJNaz2nEGE3un5CoeLEs>?FWTaCE{nolEr@>pllD;(r^j*Sn8N8HVS)@ z_n^$gP=yNx`q@jZGf43WjJz;JhF|#i!8-LzaC(gz($9xKnq00MY4A^p?Ducn-YA4i zfW4KMFIaOt0@qEbHv zQ@bfByF*;CjW|BYmUNDi*y86+T$d!GcjmW%k|_0qN}&(#R~{l>t@mX>Xtv**LSLf&I-`x7!cTF_K&FGVtx=)WHh-hTE>I|6b=&`$oS)SFQE7rXZtBlE zdO3sv!-QGKhdKY@%MlziQMe~FG$8qg!CNQG${hodY8(>|PR=s`+@j%MiInF(!e0ER zLyR-75X2HhYfwO?P0q|6a_wC_d6ht)gcdK?+II6g`ec!4TR%u! zG#_2Tsv|xd*x~sMFlVmQoghdaDEkp0JM3HVcE#({eV+~MF8^nxw6bFvB1QsTOIQ>~ zh+ke|aNx@+lSBW4FCrb0%bOHl`?SR<{BWfK+%&8&$69~J1BWC~1T4}8Gcrm__+i7b z$!mgWH#H;sMaw64Y_)LJXs^`|i|Tv(@tNU?o`iTJ+%g8!__f)vY@{}W31V2{&Rt%KSL^L$rDVfge1Yb6aPt^@ zf$UIAk8X!;KZoG3E=@S}vVQ2HowH9;{CHR5xV4CzW92`;@zA(@vpNe{pOikTKo!q$ zmEo)3v(jhi_P5mrh6y-F+NhD%Eg6}G3aH?vum_}fZz^xwpH`&}$x0jxuS0*(1Yg*9 zL`h%gO55~RjL|!gM}kGCc@=Wsc;n(wRZna&QJBbE{>YEN>ag^D@0w4Xp9 zbRas`?VA*zFJKkL0{CGDp4^SQLWF;bWp8l{Z>N~ z)V|EY3%R9nH&n>P(*=*SdC+DS`B;7{nTq`a9V#}InWpl1SOL~f-^zo3yt>FiZ6uZG zb3$kE5P+@y@4Q`?*@yE22DOGt6yWOUFm0!n%H}KMymrbSUmMjk~Knd}Pb$C;1 znmc&XZ&BE?(A1(wC#DIlVz84m+((D=Vg$3d3u7Q#XFuTp(N*NN`VL&Yu=D~2k^-0d z2qc&L0P-T}Z_;fY!xEawZiYuSW)7{WpG7-Vb!el%)_mB+8wue@2x0|uatLGZ?9F{X zVxmuSTtVZ=rvK=+^^}9*YZ>XH3_7%OfCA({3$aoxDmekIS1#KW`rq7br!Qnw?nu3& ze`x5T72cR=El#4<(et}M$8Acrm@D(@yO&(UCuG$$zUewVC+G(6JuKb5X)f8us69lN zh^pr_B_nH8g}4qM^P3aut>>`|*#>Q+&@k31!%N-bKuj%1TXtkJmefOZZf=iAU1R4^ zxVU-sv=LivI`2wZ`d$zm4l2bGQS&af&87B23H=R#^u=KYLFNPh42pg3OSc+)&TMIm zMxa3msIJtT{rh__714z+U09unA_@fcW}Jj&qd|ZQge7IdAok9kyO7)*bPW)@34t~E zs}kZZt>wSAh9+o3sq*Kj+mA9pn|tIHC9>Y7?AwaDj!IlU-&*hAo-AIhHxA=b5G6bN zPGs1?;}u;SS=cl*L$x+Ft6WsWY?xcb$VNd-v)0mtwP?{?o`-;|1BZ8#0l#CzM7J~7 zy-T=Pq^f@Dk-J3fkU0AnPJ>hJV$ygun{G96Lb8`6A9B4Ynv?fFgy=)%IDZ-WTh66F z2F&k3B;{!dhI}@nU(h#rtjx51vX}SljPNvoIVEdYjgdzk=q!>YD~PrHj~$_!N%kXj zvDp8rE^^$A$IG1NViMUO@fp>#Li92EG!?wLsoFHwzSa=+Ib#@Ykm_NiJIxx5dLh;Y zm|E>>4(pO-RRb@nZ#o5pneK)#|6f)1iQ#oMzV+%=u~Q68j7UPrt`aQPZq?YQULwwA z&ate~aV9O!RMZ)ow8D}PA@Eu$Rz!yMz(x_({T01y1v6!idePjk&Sy-kCqwTqyw(Sz zd$QNtvD;Fad^}c3C`=}|j6KyF>8$Eq+Vwc$5HqB(ZCAyr$v;dDe`kIudX$u9fx%Ia zjcAP0MB7ptQ9OWKXnca15Xk5}SwEG9}*VcBu?=Cv|TeKtY zD|M!~^9`C|HcmFtTB=*KUkd3MTtOrNqm+%KwzLWN)(!^5emaXK&Jt%%FxOTK)>J9* z!4>v?R>2iKn-}R=x8cXUO*U5$dKol8iN>D6FAKQ73erO}ismt8pyhS5qiPNZ=1q3{mFB35J>L_DioZ-!|E%hRuz<7t(Fpt%lOu`z# zw+Y(y*HBU~00bS143-LBY&ff`?f`0_c+t@4v!DXPN2)1YggxbOgR|YKD$x)G zjUq%(5|$}s(t*{SM6K|Hi3a%+jvhMUbr>jR##iU3fvBWVUj`K(ysU!IxgFihWfaR9 zh~)8y3`fVmhXt!1ZWilpOkS4(3xR=odVJN#^L@Snl8M#`-0Tv$rd3&I z61R!lBxnz(#n4&M(kZm5-LVr5R1@EtV+oC`_=Bg0*jwl(4o+NNAS;Gq=)s!*SMRK- z>Q$`9K5onCeKql37gAMM3kf*vqU!ms3W9GIk_xH1#z09)%s-W`<9VDp)?eYz6Uc z84Hs>JMqH3e=xw$6-cK+)d+=VxQpeuTQ02W@+clG7l!W&o6p+lgpRq&qOX20gxlFu z>1zYv3CxiQ#twUzt+%VT*Sep8rRR@4Ez?y^s6QmGNU9Q!^ZBTG6i+5q36PCXGgPtQ zgM6x45!avS9HcL(Cgml=O9Bv-^Z-$a2?hmv{(m)|Ezsug8B)?xx0m_^R#)*bz~*4H za1gUC2GXTZtre4}Jj1xc5QDw%#|L=-U2m|{R&qH3(%1o!Gj@KF4ycy-{VR%^GPk(C z&kCgJyPoVK2~K)AmrKSKX+d)k=9{k+j=?x?P(`vhhEx>M9G?B0x^Zg%panX_;!m6h zDkNkW3H}PWunR6<4pzuTx2#E68{PkndS+Z7G0(+a;UlXOdEf^5YFpn*kr`^AG>u%d z;+&mI;iHysT$?q+VM~{NHIiS;yEn*hSgUA_vRS9xGM;ZfjGa>vRm0SAcIy})-1${| z%4BMV9oF7++t`oxOk;L*rt$s#$!h46iGl6P1vHZaEB+4dxf9w~K?s#wX|dlUaTz+z z$4LOMvpNk$T&o+umtq7RqM&BtOJ7H%&T@`;d|6Og)uKu%VbwEi1N16y^IX4|J=MWw zqYjD;{i2i_h&^dtlA1cNGdEQvx|AcwG@W^5Ht>qm!Y}6TZ z{;?H8x}$`4Q%HJaAg3;~>5h~}65n7|%jUaxg4&PrDCn--mo39V?L3?&S6R9s4iaF& z3hs@^`usfoSVRD#&q|^Mi1;@-YFmz(*^KKJ&A3MkkTgU6om^;QD+>7yXm_>D$L5_A z)$tZYcwXil`c`R(9n!V2w|n z64B@7jCfHy(2>k9`4xI}&-#LoV510#Qvppob>}8Ux`0Dq6s=uyocuT+7 zEnRK?G-4A$%lOflQ(R3D!*n5!-7@x4j80NAX5pEO-Y*=V0pU_hOas z#dsjW1{*Jdb)bK2#WH2g3}>wB00R1Ne+a{VIVdH>(U`c;TA&>y7ZJOEUqj zEbkQGN&^bK_4g0KO0=6tkhuKg?z@+VlAHNa2u~s3jh&WnSfc^>Km@NSUotD@z}1FG*%}5JY2BPr|{@xGp@}i(w(W6AJSPG@~~FOLbCX40>Ju> zF*{;@S&9KeeWP9Qs^zUzoTPlxnW?6)q0&P-2;S|~8Z5D)rON7}MZPX_ zpeFP#D}QQ54l15;9HkKzqfbOQ%S#sxL1#iz?Q9rY;=UcyWXEB1@o`D{M_OD z+y`YN=5C*BnNLh|?;$Y(!*9#l*E$~9k=euO5zo?>rwkXcd0x+% z))TSZMKB0jrG}HzVt|IA&-9cwWs=327IOWG=qf-zIv>raTMl;C5p6%3Zj|2#^UP3g zo~Nt)D6-@uxgQ&e13ykXWpvCn{%7*EHBHS^aLW+tpCL9a=QS#FT|uav;WUy; z955svB_*j8oJ4D6GJK62v-i(Mj^a~7ph!JugKo)-@&gP20*MHZ3UFnU z-qM>Tf(fe>)|^^+Z)l(D(F@X#3@07J_62dn*!}_}>`_|r3^;-A>-yz&3qRrJU9|6N zKqyC(_ppfsz8?PGC#@l;s`og|H}YB_+%I5gVC!H9`}NXu6YqVnvn}{xE8Alw>5<}f z<{nJUeXdY^6cWBtA)BWVSKtZs=yK8x0*tc6Qdj>(5ezVq!C4FA7jc7Z`# zyHfV5RcCEr4UA`7ldaM@g!ZHASeQrE(``Z=SA3kfLS!U5^lhWJ9++XKdm^;0<|8udRv$@3w>{;9(Iz6l=vz? z_^j|@&$fwK*kfNH&1Vg{FotxHZ(qHU9M_}PZSOPLAY{p^Q)I{@MoQrAOacG{2|bEk zvB@V&o`$vCZ$^j#Myy+lG|XsnIp5tk`Vl`&y%%6+I*mcPKTgSfcANB_PD6`E@GG~Q zrf~!3@J`xb`U$=$+E<)Pbkk%7!c5uX&!tS*mGfAQgIFoA%4r`NT)uCTR!JcdW()`N z8JA=J!s|?zpk2w9Ju&qP_K-jiXs+pO1!t9thK(Or&?*}Zg;8xZfiCu4-Rj`sgwA+6 zZ*V<3H0_Qd+*d^ZI3R%haQsmXpTiAN%y+<+nuyi8#&UiN+K<|r;SZ#MT!1fBKPpiQ z3h4)gs=8yfH6v=#V~)Gptga~+tvY9{igk_kI`3dv}odlzJB7-_-Mnd4=uqGy22 zdgJff#za*ElJ~}@5yc4_Dfg3iS^TYzN1i5|w@#j8p}U|D)d9yC_(1Sl3(A))^;Gd) zqqBE8^#+Iq$k*0WSAkEM4>GgAbOXzE$+;`^rZ7Zyk+?#bBAkht#u+J3NuZRdO!JO#IoBWu~ zt`D0)MiDGKuiDjMlSioyT-^yeQMQ8g*^Zl_90|ZV1~CV&^pO3P6`df&Dq(~+A#2c& z=Z)}zFO(1twjXE)L6~-@Ye~!k0`R8ry|n{pGeDijBTZwsq)9ntsYOu+n}%jAB*xMw z)|G4LzWrzt!#qI};MxN_80<$OG}$dfj-8x1o2Nr`_W8H%VQpcKH=%a4IRJ9OLxKA;*1{8X)SflUGNK*FtMYrpjFdf|GL6SfkV2 z0DfKdP(ei-AwBMhuV-=kWkl@?k(14b0D5fBtU8`IIZKqnDn)@~5>vaNP5F%Y*p%_MwJDIx|3Kq zx24Bp{0QjgxeSe)eTb^PlHn-b3Z4`%ygz?1V08c+yL2s~0#(JDwu=m@)&h0{oly^L z2Qk_V>ttQGKXcRQ=@b6Rnbdz72CO8L2RbMh@+<$%>b&rWm(nnj?JiSCs3ayd-xrJ> zvCuuF0&$hl)P394Ue~1o5ZBVKFu2=8&`x&yE(4hqOI;zSb`D7_DWZ?cRvPO*lm%{( z_HQ*Lyd?uJnq)*>{xgqKM#wB$JjibdDMJ+@^G0qFLRmv2zKQ#g-TRW6yr|7CvU6}x zH&hea@HfbwBMp&`wh668u96Nq*ohju$(`i5#k}zKy1L z6-7|8_87przs!(670KT$-Pokhcspy}Th(NSj`K^)wLh?}{KoE=*OVrul-@xog|nD5 zdGuK`g{T5l55tkfO@zFRF}&u%P#F7d*7K&DLuZ4+5mmfETABRr(-{ES+{{blTq!a@ z**Pp^p&XY}3YzBatcO%CqqZcc1Vuo-oUVRA#HysKkke$1J7C-qsEr~KCEKx_<>g8a ze=-}+XJT=Ic1EeoI!Tsz&#b*9L#@i8lI{e0-g|&d#tR?82dEgxd&>fP_F#B7N&`_g z4sMakR18c)P2D!|mu3+8$qm^|Acg0I1H7{(gi?Qs$XEa);6x^AtyoSg|Kt4AOotjBrJTWF)J}u4SG_D?W_UArr0w zwJ6>PMc&q4s$t|}r1-nxv@UWah~L#IDK&{lk0a~xh9AOh@=ES*dJ96-ts(hN4d(sa z;3cJ=E~L^{F$|jYP6O};I1|hhJMBfC28d^bI&FSQ^r*xcOHp^JF5EZxm9BNL8#%-y z=N&p~Ly6W}_wI)Au~=^9-PNz5IYKwz{y&_(L$F}cwx+vn+qP}nwr$&1ZsfLY+qP}n zwpDq~eeoiys#l%WncWp5=KS%Ezj3bM?=&T4-5sZH)_<0us#%hU)FVyD0xkujK!Mzz z9&8l@0*saMe5H&QD)0ZQvU+D_@kq(EAv{oqb+ys(?K`HE5>Oo&SjPbwIO9{mRprL} z82jX^O#Gy~pMD#&Q?_%@E!T=h`Ub@vpLO8j-D zfh_&djJYPVvJ{G{K|3=q|G02HS1a48E$ei^mD$k8VICZCA5P&@1iMO%srHhu^vc#w zN*n8PsrmAlwR&keUNec)3Za6u7U7tUNAc(1=5*k%B=a$jr$WK-(7lGjd%xf~ym z>Z-)rU&M0iaDcl^4SmhW{#S@4vsw_yzf(+@oe{R|Ul4Bc&u{r&z>TC$YbcgHJ&v#w zzs|%+Mz6>uDKDl_Rr1ZHnI8cy@4~vZ9(ikOW~)=*7DCqKqIcBDFV4ChX6$RoB~={D9%8gz_#6>+5+*F)d}`rwAr z+=NeRJgmk}q={PT5|6Egu4yHot13O08+^yS1G>7NErq3^{e)O3_0hqd+!=`73M|BC zToZ0;28=xmzt|sOdySL?Q3qV3>N(HUZaf@%PUNCNa&y5X`9N2@4JK04MW-(7EW%8v z%@UsU+fu)(Hg#l0>2mQ6N(fWaumq*q>kDCqLf#7u^y>0&$5&It#n52n*VVBxR;6ZA z&ATsmT>uk3@=?B&0z;(;saLgYHal(y6|Hlpjs`7UmQu{jL3K%vT6nf&I`opq+gXJL zrHFxN$VJAj!ZzP^on=!)FbFOa+R<3i+p}y0lNb9yud7WW^+QvyIFX?)PiKj$&3!QB z!=1y~hH)}`(#hZPP57nq&}jKOr)p`|_(qyWAXdG16-_eQTp89rxy7Fc&hVnY$f7fX z{N&{EO_Fx08`m>=D+*ksYD%djoN_G_I@LGML;CjtRyYqWp@3B6Rk%7S~Yi=1wIRMn5eq%;B@Cme-4m-im zdG=*myHXrW>y!fnvoWNfUXWw!ZLBeT@~OE}1`It1!Di-h-&r(0U6RPrAMyxB^Rqv# z0!Fw{n*qf!T^xVjI&yUNIK-2QNnEaHbj0xr6SaDc5X$BGTzRRkDdL4qg4ZvEeDbQ^ z>Bb{K?WAi)PJU=SB;INcu0ma%u!s1;#*2|RDT0$T`Fm}_!dUN5VH~J7$!4cj{&#L{Vt-pNb zYS?`1N&TT%iBfnV?0|sqow;2%xwsz~^&dC$b9&-~xm($~+syp^JlW1vPu+#h@ekhB zeh9QDRq+XCw~ht~YB%0?;2znEwYRt1(f2L%VY~#|xeuCet@Q(vWjQ1~%d_7ZJm@4i z9mn>lV0?RFeFWj>YW};!H)okzXzs7gz(@X#`>*y!0}*L=_BT#Y+P;T_de&n(oQrzR zEKe$vw8>__SeH0)XeACVsWKriI)Nxp^Z}>gr^R8xzu)AZTC<#$^KHpuz@GY@UlnfS zs1+f$EaN8elpM;x`9^`Ie*d)mPG~q+Q@T>Yz14p1{dq`rWc7HQ-yss$j%M1nA%|;NY_wY z(K5Y*Qb!X1YI?!M6-{t?PLIPEiH_C++Z8|tSS^g+GrZCZqKFkOf+@SIlSKlG(AJ@} zG+F0&u`-hzS28vRkBpo#bVa2`Ae~DTP^d%#L~;mBhop4^l9N~nNo@rC^l6)hbJd#S|OCFCzNR-!9tV6w9O-_A6jKS) z<{DG#z-7@M>y|DwG_XnktQ5$@$-V1?uNF9oMxvHCgwMBSQoW4*L*Q)8B3~B0Uj1i! ze`{TZ8Y6%AblaQIE7gNCpW=2hyG~+rn!I}U;h2vNFr<+>zB5a}c9{S{Kx5LMrI@y%Y(nb`!U?@yi1j2GyP>b*@zWR-u#u`0J%W*;Ab)mApWsk?v=!mz!OS(z}SB@^p=z z4D`0^R_s8HI>|!@>g`c-Xj}1x5o%@5BiS!~ySr@Mg#f-@`$Mv54gY=dN)= zqIuZBDLQ6xK;rR~<)cQ>GkdHmKs7@)OYj;>esH;?H(=!{E;R&khL!wk9}BNMNx)RD<_rCD4KHAHDMW09fmQm>u?IH zcva`&OJ@NtdY=cDWXA!2Vh*)ozDF6DnvujDkStIK)d$BH2J`){=W5lA2|-9oPaXp) zCFd+(_wz<+=%@bt0N;E~o;+Yw%n@$pSg+J&B~!$p-pyR852)V>B~qo-2J*X~Esdi1 zSi=@A(wxzc=HB~Znccm_AM z`Os6*MQijmCRYx4JYFoDKNQs+G8(GM6IC-esySTyx%3gGl^)F@-`{)MG@>6n@;gKn zLu&277c@flpvzQ8LDesb=?56%b9mL_Yr2jY8l7nX#OazTk^!iAO~rSxIRJ;x$PbcW z5Ys?z7WmWh3+r(L@AxZ?z!8lw&l<89Ab#*eE_~=I#L2`*D02&$AXiqB8es2O%CPXo zBubL*o7Of(CvwTlFS)5pj0Gs%GloBH9H2u)N`5}uZ4*{RvEe@X1K2=km3laQ?g zc+ndgW8-3>@*+yq0@&P6< z_jAXEGGP*grL#<#056`m1G|l&$cdh+xLoSouQCNySWABVl(w|){H&-gDCG_0cM#3` zY#nQ6pLUb{DrEOi?_uwjDWi&mH>b|+09h4*rpoH?-6tGJL)LQf=~#WYg#wBXgd^7P zA-C^|-SbQXU+a>|SSo1a8hl-nKrT@bUcmaWDoZXV0~2U1cYpG$@rh0Jl0<$NH!pl1 zBB*A7&F;k_ztACPGSLX-vl2lNrbmV2nr_9<0DgL}3T+P4(yG;=gM-0ic|KvzT2P z`c~b#P(+^MdA2&ZqJ1ZD6axn74uCvX^_{S4G(`TG+`((>ZYNJX>Nc06l z2z=xx$zuSxEFgk$oaKY%wv(eSK3_daGOP@ND8&A0H41^{uKmmm%b7RxeU7$7+ z68D|i)tGf6#D3H>Dp09Y^qb|4FQarn)NWKbyhW=aJ~;P1Nr-f{km+8 zN|w64EpXo)dEj(=Ai!Ltq?AQgfpaXTycvkNvjzz^w3q+5mUMCS0kN?PZf9IY{)TeD zX8#_6_%|^dS=o!~el>JE3<1+e#I&CwY0wnGXa@)Oh1UZ`%npE3jzi-C99RNQ<4}qQ zp0(Mo(BL$-Ixm8XNwfH9CPJXa0(1l}M=0H(~QkIcKMM4khAp@ZHK zt{?}!%ww5h-s`)H?P;}6I60nuluPIg3WAPGphAM#4gb}A4}tW;`eI{GKyHX`fFwRT4RX`K*nccIA+_b% zgRz`0Pz3e8aY_8z62j=(6M~vu;N0|Wb64$U+ueH-OiOM$WRU_!V><`a&e(Ubn;yie zfso17ET`ioR>qkL>f>}tdafv^z{b;n_rhN4YyP+>+@55v5t3Y$rtyzgIMKe>mnI5$ z{8k2q*P+oS3?vt2MIQ+gj7uY3ZE5_Lqu*U$?^;l~LAD3y;sx82Puy>kSDNrMt@?fz zbb?0e#z#os3JGQL(V+YZDtpo{Zi<8>*J_K5N?G~3_ICwSwh#WqCOeur@wwhdo15x& zuB%vqcqT?$Q35FDbyRQY@Ryo1(EOT%FbjLGUb7I`wrPnKa{%0&$wGxr)XOfe{3!NJ z?O+=vtyM|SIL`@voVJC_;zuV5n8m!LkZuw-o{OhLX6yq~B3C)m%n%<10|2nauw)g! zv`bI_)1Vz^DEq=xAuFz>?iF43N=;W(=GUvJ>v1009q6{aYL?|7xy<;%#L07bArC*t zbeAVTPXV1g05!1P!1w)lvjo4Sdd}RtqNn#{@>!v+EP-Pmr~EPYp8XyCwltZ*iWi+H z6QxJl!vI7sfF`jC>q9fbIT9Y6#mR}|kUz*-EUIGMX%wOxP!L-}8})|B?gFtANbyxi z5l{?|8~<L!_5qr~Qt4~%& zCXu2dJ1#8c#K~}sLx1u^Sypxcp7QF190_w$Av+*Nn4>&*j(GF$C=@Q~6a+HJk}8bk zIu<{S71`oX@&YVK#V%2ZC&)J=kkS;2B<3@#rh9Ru79A?xkcGD9PhVj6YHcMtdY%DY zPZb>>_@uqB&_H;9Jk)tN>qGUrtfZJ*tPd=n$|3IIdz|n{>6LYJS2!gMBb_>XPi-${ zJB=lbVtn{7qXWSDFl(=3ccTSD?T5VgUvGKfvS+;{(Ax9WJ`uZuQ(e4eFz`J2yEBPm z2lO^b?plAA7MTbO8<0CFzPY~+>*5A{=uP~O7i)x^*dNiM`@V{0T9mW|$`CxW`0@1j zV7Xj^=3ho@n8ATVWm&v7;^Sf6nETONMHS6px8+s!fm3spCknWgR9KR`Yc;=L0dy#F z((zo`I<2$v2`3N~ctRN)*Rpq9UF$LIJ=XlZE9ickp1#PUkES--1MXY*ytckND{`mg zWG11}%-dh0qqQ-ED|6%V@fZ%scSEvhZ31Uo%~g(FAs>AAN?<4A;gL)0|)N5hT6T2C&2rc z3cUgj(cOypoo6K#=4oc$y^m)h%JqIkHhzklZz!XyY#PA;sqmy69Q zKnh*P$L?E#xG)z1BXBGu)yPS_m-CCE%rW)y zc^KV70^_?v%Rry|Nwu@)eF4bLq5iG;_L6RiR36*S3BT~So)pojFu1nqVau@V`+;Sj z+Fy;A0ZQ`I`F1V&$z2_HcZrBd>=}^ccUYA99RxEWdtP_NNau;3#^vEek>7BHm!`O4 zx51&@7PD2sf?haMAR46V7eV@AWO~)x2|`)``Jb4yZ5Jl{U6i5qS#q$3I{- zR8b=& z|FGMKB=T3zj~1Ka$lImhj2fxVN|-U7=aliuh}sEEBgk|1&g?luYyM*))N_!e4X06c zaciUJpw*nSVG z7;xR?U~h!LAcT0#gjT5Azk`2wTMgX2m183}J$4FW`rs=!$K>5!)fYv@=X)v5Kbtos z)x@ZGm^EN_`mhhw9!(S37dG%71OS<{06HtNhfdYfG}F%+j8IsI3To3b5EC%~`k2J< z7Al!7=z_BrnY}+scM<)VxK-B&`^azr#t%&(ri^$#8+*+3*2K7B7(nYn`nHT*x`W)1 z^DZ&+%4|SDR~qOz8zinG2*e)*8FPOp!>sX#0^y1zl`99m87B=ZEd)Sbw2-|rfHZ;| zcWw9X)W!QR_lLFBg12fsO^9@~ppNM)LGbk<41KxM+Fh{hTbO8CGJqe#4YtR-7BNvSQgWKcu9!X%Dj%G#GoE5q`RestT)1HgVI7}z)VdO zyTd)tX1*T}p~r;Anq$}#1GrZ3&OMywd1}c#El`xjkM!AW>2fE$o8Irm6TZX9oShP$ zf^1;bw|tq!1kD*qbU?GDS@*DVt!U0W9L35r%C1|LajxQ}msvFYB-j^-x^IIHeK)Js zJzMFSQp!~*gZ`cZ^xJuzH$vouK`Rj>{|ETqhxtPVSuA$ULx50U0;%Xs?B9MR`u!lV z0ss{2J!v)y*r+LpW8bUiQ!!G#NotG6*w<({;Zo;z8Uk;znJ7(+L>QT)@L?S=5ov;o zafj0*ofK>(`RKlm@7<`4QFA~33g0ep+08scylY?QNyM*a_ka$QCn(q(g@NSY02`zb zIrKi9QD>ssw0Ha-ct`#PRTvT^BlN4>4jdTX{(gQV1C zW>0Px;dn-Nh7wEU3-QmFn4mirex9`W(N|5QHuw=aV)P#XJQZ**1mX1KtqV+2`k}6) zAR8wm3x7j6)F_9ce>|H%KtO@fU<5D0WmX}?(voEY`yAkNNySrRNIlHs?3`dJ`o0uOn!Fc0(F09`WYeeLO&#q9M0qeBN;=BbRamCQLOlVHRJp)SZ;i zKY^pHz{j)iKt?2i?r@Ah@mU z`ziMK+znRiL?E7GVGX&~Ezz$C10;_%3y;*q1H0^Q}uU+!V&wL z%UbZ9DRE2Z$b%%f(qu`5AxyAnQv?qFTq)am;p1E>GW5a_miQN>&NQ7k5?!yUBY;pF zh=H63Xp0zW`&~fIt`dP#en5%?-7xGD3bD8@feZ)9#)2W{v2)$Al*l6|zS3kF^&*YF zEmJ6i2rM_Y^o^fSjF9+==j4m>C$=xpd3%{-+7}KPxF{LJe^1Lz~keT-d0gIcz|B(W)NoUF1+x6S%>TRc9^0y1AE}sk(O9Z*Q1U3@GAApqgge z8(fl@I_3wFWPO8^vIw^FJ`DKqtX9KiVdxY83}N^&eVM$iLw=bc(gOPcw$#Z|u-Ro9 zESmcj9SUvEf2m0)ItwuUZ33HSY`e0NTc+=AvPocXJ@qLK&Hqtat6a%zj1!yy6o3Um zvx+Sg?TW}S1Rwm{WGFt$D_M$ddF#s3m)-+4h&eO@JAiq_G-evNnH)Ds^!n3+cm`El z+q2PoT3O5If&axXw}X04CT4qgsB^tuH9td3mQlFbFr|n_L@IrGDcx+HnnkQJOT;Sj z3Z@b%diSw$;LO1hVC)hF-%-0*Y*nM#cWOY)zP0~czaFui@8>};8KNh8h`v;fskB^;Oz43}qm zm*S~Rx#JxC;MbHv?@uJc{{eiMJK+Bnqj5I+T2+1-H_Va?-u*N13CKU(vG|$V;ODC7 z-=h%vw(Y~mr#I2P%xN=9HE3F!9bzfJ!!^VbEWn;lX%4D*xXrw>E4zx14j^y+yS~y2 zuo-3d7Mk*f3pn5mQfO-fonFYYzxqUpWnNw00+^-@;MFUq4#n&cw>x3c*WO1a=kdM` zWTl%6_ZPx(np_)WkFn1X^>F2&$+SxW&#Nl_f!kR=70@! zBduiWT+>wNl?VwY}o88)iz*jG5CSH07Z9{1w-5kGUrd~^wO`Bed9Tz0am zM3~V$8~WZX-juMbp%X8cKnvgd&|X46Y4D_5pXn%Z3tAz#>P78Y1FNEzSBEBnPfAzFhT^?OSzU7*-(I>>U$Rr6DG4qwl+ISr^?ArSM zSfTstp|W*~*CG<>Vq3ZHzT|c zI|Es+cFQ4{(%0_py5b==SgpTl_e_Q`{Fwg+hzzfv8_(BSDXphj)rL*g0oi2Qz0pV% zCcRl#+I<0Xrs-nzuh+x|7j-i(*wXu=xdB38su8L&z3xixHUNy>=TCwq&Pu)>iaHf3 zz}@PKuX&r4W498}FSUwPY~PcNB&+Ffx)@!W8!p- zR09#tfhzn0aA)u+cm#|s(~tW-x38Ua?)yAJV?Bkz3v^76JqO3n_h@pab#7*~nZ=-OV*n$mPg)P#HpMpQI$12b$)8ekyCIJEfDm(q}3nGxQB> zbR^E=v8xbKG&AzFYy-C-Rz35uYU8kLXGOe|;Vphoj>UdqPsK^T13p2y!y+Et@$GeouT5|gWs9L7GX*; z9WiW6^*eNwNtpXSLR`G8*Qgr7&pa;VH$0>%{DbAYD;78qK>jsu^b2oSP_8Z>ulV7hC&>$cTF5-tMWo1FtaCs5|cYFMTv%UrGHu#l5*76|QV$SJxKFf(1? zC_d#2xRZL{MG%95lv*%Q=E&x>@TamcZ5{CIHz8c5`T|0Gq_`MhY>|W$B@`HBNKIo5 zsceB@lr`%nqXWJzqoVs9HLbk~x;tHb(IGtd6^V;t6_qdAW>|q1&>?vx@D~;v*TxCH zJw;Q*d<}OPm<7-5bVn7~$Toa209-Kl0q9MG1N+F({2F=@@B$ILFq5GvrOdZL^dPJxmcnGDH=X?mp`2%v2wyVEr)a){ z3S%*%)f|Gq{f9#)5~h6>xZ)H?RKYI^>g2-_%3PC_<-q) zy)1DGTliuBJThiNWnZ}O8I@UFMA{goml>X+PbR%bp-Q%PU}?2+J^LDbxm=ZkT7Fj* zs+PxGPT` z7Y1JdxkHyy@7HAa4)9O{Dl3_NyA`mf+8#($H(dW1qBpZ~$MOhSHo#H7KMdRV=VWH{ z(xe0Kad3GZo5#6W38dGrzVpe!{UW{|ii#hw4z-89v|fR7D;%YiY(dB%ljkco7#N%a zoTDw+PymeQ2lM-W_6tuPgtk`V0uXL74I40lI$%8bHnZ2N9j<^R&dTr~=;xaK`QG3k zP+JX{x_Gk8a?u~bx@(*tFDA@BL|^<1G|Sh@mE{AQ?)^zYG;kJ6@yspfsb@0GjWZ^TqF zprGGkLv&meASNeu2&BO_mw;ytAnn#B*gYRB-BW+Jr zXAy(Nf=Wyihgtn(HZ!Pxz`4|>R;H@Rox*h8p1Epu;9~Mwb2HPwYvgJaS{@QKNM&f_ zE9$8N9>_-w`cfT?77QDwRazA%dZ{dXqmDN9Enl0sp_P>Zvz{U-up(H&Hhh6C?^xt> zKW9g;$X1o(c-N=B8D(1W8NPHsLz1Dz1IC1peOTFdWZBfK z*e_#e|CLyx8}W@CO(XHYTMqXEu3OP%BuLu+AhdxS{rEMc*+p8pamn9wF0%_Iiwlit z^yw8`74qU}`8@C*syofMD@;A!$^!oN6zE2`e??@BDmMT%=(=g%K2*Uv3xog(iSKP6 zI=|A?)JymiH@4jCYqKWPOlHeLJz%?XFEatFPsOI}w)B-Y00t-XM=JtiT&4LS-Q>EF zfPVfD*x+A_yICapDI5mpI3?#fXiQ?W-n4J0wOZwYkTLU+f1Vc)%Luhq7xTXbGDtnS zk(-Y@{{DA6dJuoM`uu-i!GY(FmUdF8L*Fk3uB8l1FyAI6kv*q_nW){Z=<%^qoe|li zLKhIZ!l(b#a*^p}4XefI(3y|~G#n)LFh%v4Y4qg%ncIad0ZQ>-`MytQT;r5FHj&Ia zB6}D#q66lZcMOO!KthhpgGvBPM*mjk1Q${IKP-$5Ip6kN?7%!%J+&DxmcGv$wDHZ{ z{w>k|US(ON(w{&gWv$h#uI}KQc;=4p_G;sEvW`QTz5C4V;_&6+Q^%^t_m9Ip@!T8$ zy-uC~>clX8_Q?xWJOHpV8_k}+ZhYm}Shv)D;?`pi0>R4Np9ZJTwPSkQRlVMJNJEB6 ziA`~Og{vBx+9ZF&M?$976HioPC$T_;J^;T6IBgqdkFzzuC#d%-Fro=+{qGhk-gK|` z)xOWWjthnnRGw}{-VQLi6u`TJAV9h)f1^IoW`+8+6Bdd$hQZS`cUm>P1-|pSLoW9& zG!fPAo*%0Cy2FH&rPsRQt?-7bRXdBugKZk0(tLB zyT^DPH|!1-oh;sb7gO{7I2rZB8q6xUg{$DIUCaw9?ThnyL}4Hqyo}1Bpwrp1C)mmq z$`5e!_P^vua`__w-s++_NTLej`YnmyX#Pi|2tD!tH+D`?n&~5Z>Wb`lBjUyKI#cxn z&?|MqQro(q3i!_&x$G#9lI{(t3V-DNwJ|S@IU);L|jLm}KN;R5_Pg@s%l22{m*{7Q>%3QW~-p!LhJ+3C~B18w3ylhDk&XNX%c4Wce)jyGT&D@%Nzn?a zvBnxCjSQE9>DpLbykViRmS)>T9}ip_{$cY}+MY6;vsfE|e021Qs2-;iV2)}?@*&li zMB5xm#H?yAZw0?zz(GeHETF+Z>hQa1g!7x;7@7EUwEJLfP4RIu%?)elXd9#+a0U4= z-^t(H64`M8orIU4ploH`m8p814$pJ7ZQO7#gsL_+^$ty2e2sT}L3w_AnM!JcKbP+3=SJ`P!5#G_jD_9KC)G9pf(0tYMX{Xj&qR{w+y>$49hrqt$!( z>fs{S0h*ENUIm-+tY5j2hpQ4otPkAdLpTog)(|&bJ;$@;(jrWZotIwSo1OcB2^+mp zl47CKj`>6JqQ0k94+F2A>SePpD?U?`a;Dwy=p20X+b4N2pDt-+v zcvmWHXuu@3<|7qVZZcbL@=3(5{Y^0l?!M({VW7Xv!Z0PpWjV|cZK%;}h#@WbOnrvs z4F>j7!eJKGD2otKOVahkK6Ei_cj3Mgfy3X8Rpkxb?zc287v?0R9Lz#&o3Y`!JH`Wf zw&w`*TBdG|fRRy5Ic9u@RzwN2-2uO?akm=l;G=*N4iH%Zj@s|4Uj$D=4%{fF3mlg) zKpj%{w$q48u|oaENF7)#H%TrA?IBv+}$05Az3)fmauU17?5-2;*~m z*%b#D>uc^@;pIrk#`fMb7pS=vE?}iDaaX~cDJqPFIzlU6xjp&#oII&P-?5drIy0G7 z<#1ScrV^l9QKD9c1J8F6+QycY;4(CBPPNE9qUZlZE2Tl#XJcAFcFi6kr^!y5ZlloU zez}Y>S45Rz&^H)Rs@ykdl*lJKLHO+Ar-9mpOiW1FFzyl7(#~Bv`*r4=hxBTwCnTjH zw11Ke|HR2!8Fk#nl%}<~m+gWUFRooytf`z}kvRl83yH7p3^=H5(w3 z&Z5540z39|DoN`3O(-O_NHM@yHgKW|4U+M^$L5Izk5dN8(brbto1 zXdE!7$MJ0^djS5@fo%X3S?&(zBDR(Y|B=du8)2()7hb{3iaXlS(T3(P_Air-+1gZH zJ9d3~=rZ1rwJMi;qOZ{w5OLwHPp3Tb%O9 z<=IVBfP|=LYE|(Fq-mLr?-Fj=);JHK zuw~c+OtEG~-hD{AW<8%&%LtUK!gThbXx+j~5%kms=>??YH&)zH<~S>WGpgMDW`H1R zHwbiV%9(8XH1W}2nI?CuokiRv6nCJPA)C?5{_dFDOM58|>`M2Nr}WMq+7js1`Jq)w z4ZyfFCeE3COX}Dt&Ng?4IiP^FCA8cXyHxDzKplV|G6tna1IC$p>s@+v^BPbMWfMfD zixZ^s$wwZ?BB2xoYl}6h^%^Oq_Wdp}<+Pdky;PIC@CD~SWctZIgNS~G)josD=5dsqX%5 z*Y1}oqW*XG_+|H4*k*bW@|#go2#Ws}t0H+ZwY?U_4Zo@bHfWJo?SMxlBlcewE7CLN z+e>+ZFaXRqyhAdk?y~}DrpxFlf>08d-Jt{JVlsxOsH(#Qf{-cLHE!CExKT1fVUtb=@UHbPF3Jq5}doTHiz6}W6-GT9NT z$wz0UXF+Vbf%`S9%DP=G&>jeWEa6o~B-*;n7n5d{%RP z*}j3_J>#!+c~awC@K`d_&mT^jm-2ys(wsZSfdtkRYDK|l13w-FFRazXCNW+8>bt^j zd5|Y80?B1{rUA%i59Vby4HXlq{T6U(nk~<-YyiDmP0Krq+i)`G6x>gqS}SrE;9ThP zf=J$242&~G87w zG!;)nJ={=J8V~PAE-qGwi^B~j#>&hK>0vz+BGCrQStwP@(~?L17X@2rH5lEdnu?#@ z2dRwFZ}Oq87@{dej&K;E3s(5~*HsxB0u{H`+vYrflu(X+UUb=531G*V=iZSid zJ574rj8fHFsY!OCN>Hm>u#%3%d?ip5+zdC()xeU-YzAxDt%T085uwswjbd`xCWTaw z&;~8;nz))#8w1mwt@I*Qzkt&?OkZ3&4VuUO(j4{cxtcyk-&`;u2`4&{OzZ`griJ5r zP#__Y1bBQW65-1Tm^|Y}^&tW?!Oc86&CoC`6cf!%Lu2QU<^YRbR+}F$+zK6q&2Eu; zHNhtPdD;C02GmKQsn#u34QsBmykmi4)tFrFkK(7iXy~`d`Ryi14%q};~E^?Z4 zi7Vf3WsQmsvzNU{=L>=ZD0hs!nnNGEomQ}mJB>; zq#yTE%x3DMNQg^m$nNPb0{NxXrK!$%x(bg12YZzV>k^muV9d>31s={gf7ygZ=N=-9 zz_gNJ<&++<$1n^JhV?A#Qd( zBxa;Du#iIjn;!Y;E!y%I2Uiad%6K@$sqOKF$KXFJt(Az)JrKxXDTN{AB2V0MKn@wmlsb1RejCGpER#C7%5|{8(PIBHUfnLftV0;Yq*$l>n8@Ck4F4&R_lFzNm@^8azIDKy z{q0ZM5HA~{q6EQemdT)SqYC-S1r=g-aP zf5u|95nH4lluWWymAX{;R=ZhR-4RIr1bo{l{_ywP@ciC56g}Go`uzaa;LYpN^RQ$K zZNUY`-dX+j8 zfXFy`!(i0=u!URqqQAS%rwnoGTMw$7na*Fg?_MJ2Rp*^uAa=#}?SHq7v&W=C++jG_ zNW#CH)cIVMN8@3Mcsim66+s44IP3UCc6se_*I?~LGOsUVpeO1zzuR}2?Se$iT2U8^ zn&b*hdG#u72+Y}^v;wN9wmwyhHqDVU&_D-&N_Lv^U1ERfiX{#{JpBue9+0Mfl|c)R z6G7KqO3zN)be!&h?48VPfqK-=(uzW}Y)FmsF8N|zN*i|1-xRTYYyo~=oB?>$Qd@JY z!khvGh{K{5@XZVMFtL5qGg@l!K_TD%C#lYu1^-I2=Su-kh7Qbx8Rp$@D=-_dgZth(-q5-aP*WLNa%~bMf=fYE zXQ(mvG3Wzx2M@TTCl$&}rPnH$ofz#0>3}x)gcbmFzVK-?9BN*jRO(pIY=YhwC?)8kEt08l>DVnQ0DvF4ts_oqY#uoF#Rq2co{oto*xqSJxydjd(m zw39A;LEPt|UqrQMR)faOoJ;}ekmy`k*SQGIv-br(QwQ+KS5~U`pPFr4aXtK8fByo)-T3mfwLYH2#AibX z6URIXWEYUb(Ed(U=78vU5a2ottv^lOQ_Vnr>n-v9tcL&oe3!j2g1guMH2?16M5sBg zNiCEp&OpJv)bfAueAUALY#Zw|*gpa5e{s?G>8=^iorReqwrjR}`(u$BMXW7Gq!H%x z3Gr;idMqV2vHbPGJ6Jw5A+Z2HUfojAafPhrYkojHO>(7Z{FtCBkuR<*;n!#Q4|$z|oS69=uX_AnahXh{3vU%%>INwO7y=*p!y9GiIH0Z9?uRDbE{b{W=8 zfV_S4iWf^#J`N*%4KNB~CpH3@|4&}5A@N$C*(oGAqvR;;F=G$(@9}o$YXC@LUh~v? ztb+ozf#AAslQQ!mAeQjZ^=Q=Yd84|UeRUd;AF2VGD^$(UU*$9JsMOr?4GhIp=l`V7 zqvK@Od=zxOj=d$0#?@{!)Y10|f<`4qKo(-%P)b^vbx;a&kQ5-2AaiG6ORUyunXqVYHgnoEhvI!B;bQ z^ORC}EO6r}m5cZ~a=h!dP?Uimm@>o!q0lc2QuGUqTqCj*{0UOCUuQ_tV}iQq5_N3d zr=)S2SXeGcGA+w92Rul&KASZk*bX#DDFbgNq@>n~7)HOs)@Qp!)^p^bHOfXVYAhx{k8ra|C_eTBr=2f{ z6%NWBNXmEQDLk9FYcJYx|18CCY!U4GU{Ew`w_21O@fC3>BmYBVy4-uxRDZFBq`J)E3PjrZbh4ys$$eM?U0u=7hYcQFfiZ%%Do=MCrB?j(5fKUKkCQ_ z@R%`b%dc=6Ox#;hKC}I>!8H=zT`{VT(+YhL>bsJBh3OXy!g60KRQ} zf)LXKK?)C#7Odo^EGv}=r0WJbe0Y~?_%wOJr&uLmlu7p-qwV#6;0z2LvenS7_#O|z z$@mXB`Ov;|c*Iv7CVW-FVFa?f$KoaT_d?gYCTec|H`+9cv&YH}?bS_n@UB72lYrLS zz}hR&-l=EfprX^W21S)p#@7H_5BBrI=EYJ)t888muX=9Azuh1i*Zw$*4y`I8znERa z@6a_hGA-TAFB8@z zj`k#5Dp=2TUAZeBqSostVLe``&BWL5(=qfjIN$h<+jZA!@^TQP4;5}20jjj(sGdAl z*!Zu8rw6K?;qZTZw_$Z{VoJU%bbQ-kvE8<S`l@rNE&!$I!po;!#0V@1A0d*QVE{N3(**t`m6||H+uTiklGlB z!zwWWO1Mq{kBPvg95%>{_-LZ1Jh z)&IGeiA$)L3n2R6eFkjeK8U9FSPcDp$;hXCL7Af8gLpPajo_k+eE7!@|BJJ4h|Vlp zw~cMvwry5y+qP}nHY=&v&L7)ODt5(oZq6C6^TzGn)@ttESYz*Rep6a^Q!M;%19}wz z3t2H)*T%T~H@GShW~(?45i9IDPie6B3*Rh4(XZ3D{Pk%V40|W4{a0vCZIGQ$mC4N2 z6^cyCJ8cOBJ&4-boh>h)yl!JivC(B850u2-61nLBriCnBAK-oyI>wTf1^eMuOicH^ z6PKA}(MNX%Zi?{kOMlnabL+N0Mk)fXXO5fBnkLjT$`I1nWPBS6z-~U zw7uo5M1AZKHjJg*GdNxSy+jwJ#0k^_^PoD!N;C-c+N&wk5e<*Z3rJ%7^js z;ul5=mAzy8zcg}*#C`q2xMk@!LTewWFEJOis6V#Z8z^9_3s!1BwDU%w8+4%QsH$R0 zuvdMD-R&!Tdgo6#l`7;st<)aJS?X8jYIOdiHsEb2KUUJg$%(;tCEHt?=Xb(YNs*Iq zDynhVhJRjZxq^Q%J<@gUWvg=#sQYw8zDmM=6J+!vc?)z?X15P-aX)BQtd}BkY8gY=Y>mIFIc5*9f^#&{XpxJVI5^={)EaUNj zg%}|aTz`wpGNY_&lD*DIXLk_9K@o$zn*4?ELG!0ir|ZS==PgW`_`)mkP=Z*kSeZzC zH@8Nl22InEk*B&R11lw{`8QF$G*^N407z}#t#%=My~2q>d)Z1s!gAc$sm-@k(i;$d z@*w%gdc*y|F8*;Y0D#KF!%aR7N8l8zi3qEws1{uB_p-R-rU3u?8x+a{R5bDobS^u(3g?6Npi~N%tpCtA9RV;~nZEf4;`1+g z6Gvq6CoGC0-1^8|OG(oT=i^nP~d_J zTq+}^Y{l#Cr+z6z8)w-BW!$04;n;3*?1wEs^@YUX;G~(7vl!f{=tg825qv~X!<#nY zjrQ}zHsqs&>*+7m(mI@$UX6uuqLe|#|JVOn5xaUrQQ}hHRc+D!I}OQ%yoX=X!ap=! z5CVPQtL9Q`I)lymogQ-erp=UI$>DE^zX>YF6wI8mAz)5>Kby&g_&2N34b}KdJ=Z#1 z3PJJKJnU&oT7G$u+HtY5%Vb0G((T2Nmy}|5!{+k(@AJI%w(Fj%a&>)HT17C>k1Z=eogggN|{ohh#GC#1uqvC4N9o!%n$GXoM zyrvqP9JWEzv$z~O5BBhvq$}e=-h6)$QmAE2Fa%5X-6Yv-E)F`u0$5mr3FJIW(S(p><6=u~%hxtooX&6F8Zu2a#?}ehkAA+yx24$mi z!a~5pVZpPCWW^(c;7Xo<s=Kk(RwB|W3Wi_RiiE~hrHZ=e zv9X$z2X@nyN2|To!4{X{eQvMy^mm4&sF976C~Ucjnw654f|mYTZcP^-BTF8D_);evG}%@uZgy`ks<1NXQs-nNl`ZS3db+>somI0ltE>6zcerG`^+4?K#z?i^ ze7!);yh$f}{zLb~Z24s%Ni`GIQ12FH)L121@Gj@qy>0R3?3IV-s*h0l$SZ5Ds$p1U zc94;+#bSU$jfeNN*n!^vXDlo;AWc~rQBp>oybxc}U?@rVHrF#Wich7!Z$EgOdHS(J zM$N8EmHakZ|9A?Yr=6%m23Mh;avDnJ`d6u4jTiKin&6(h&H%x7&K7qtWn{TCZ#EDx zfI90X9=S0*;AEW2Wo{!C^S;%yj7@zh_8P+nvnGiAc|jb}ncV{rzo!a&!W+2XnEu=G z&4oLiWRXAdc0~U)-M_PkRjEMJt=umQI{VjhwCniRPylauMXa5=JuxU zE?54?+|bV!^jE&lBAN$n#)H~XyvBP)!&`Q*6~?)BisxxHqhG>s@NA`_x>}wVEJ;>B zzp1LvH&CAKD_^6ci)`~fhTtrpQ-#S%05y)UX}vCWH!Ecl0p}qak1cW;-*TN6^35-O zjcASB&LcLsvwIs0#Q8a-BHM2 z>Z_ZjRZ7(;f&TgF_tF$2Mrq-ls-MS_g);6w#HZZ`BFE6aZumUcD&VD)>Mola%ViqN zm@zY3lFdsgjzNS4NZ_lZ0Zo{l7Q3Y+1(RmrM~jQ!-;9)B&WAS^A@73WeJ3}V0&4RH zgoCg}62P*sT35}93u{X>}w zj-m^ZA7@JXs$oIT9YH237B5ChSZnXkfv;vY0fUJU?nvMxj%1uLW{dZSl<(cN@^Agj z;?fXtGr<(}q(doBmX(}maS@U8E9Kg=6=ObCsl%3^C!UPh;-(Ye@VOM%~WfL zVK7XqZX<-@)60y_f_ks~Lg7g}qXs=PhUYl4wO=2>bGzM03LX3Q2X>8fJp;ktvMyrO zVNcKR#U^qZ?`-UH@c^?rUtj$Yeh|`NkC!(2MI1@NNF<1AXBuk(AiQHj>PaZe>JH~F z*Ei-5S3I7N;?-r)nX;ej4#M_AqU&>ofZ>JH64tOrw5* z(LdQOT=++rVHcLXNWvD$&vNxP4_!6aPFkRZz_4)aM5=QKmveEQ3WcewdPtBtUZ8?g z7n%*63Ih?NpWC_sQ|79wE&7IrV1hkfL5c9M70GMR)- zH(2SRA}A@Ilu)8 zvOjuo$KH@^z&OHjw2+az2`fs{`7xxzlbSZ+pw{I~sBzGBkx;r!=ZNqRipDv(5A<2( z?0rWy7X(xGW}!lC0Ghhoy)}ohUAN34fI?9q)Y71dzc{Ym#Ura5>VUZyh=2Xcr^sDX zG~CryccebH>w;YEH4_ewoQ%BU4&`In$P+XHtPe>?zxdiP(Ifo(@_H{J4bsMB(nr9# zC|e+03g46&S(S<6H+M*!=~8x(7ITpPs$%36;hu)T`j5|L_xccraP*h7`)pd4aoM&J+z2E^H-GHv+hu%cgRO z6;kRsm`bKd{YZ3&h`E^fq_3#{lk+(h-;n|1TGdsa7SD+nxLp;YL#%@`4c5!rJDp2a zY6c&pI-?X0nI}41pMyOL5`8_-gb81tJH1RDz=BX8@4;^ZE+g)LzA#pG&+8>;=?4!4 z`rsr28a@&?PJ}JBeO&<`yHn)=@@Kr;QC7tK_;$|E{UT3=miPLF8%%@`aC~ZiNqv%+ z4Z1zcb-#0T_k5{Nx3|5~7v#GO;WH2{*HcI+rpG8WyBr-z zS|vx5A((c!4+{StiJ;rKN+YdKaBt`cn3+BSI|zTU+TkS?J)g1&@qw6IPU0|a_E(ZV zo~fbT+S=l+!}i= z-__k5CZUpSxW}&{Tc6RXdvsWW&8Gt(F>5@LZ)J`*lx^cByGd~rL===)=x)IlAuiyf z!eN15l(m>06V7#+7U0Xhxxb1yYpM4NsdGt<$(-Jdk~1$BoaqUQ2%?Ta*GuM$L@~KJtkKo(4 zVuNzkIalzYl{dtdHGC1j%x+?w9&}kJMmEuG-ja@P)WnhXB zl>*y{oDE>3+Yg7o`3o{LbiEv3$?SEh`DZ1!P$Fd25yoEF-eX1Ua%Bbo_}x|6=6QAt zS~z8)P%q}924FtG!^-C#b&);M)d=f|Q&5fwjHeqo6DuTDwHdrZ=0M(Q%rFiSzfzP5 z_u~6B74LZ)_Pmq@e)~x-+isLjmfp_L0Bd{9v9K|vnk^~Ax6xnFqVw-~D!%1UUd=2S37b9MN82N(A`>*ak=z-z+L*1rCdaAVuB# z;!ypK$91S_SwfJ=07#%0sLcqcRB;Zd zql@TXX%=hTecWHH955^B70JsohB3$7e?J{Dh4c1WVOip$;rob~yEr)KK98|z%jsCXo3)d>ZHd(OFc7^=iHpmQYf~dP}OHUMiA{g9@ zV0#`661nTp91eu#G$fK!VlD|@U%Q+eKlQ!#oQ0X&4&edM`%uIA$I!TiO}Exz8`3r! zjSFTZ{1*PL6$T(eUTM&4iKsPxz>IB7EnA|Fej%4S>Rw=?k30wB*r3@_XzBL`%M zB{&Ds2-n<>E*>Qv%6H&7ufKC%`@tS($~vW}ijxREGi$FFh0x@aI5He%!-9dNAHqp~8KE(QfWmucVlvJUX+jx;`6UX5V7rcdwXSLT+%^x8i;#|oD!_U;^0K#XgMU&v%XqgnQL`8W+d>?(suH5 z0cz|t%_a~akqVlK*YtMthH}8zOSkE~+3D8GtyInAWSr2WsMv9yx+<^QO4#T|j*(S) z3GM55ge@^OK8WUUPasH&g7Jh{bko*h{?pA7IlkwZ_5`N){i2OphS(KfM0pPGvyULVV9 z)!$GC7Yq{&i`V_Dz2Z=wqe%ckw*ci8mTAYVb!=xn!F#&<1?88^G>gRKNLC0!BbK=g zMY1_b?-`^D!LZt(C3I9|u-7=sX7)tSlkjSe`^% zY{U4$A3*#@4MqL{G20e>hDr44l4f*-46tdy2#~SkY$aEG9;Vkikh*=Rd+E$?`xe3B zTiKbb%MEW~CkaZqD|mP|vWb%b6Pka4_R_9x50`r5UJ)X9>>{xCCrlKGxzN1Napm{f zyd{!8XGqUCG@fj7#PI)N^An2((Pt^k;Z~X>T9&WmqnWTG`!l}0il79|>-#ldMwS~8 z3)lfGY2Hes$_Hv--8apKFF>qhLa}Th>`B*>92Td&NG($)w@f*%aYy1*kdooL&T}kH zavoUZrzbalnBd<|w`tTz_8SM8f)?mVb)CsSr*GcbO*|1Sz8xejb!8xsrib2!_hdkd zi%BEdYA^*j%dvtvllnwAsw;-a_*5&qa$KwW59{_TkjgAyH@_c|r18yvhtBZ%Pn$YI zUWNtA(ixkBFcBuGj*+Mas-GaS7g z9sb7Uk^N}!GpWid7j1+ysgK!A#0!21!ER$>-jU8^WMOB*M5)gk#1diyqNKVNYvlD3y-d6$ zsxe-FsHpVchv<8E1wszg$qGvCGA`4LI=-g50*f?7(w!1%EjT^y`Gs6YkS%c&q1pp( zYLmiFQ>$^GcpbEi?}ST)1~8G05_b+S&5D#xgPaoygnL(~VuhxGRb$JHqcAE93E&1sSDy*S-4mFc!{G3E+ZW|D^V-!( z`BRlw?Qie&EnxWrh3J~34=w61f%tF>crt17_^odqfPp4}h~SizJ#%1B^@<7;v5**I zUA)=G&mip#28QbAIdUh#{XV0?14_S^nK?JZ6?>6$B4JE!Dulj(F0-Vhf3N%-Icxu( znr_b1Qx?_6zX*OtO=lgCq+)Px5?15k2)y*`*BDdp1P#SJjELv4v-s8?a36s3^ftuf zk)EG(#czQ^w@QqYlAyK}fcdg`(%sz0h4rw`zuV=@1!P9sYrBCAugJA1p~53F9A{0{ zzokP*D_yJ~0vFX%-H7Oc=67sOeAt=X-x)J0mb?2Lr~`sT#!@~$mresaI8LqyqQGFW z?WI}U9CM^QB`nlzmy4A^E<$ixXsfy_-K;a#g0rl9B0KwQP(^fZYj(q4C65dy+5oxd z(yjNuiuUA7i)m1g1Je=9>RYns&>CDWsr_hpCcZ0W zzgQ2XOD|)^xDZf}bSYR*Kd3+KjD^@vm^M-=h^{F~e2u3ArUn;Fs&+?JaF>3=eHYr% zcGFugXel<)we2a>9S$7-1^ers2u>P`Zy7VJLKC~c=9h-G7$TXX)S+z!Cu(}7 zqWa=1w+!@h+QGXt#-)*`&XA4H2`Rq=p0rL5$G>qp=!eW6pXZY@&Vpz=-pKIIyN^Y$)y{JfP^oHgwK6E`iKLp^85Y4g(zjd*tIbLM zDPHO|o80g7{hn>!GwA&ujRxpKjLG=j^aHU#LrCoMS{-q`knRqdH$qvQvd&5x6$Vu{ zT6ux}t+T}z!ng#3l=*Xtz5bzY`Hkx(xH%LLdPkOMoh7S%S6LS*mN{B}CQawso}Og?&^!XWUrfAno=UL#oR zy&V`H8KzW6-M!C>`4x(wr?jO2P1>Mk#1kXxCc;}^Xfp>L&dV~K;g^ZR%*z`&&zOG} z^k;!C{UrN4pcia+oOy!;BmMUEl`_O)#R$ih;oi>d=;WAxJaz)A9yk+g1S2^@qH1D~ zHzPf7U1@?_8}zLP=;P>27xtz4{HOn>TKQA~_EfMIWRB`>kBA?!}V9=R|jy?Iy+ zBu5wYs>RQTbr`7Xb0K_VO{Mi%E%m&K zmEFwwwZwgW=!^=KKEJS=sE3|e*!(-e-_%>PR{l500hhu|HzzJqwK3KsH z=HK)s#TxuF8}*w5K+gzqi~?BuP#EcGCh7}{Ls3G!nF`~hfNU15K3R|}5}k&!3=fPz zheqa!QbUZwi0Pg!m#4!LoblX}t%sOgT63?^A>t(XZh*C%YomaVlMJU+`Cwg0s+EGO=XwkVl6 zP8$gI+R=?M9JKnkK(k%{9r4ktlH_zSNb!L_R8~9>WjttbK7e1M^;M)xwOGa-o>GhE zw1(b{4Sm#`TtM-_W!#33viaj>5TmXa8QkkN?(=}+$hiMuVyj8w=|HAB z*oMHe_!KT;GcJ+GIIzsjKpsxq=QguP&1z}aWOplmT=Lz|zW$h%5OF4aQ!q%o4ZH&U zq90r~$JROUJrr23;@w_ku57InBR$}X?%u3>EpH4~I4Eh(m&j+-ebBUHI>*@~2iW6x z!1)8O?SVZZnJsQ>UV3{-I+xw$IPeuX72neucX#i_pKX66rt+|mU^KYMwr~TQvAHbjRZU$w9hh zrLY~l(&frYGJ8kb#xUg}oc4b^{VbZ0Lmyq13p_Q=3hgX@VToT zcL!2s4=|+hE3A;ytI&p`KleIl>AlGu` zaCc1K>#G7kHZ*G^Z|q*8pbju2)B}mr{&&a17Hx$#7~p|A+?+!W={XvRF-d1XWYh&N zMbFvS#1qc|d?s)M&HC;-4HZpk;;3@*fu;-%l5oP>&QK#d6l?ql!lxe0h><@G*UYKe zt>eWY&l1_3X!_kR?v*!5s9oP;h&Vr%43W+?0m|bfR{@JlMcN2f9e?@KhkN7&h;t#dqGOalJHo5KF2= z?vr0o%p*@V4j-H61-vJmNt#H$Y;tcrrNOz`3WShdc9);%s@wYrjvf1kb@N}7=H=~9 zyxl#TP!$5(E#ZvFE|LpLoX7XVuS>wTKtJL&lM_NASV}liUF_E}V7ms)^E%VV02&?S z3vRp1AutD?_XWrI&<$Q70z#n6z_9bLX3u2IKggg_TtsL~-}F^>0UKWdPv4bWFz$X) zWnz&4TT+*93%D$GT&_?c=ZOBRnsME3?J`4;9N(o&G~WZi$EjxlI?rlF2Z{*Y7|$@) z=E$~xiTd?P8tfN#s81YeGPOqa1JpPWn{K}b4f7~AX8FWQ2@wfs7{X z_XfK%sA|07oLx3E{* z&}9#=2CZ3nPTC0B?B`I*~E-uQU$g{oejNMD|iFBZ|Bwq##yeE-i;QX;F3>i+j# zSK0okuQyZz%S~h1HQepqzcD-v!8!U58jxnZ$?l#Mv>W*->8N<52N4fTPjd1PN-vV+ zR2I>Nvm^eB>Dr_w+Ab#jSL#96U^~U9IkigBr40tq1{Z}ZHXF}H3)6;om0-F4kwCa9 zbk(R)TyIU`d^;hv7YyAw{^)wbp`$=%{SVYZ8{mP647n*>nryT&51zjIRYa$S8 z8TX71r-#?^Kx%zr1byp2AooBX=fp+&iPA{YBkhuK$G`anS(!G=v8V#kDy%|_R3n5y z(_BaF0+h%-H5Ut^2w#XJ)b*g^1G8VXLLIV5EeelfgmM+F{kN%|(MQy#Q6RdeI+MyDk0jSPgE`zq! z32rUtpF0p0o}CA?ENZV~yfr_yibYZExY0#KXqg}Sx?PbS>J__EMLsemRI0_W76WuG z)J~ zRa7I8y+qYc_G-DCiG;tM6b`n95AvTVj)2(N7$eL}4P<_Omc#gzI>Bs!tZ|foH{j2& zMNo?{tg&ZZKeOzv%09XQ9|>dGgPJGwy3gvFVb)v^^#L3oqHG*j>qU3GRSq)a|LE9S zb8442K>7&3J)Y;LnHxJ4iZx9^JkI?!Eb1zbdy1JHmH_SJz9aj#p8R_PJZx%_5f$np zD^d`ECJV7R#vDl0OV;?QRs^a3%P8SU)torw6%j1qMhqjyVhoJw-ZWbIAXSidJH2Cj zD>ks>>>~oXKIwyw+#r^)1LJ*v?MSrO_C*MWFH;qs#ey^!7%LGp-cCiHh?Y z^XpKXX(>DoBB%JQv4lJf*N~76FdI!VfRdc0^RjF&3ra4q_XG6pCRdgRl9e5=v zBCn)hmv!bWn0W`4e-6s*>-+h#UBZU=<%DY#q0u{K@ajBIO8_e}`$(AN0Comb(V-8r zQ;*!8A<*db8;KZ2FlGB^upmoI9EH$7MR&>rK}9dFb=C=o-eoTWwwoA`*z$a-B+#Cg z&j2q^R$_l)tnLm7s@txhsj3Ev=(im~=VZ=*E!5TCw z&Ej3Vzr$*F^LK$Q)B3Nf3ot~(Il5I9D;~(>+k|xzzhrj4KaM6d`xF)|`&1CSm=I7U z!`p2IXB2;_ua*F!NzF*7GtrdQ2U%LJ6v-A#%e`D!s@j9r?IV>J1tXPtSNtilYW5vo z1nG?#68dr7Ibz!uMK&KThm46G7*qP2d4~HMGsObDbjpqCr>DHzqC1=m>t&5$PP+cac(JwTBE2Dz-2_2_aUR%DK~MWkS#y3m;hQfH zXwP5yJ=m26+h3UmSR}LoEVSW*tpTmF{O; z{KF*CpJchwqIBBO;`gcfz#9NCaUndfnJ_*`(j?N7cpM#(qgH}U=}~Le?&CUPO2fHD zZKN|8Si_glE)F2O$gv=BHYizqU!P-U!VZSrJB@32CPEK$w)&BDJ8WyAAeEW ztV;M6%jNfGtt<4h#ZnbL2ij-egCer)|A{k~Z*RC{TPX;HtOM$X+CgEcOri4xAi~~& zmpad9aUM6b7HrxG1saJdczcaU9_TK2s1cDCvpvWd4tke8Z}Dt&v!rT|4+hEwlQH`T zrrn(N`w>n7&il{eDsu;^g=ToZ+K0R7vcgjt*wEQj(wN283b5Vt4}WL{o*Hhl`m*cc`S z0yiE61nz*)XwkQ} z-z^pac2-H`x^SAU;v};zru%|4Fb42NJjfW3MdR~69nK5C($`Sr4{m> z5;Uve4wINZeQoxY`Sjs>h_r3++q3!_WQn=~qMKp~*ZGZXML+qf-FxZKV2+?L@O{Vm zXFHgB3=4QUNAg79T)~{T7|6@3@ncf*{QD6mUW);abxBmksB;cdxY8e30v{L>dzu`N ziSk@jDS8WY2+?BEwRDQ*#oD=HLt$-uCp|b8u@j<7esmB2?xjcbT@Ynpv4}f8_sPU; zv0Nv5s);gR3;2DxfLVF*68fL~Go3C);nH+_KjFJicQ%8@^>93R4$aJ;tIPz`0>G@* zU{a|TqxRs6NbTXX&|!Ti$`!vtnP4Isw}es&g-)9#@tu009^%ya6J#K{j(^Cv#+<(D zB=rL%Y{*9#tRn};Gx%&8a?dJLBp@v^`lq+UY7*kbg`^BVu(s7IZ!qJaGA# z0*pTV@X;7Bo5;kjhYc~4oi=-cW~?=RRk+2(CFtazvLap4)bL8s@JfEo??tLkn&^DU zCD@PE-5a~@j5|*j(D^t$8ZBLt@|3-T;ar5uECBI1py@8m*(7Y%7K|IY8m0o&SW-1y z^b_ffUdRG?OkBJV+xKtw+Z6W?$4@(4P?MCfKIA+MvgbUnBmEi_U4S7`9M)hL;O-=3 zE&`jIN)As~c8|{u_kys$Xud@kr-4(4fL+(z_Jd__65p2C+YTM%UOyna8;HB)xVT&*Z02_4V5;)=0#ZFe3?akQV(g&#{zeR_sFLlO& z3Aj=Pe&T$GG04Dl>)SF#1fcEC`Tb(vW0?LejmlhHdK0-y`04hdvm7e9b*E4YMs4cw z3RxoL%Ej4x?-BMwf54B08pyRwcum4iG@^P;@iUN5^3My%e|Gpq4Yuw={ECW`^3)ab7_d*MV8{i za8z=W?kIq2&{X9OxF2@29(HgI%6r6I^SWrL*a66PJ9j`LvZ`RL|6V9lwye<9rmWf2 z?v;)M(*CR5kS8IJy&Pe#<9{=b3?M8Z_|=oQF<1S5c@O!aWE4CB@z?qoZ~EqU=cN8w z4FZR5)k}`Mc6HrS3{Y$Rajfm3TeaBJCsZF%Y`M*x!rj3_VM+n!k={`&;_~>FdXRU+ z2DsX28$q4N@9F-|6p5pOJw(OD3ed~WgH9$n-n*g|QpJC8N0ztRBPYBlb(ihD9aziL zZRu`Q6DV$Lle;)>9GFe>RL!y1>@e`qVXj0!Q$7Pw8H@{U_g360=`#(c5b{ASb@fC4 zFmFs$S>Rg`m!OAIBgf&FB{yzn?&ZptCYv9vCgFRZL=C_~Mn4gP6kZ}M02G|`66WWM z^5_e+UZMtae>aTMSSZlnP)1C+h~9$b zm4J|_<9*TaNhb!n3)7Tmse+jPM0Zl-%)G2aN$*Dv$=~4N!-nprkw%7(eW>Oeq$)S` z-$0HZ*f@%^jn?HHw3U?0TF z`e8Qy-B|O4D>Kz3Xh1-QbbRQ5N3oM=eu-1=8VhCE#9kva=W42GV-(F&O3S=qh0XgSbknzAw9Cl-ILyo=m-j?-z$2zPL^ zp~4Cjt}PN473K7{oct)9|2HIvI4S_EuiF}0TZyw6F;5PrS(&&5=(=FKxSqP zP$!>ttIt3cc%vo@a|dAWK7onFKKd{`ph#&os67UbxRWsk8E4SjWKCO_GR_KT5rJT_ zS&$Oa^ThBu6_VHWy8cCioKn@%71-H((8gqp){bkuRsU~y1{JNb3Pw)A7R{Xbcn&Y* zrnbV<(us*fCT3f@p7pyf>@|e!yjJK#A))_-O5~-7J0aCE-Br%C8&;SVORARGD zBXiz&=4yJgHFP6UfMb+5NUZkkiSCaLv_uhiv8cVM~@}d_h z)kTBIo1Xybv+GAt&Fm?{{?ZhD7D>ZWTCRlEqgI}qPa>t^yzm~61lwBeivneMyFsLP z)QI6{f)grG-hitC4ti7_mgN2Ld1jf&BjQw^_jXW08DrZQKWM*bQK@JKn zcY0uKC>^KZ_t+SgM99H(>pKVoNDC<}64m=fQU9a65s)}m%6v?t{g{a2RH_9b+8=Pj zwH0>Tmu}wQqCuVu@L^)0p^-HZ5a1ypxDuycQ|y@uoLI)s#nO_Hfp|F&>g@5Bc-RXJ zWb9AkyopuY5Hp%JG^!IwWhi<_PfspMY9as10d7sbjSxEUtvI%iJhdy3xEp)^#qwJB z20z%msa5Ci?R=|HfWVJ7jiPyW=4pW1ed#xu#^DbYK`G1!n_<4cRFKYGZ*BSy=4kB) ziYpRD4ex%#kcg4NZ?_EoOt(3RDuO}V1F@6`a126@98EgCg}t#WFhzx+6E#)Ox4y%< zchPkG=i4-VqWP6i-{R7bShyKhtiuBUyMH4HNK)z7TvTob7d-tUid#0tCVK2p%Ew*k zL(qY6{<_SwC=1yQR^%*`ypR6^`zs3u>x!gA7u5@`By-j#s8Y>ZF=oTvc!(E((O{SB z`8C(BaHZ#%YK?RUUm7u5fev_f5|0caD*PSS4UaUO-)lUI>q zC6F1=)<_v|E9kuGhvrQ)(rt*}L(~gZ@`G7>F^S;bm!hgiOAm2C$hZnsCXo}ktzNvN z&nFwjp)GHvkTp-thm62zpl|{Q0QKtRMs$q$^b_zD3~AtRr!eFo@1w&uMTfHYRhoCg zNAZ_0-I;uvdBJgX>6kZ1ztX@b5TQj^yygld(Bh~(9LwmM^oJvxRvRQ#y22Vm_{Q~0 zF3j&?+0Lcc=PIj}JcKH%O(2{DJ%pLZz?y}Qx`3|V7~&}_b* z19)j#|}OEL|;tEJKKa;3aY5F%axB9h+53 zTFZoWAZkDp$Sgy*&0mB_TO}^SL>D7_C?ji1kemY}eygrjD$%szWAWa*@_B3Gh>ws}s2v8qJ*-uWi{36LABupcEq6|L3Mw6_dY^bi7Gl>;r151(VwJWUA)vNNqiwtg=c0jx4qCtBeTHwE1#4XVp^QAtcDs24HWKcdKInVuy6a4R_b=G4$ zi`7Ng-y^ETf3)BYs!wpLO9C*Y?h0Tc^m)3%J8jVMzDm{6RM5GSUOT+*)*&3AD z-*c7y19wtm@~1j?QwETV?>Jp?ZuMj=;~ezr$ekasxB?_zzqgar>ZM09ChyzocU98l zIKBOyBkZfVLwi?zxULoi6Tpj3-qI%P%E*DIA@#=^QLJG5)DEUnNi#-^VVC$s+y~x{ zF$}v!`J#CQCpw*^?D}S~9%mfzuzHOFD%3!ue6FB<4@Z)rHOL2WgV5z?w@Q2(HLk7?^7G@>=T9cizB>(Cw%~bTej=FqEul z72N32(fc+xGgb2XNp-g$5jL;HfPLto-r{eKnhmPgd%uPiGB03jkLYqn4t!|=jGhyU za}+uQDZ4`J;0VHYpuMPJd=zHJUNIlfB)K94qTGPe#$z)cesL)-l8ho+8x;ux_R8jl z$!Ta^$OumMc#{WI$0fexs{&QehNVeMR?_*_Z1M*5zQ%jWg*~?Y!x+A}k|01%Qq{4Q zY6I{xU$$%C^i&YJ?3^vjQ<>QTkpTvR==#0VijR`lTXVSoGk*M2p$T(h%$B@JpeGUS zTzYL;2{q@YM6`xdiBc1GR_SQo9nYVDUUJ_05>j220_6mJMyNTuIdkcKr2?m*N#=NV z^@c#jy)tmlhT9~lp|>`ZznzddUknkQbJqq;V}hGYm`3nOQ&71w#v4{+ZqXDuh}}$K zuhBY%FP$}o;H0>p6HuO;QhZMI2ilorl_k;QzT;@&1cN@YkFafYB)%c6Z6?}(9b)$^ z5L?)V+J_#% za)6#@+YSk~CX^0eHuS%r0>hio zB?Y|4eF?lFd=NsinpYxrccf+w@${V)AV_5R)U7yNfEF%H9Y>O!ISC`<66j|l-jqKkAWu+++RRf8y1)v;n&7_8PX zX)#MQ&MFh;(C1bWxVx;;s~;ZkDLp_pfp)?sS5Z}(4Uy0#5f+ky z6a<_1p|X+2hfxzd5tI*`1S)F}UWffARzH&$Ks+-E$%FWJms|uMNE!CRn~9hWsmEeY z`5dH=NCt=o()GLZcsaaYq>PZ*2tvAdXF*8hT)gNfE*#263cex~DQ&7xfoAd=vU7!Z zeoQaj}S$WlCDcT3?xdJMkc15pVuSu%CS0RwfpT%ePFxTDIij`&>y#LpK+1r-k` z&@|v-3UU(yJRJ*#9F#=EI^W7f&*XeJ`TQ-}?$LikVa@_HJ@t_`@c z;hI_c;esW4A&3$O;VMp|H>B6pkbT^J3JRn7{|F2R=%f!;_b(Njb%4hzFzhAMxB^I$ZCMq3V~k?Z+WyS+u0CD+++&k8oaB8Ct(EALehbDRqTbNj{9 zYUvcZ@$c}_nBtzaq#SM!Ddhwj!~~8h#)d4pdgJA`Q}}er4G2y=S+0f88p0NIF*#J^Z$7 zOWg=5s<3&htJ$@VNS{re4d|y&=ykgn<}hNmh=fR7s`V`JqIo@R;9O7Mo<)^27U_|S z)a9C3Ygl8a{w5LCEtfr#+P5xQVyZmz;v+v`hV$$?R^j$UKuZS1Dgu=)ak69!q*h)> z!K(aI*6Fk|^!oybZUZki@&|V!t%m1#RQ zaI|`|4{^3OPyxOM%agV;xplYNyJFk9x!-NQ?rWdjJdM5P9&1c`kD(=Ts*E2sHsx11>~e=? zEoSP5W~AsDYX_0mD68*7Mkvd^Yva!iFSW8B+?5M)-RvA#QG^=)SgY4EZMzQJYKlDGZ}J^zw)_%(D%c{^Anc(T<=7=O%#+mDMe zu!(=-2Wu8M%B4?_>RBxUfz#?DNZdrZwLd>gIXNte>Kp|I)|+)Vnxi4wEPwaoeWQ&o z?e=rOZ7q>daZ%t2T4RHXt2F*+w2>l267tR@*KjZ^2q}F~nkQc0n@l|tmSlUOqf)5Z z&uptZ)#X$!-gFc?nlmGMAZ#?%xh|U*Bw$W(Gwj_v51Ao|7$!IaI_uXFL*mJsZf_^; zM=nZ~{ufk7%Gde!qGw@0tc?z9X7zp+F`H4#$oI&;#PTt?$;f>K!GW2Rx-44l*LA33 z`k9L_v4b1vDB_blNjV(wqiAFC+l^l7PmvA-XNr?F&vR#6{V7F)ZbZBpKSt9>@#)he zk`A;1sU*io@j{$vF)GP?!obBcqXS7?bQz&L4mfi$}gM z3s!>{@ojdkG|u|QjcdvR<1^MmIR+5)y(^csVH1Py>vn>2WCnY}8Ls8qsI8v`KEbK3 z=VsPLoUM0DSxxIUYK=SgJrI3`CWg( zVmqk!G0ZuDO3?B|St&c{h;h;2tfv0B6DLT>!`B1%N0*lLUhCK1Q^Cvr-NViXJ=qxR z>Z@Dy381m)f&vX}nNCJ~M4?lU*BWH&I|kOx1GrVMKxJ341}K(fsbP}9A#|1G(&b}q z;_0DrZJ8^Eyz;0Jc)`UeI?uhxXhT?~*o!apU2fSbAydnYz(5NA$NO$cQsWi(`UbF{-D03=R0w;m@k%7Hb`u0NT5#0~g; zflK}zAVRU&5I;Ge?d#BIXFkysOXtyyz%g9XM?@B^xJ#Iq9iH!Zj8TZimm0vaDh*V% zNJ{7S!Nnr{d}%(uEY_RMgsejCDvT~zsBy3{n(qvw!&TZ}$2^PjCk6Ls8D?{)t<70@ zu0sOC6rhpQUKcahwr@gJ>W;BTS44vnnTKi=Awc&_w`O&%!OmB=Qawg9_9TgERO{ut|U(X=W}dA1Mei-%_>y_SX9C>298D|A8jVt-J6Atrnwr;&osbP z*K82cVi3|)xaKs_&O0$pX;VH`V@euD%3oL#04krOt8EGB8exXPZe}UFT2^|4_-bO!8+os7^!KlwvGz2z*>xpR7T9o}^T27zJ)<&Kx^TrL zhEH^TvH06gq_5856?Ra)#pJ5tuGcPe!1LYIvnLsk0K*k8dfk&f(6C;!FLHAhNiH71 z<#4DORj&h5q&zG=&vl3`vUd=g@RbJU!5uCNznt%(zUD=aG((W+GJ~gtLvApZEBu3i zE-ikYs|a@BK$&Fn81m>`H8ly1md8_3zxDQIT~R8@4qT}muo_y0sO|Z=DXD{v4X70V)17+i8v*AX7 ziiwPeNF87pXuFjXqv}Jtm{~6xw;>-#BM4ZXB`(N2n3QL&_a&cpT4_6+q1rX)##k$0M3U$q(d~E!HOwKc zYj7-ZpnOTzk!GponDRElHf%ok$tpDw2!kS~ol%2QQUI8TSOWYXM=Me(U)y5RcpT|m zs_}AiY;}cF;B9gf>Yex%46LLoN%~GvBA&UIySDv3W7p+wF@kJQGubyUenkN`;;%$h z@s2SJ&=9Sqf+i8`;fhQThhZEA|ja*rzS2Y29Cg+kN@dex+TJuFXEuHL&OKwV!{=8=@b)ZQj(emP9-vIUml}^`c%R!W zI0fae7gP8tM&YypT(<7zGC?WJw4l?UurY=fH^y!~piqxsN-Rlhmi7}ioe z9Hd@csTP8WfXiCbf0Y8G7+tiTFg>o0k|2U!fuMN}r2Y0JH?ucWKy zwfgY!0Fl3|YKy)KFEm$OaD2cG3dzSqEYgx|X zFa5K!@uGOT2OtC>a(OQyBXM1#^J%NIbS`wVOv3iha6rP>_1;&0VqZbg17qNRtJEaX zI>0Hh{mm*E!?_UQJ^P9x7uK`4zshUWc2RF0y*{wDn7G7Hi2A&k0VLLTj+p3-kqcN) zFhuB-idOG%yj>qj!G=D>`*zxRv)v>*Gytw5g!@A;1vCl5!iW#3pXFOZBE~mj8dP+4r$CgCi4}C zk+5W!yrB-iV4IA&^WtOqRmR}fMYD=f@NY&~CT!qgWu4O2(thIch%tM^rph#;KBTg` zNH+JlY)1kQvEzTEnAE$%Cglc}GA0%(tGAjkw zD`~jg)QLcF-1vcRN7Bg<8o}XU*B=EBYSSV$@-u4fxZS4E!e?B8Sg;*YS~QNA6p+an z=q7C=|6O-zQ`<@Fpy*(YdR_j6NbceGt(6!97J15GyxlAKS-tyr9frTBWNl0}+`6ZJ z%VfsQ6)lb}vOj&zECJ&*nLVj+=MBmMB!Pn^ip2ZFND7HBcH-1{zV-I<@bXS9|?RL!DNm~`f(Qo7W8tGyuigA^y6)&zVwe1%81pI)a*z)V=p{*cLrR7o!4EG z^NBdGVQmy?dyV}rAJ^@)a?R-+t!8w9{@*<4IL;8)ltNog+nQFxZsS-bUJ6?8adGUZx15tW%_vrOeB5Fp`32Pn2c{48nUs)anK2C zmA2BgV(OIE?ou3;*E$F5QWqa-7KP%X{5!)<_LR&eP=)0|1O{PDTfV*lXf3Z?4nrqI zAxy-|kC`9PPp#&T*{Kr1XPZ7-J#M;$iY{e5vfesajMsoD+l5gdm%i0`2PKWbs#Fsv1HFuKtN`;U_c^3KtNXJ1`N*nc1(=)j0_IW|9>3_ z?pX5CJIFhs!-StI$ZAr@Wyw{uiLv%Ncq4s9Fb+B8W+Ip@^)PeF`SITPH;{Mkh5 zR=uaS%z)wZ(Do27cCM6Y_@8oE#vZ>9*n4UA>G09XR`PTiiZK}gtCeJ@s8}ZF@w;3m zr~Up`Pe;#E^A)$x?A>Ngb*K9G-1tt`_x1PXR`Cjvuliw+>m`w0^YS{+1zY#=y5{t2 zMODZ(__l}IwZPWB$=cmnOBPY*T=RhQ%uYY1s@L76XZH7A$MKD8<(8w;z_m@h zY9Z-|cK31DY?k!<8Zl?7sCl|9y2~@hh1dBPhXZ0!_QySrIrYIP z#7;j}NNi{hLVMu$O+4EPB7(kG=uL!IGslU>Az{~^@SSN3m~iJR#hGF+)PW#AqRZH~ zE?i7iA8`6Kz5D%MzqrQ&G*7purzy`f>6`JO}d zYD|r(lxx=hCxq8i?Q7xC_wFU=u*ymie&=(!UA4{&z^Sc<4H9?rho9?A*#Q>Mk9t6! z>~b<)lc$hH^YPsBTW0w2`P+^CywXP$>InVy+orJh7Vjvn&$^bFoor+0#EQ$NG;Myj zWl%r|j&L9mLVQpnd%4%j<8X_>4B-+6c%~$fU?pqMuv&N-yEmy1`c;;&=Pnn6irD-G zjLr^IXFeoEp4RF$jQ5)A)koLwU&Hu~9bUNy2w?n->m`PFAKm@rd=GP$1&KKBi3aS$ z#^mp83;#F;j!TEN^}0>NC0GjnMQgO|j$@acUa$yH8v6j{GGED-PHjr}aS-PEB`k5> zRujUhZeh)D(jEsZj)ry$qD9J#d+^aW;!;V>-jtJm$Gf$HG6Bq;WAwIvHrzfmDvK}A zg^#Frt)UYBp%}!E-HXWiNh77vxvPA4!34^E-t+d6ors_3!p{oc1Sm7RSQ=7zLE9?r zugL&TY$x00a-{P)J6*a(COzidV^Dz*7)liQsLDv8gr;s&XPUo2A^HaBeA!BTP^VumC9rW4R0p2FV!&mtZpgEIUjAmbJ; z)1M&?(O*^ruFHa-q^0^c=#$_7PNc!YZBXxe#888r6$KlEbl{e{Y$`K z$HajrNej>SFq*cv4vZNW7F!arOX}a_YyZIU2^S*A2{#h?B6A3Fo?t2^qP5iHve(X^t;p1#Uc=`vGuDJh7qnC@PBi{ZxmOIGbe^y=ML&P8!+Mi?2_L;fMg{>> zpre>vIicRmr`>ZsL+isNKsvpMZ&vZv@nf_}_>)!QH_{jYL|pqa^)(riJy2}p@oWIe zeVzvX%@XswjNU#6VvaQNlsttbZL0CMA|F~AL;4dkdiGw_mw^S*C)(j9NTLFEQEah5 z{^*0rc}D=zWo`=pE99h?25vLkkJFE-O@hsQ+uqy}(U?RH@yCrKk zn}RK94OjeWX)bha50<_)DS6-+NbSog*a+)^U-m}fn9Sao;f=!;i%D|>5O#S1J9q6>ZH zxZK^AElf3IHcdQVhh8@$60FOm%V&$@bM_=x^EA{h?I}^N8i{GYwat(-+@gZQlLWs8 zt^Gm+kAqSZcgm=k#^#+~Xbb9N*Rg{)@xu_@Z9F0Gz%nU}5Uk!2(x*CN(B1HR1X=qx z)|&^GH7d4XTq`}R>`)hgd~S=I2#lj7S-ghs=~kV$o-V~!EmjY8@qIU7GkYCIXT}O$ zKt}SVK<}I~>NsbjnPHrLjgCAU3QT<3pqvWF&|s@E;MX3}T`p2{G%1&$3V@VpdOu2T z(5BSqCOu!jnirtBL~`g&)IlZp4A2w61XH496SXQc*gnv@futT2K4PluslY3!mvOtG ze}A)Sv=55#`fEj;<&Ht|ak}cHm2-l!zoYHGlaSYz%myX)>6$fHT~U=w!R1U5I8vk^ zX1=$Q=QxzL6rlB5sI^v6+Cgj$6x8v!fBlk*V}Ai6*l6(yPUZ0oQgT#I+EF!reD;vU@VkYc6)D|Bn^mgfl+W2z0cil2HZ=`*YW^SS-q z^5LAnZDJCwg#6y0-?z?><%FOyV%nCxa+KYSaz_MN{bu5%&|>&(s%ZhNbkB)RB4VZi1o3%e^t4AP$%;4AEi?`TT)<7NhBETn=v`k z`X@svRjs~xMnxdCq{=jIrw&1lGOb@3exS1ByzBK-r(GICBm}F2`c3B4tKFsk%j_-} z>pf!o%LU}*4ggiEnP_E2`m_E6tdq#pE!anTt!vnF$+9pgPfOR0erKcVI4obv@u*Nz zP!dPwl(6b#@)7ZrP4ibqns+bn&YZko&g%?W`qDc~J$$yOkQ^|LOewVhik)eX?APt1 zgk(ER-a_Q3BLK4Pd;u#SYY%73yNL00lp|eBCZ-*NB)URj=+k=lP?W*^8XCn0+Ceg!*?e5Q7%l6+gpDRdi?rp)LPD^s zs$QUq>R}U2f?APa)$tHn2u@Q_3IL0@oyYW!A;q!G=ec`Z4PbYtj5v!K-Af#m+wc`u=kmvUxKO)C~1P%S*-Vf^b({&Ez5GfAepc$ z#1H}X81G{r6H_2TwFJqZ8}hoQEnskhA+3Fl5Yq}~vrGMC@_X*h2$orSh8%22#Jw9M zlC_=#I@nv-#~Uas$QT?RGvN=|C5Z^|DOSB`;CA^!ISp+Z3b@iQ(Sq}p5zt?ZL9zN4 zp@=)p0EQn0ifv6(Rz{P@+NBlOi^10f{HKU2Eq|Ip>qBE)+$u@kC6x1W*->iB`DUQI z&~Nifhkn7B$lt$mchLl2h#q(tDFKmD9mXx1-}_)`L@=i6mDW3?pa?%W!(y`+Z>{-O z(+0jN@LFbp3bn!3AC8Y(%_V5{qd&ERz9KV{IlcI+rt}X?SyJWd21hCkSyTwgpPQW{ zn^4!^?>EvCF%WXEU>mZ(toG)FwlOG5Cu3U>)*WzVm6) z5{in3C+&xN4muG8YT9RJ+JeDL+XFe2rnEfGh%~ewS++u<@PYftl44?m*Dw=^mrw6G z7U+#z_Z--DQ=Ee6l7(<*Gq9CU(oKMetI-hq?E8D=AKd^K>)dap-jHSdVr0u(DKN;^mMZN6hI zz2oP9I-(sn{%*r1j)%;fuc5JI0vrF^gR~f&$2QBf8e)reR19-R)0cvzXvWFV`^*cZ0Pa>zWH&dKdzff9 zkO2K7GWMjHu-a?5KwcLs^8w?rlAj6+s#lKKr{6Be{!vo_3C4PoA*g zln{Xs_7a{@o>rgJ#x2Svdr(SEpRan)%ZepWu>0EDO2pR`k;PluIO^-7p>({##M;ju z4eobWZ@FA6C&pPQ==TVBQ@ZFEe8uh!-t#+u@U5DpVVj(lD940GT(a2}vPB=w!?E&n+G@aEP{;>FB$Y&b`RkiwVo~HtbO#oe78PXp%%%)L5euUxum7$Q1tfupr)i z0Bx&55k4mDGw(ovGj>e+>X(=R0WrE((EMyb6Ks`mEoW?zd|1NGvnY=fJFlDSx~a=qu`;_w18D_xliKr!|}Sgo^WOEZK8d&&;m<{J~M4ZE>XOwZQ#|D`&MKM z#p)>jc&919M79m~K&{&l(x^)Qq(8tc*LcKuc`S0aVI86CqyUxE2PniW)GbkbqD3!n zXMNpsC!^&N{S-0ND67U`4Mx&01+i5)v^lL|)pQb?_6g#gr6ddER?7G~H zrOt>$BspEIbCSec@@pYKwOZp@&M>T6LxLr)!LLU{P=h*2 z50E|dKF4eLm$lmWiq(tf(0Wss6V@wh^wWGO*Qb;JHksNNHj``0SlWihq^7FR2ypa> zhx_Sv&FEZBZcfMhQ@!s1=+uF~Tdd2F-C}bOn)ov%Sp!$nfMgJo&W_rVwja7)#s%-l zgnKg+^Mo|x9<2$JGdQ%faP{PWxg(;d#jBmO15G$3YIlizzOt&}Pz zBGsWV$vu{LTuqs$`U5P`?R0BR0&n|D-g^xtqLhi|V<^0*8{h40H?qtWB=8QhgM^P8 z!YuoxVEvYA2;3VrF7SAg->S(xyP=8?M7Cf<5XXg*Y zf;ED9(=jz%Xnz5nXd_H`M69kqDe}swPncV;6kFk`f?q-4;kOakkUFn5>)fzNfHrr_ zazO4pkx{OJ6HAJ#<5!P1c(zn$M@{@736Q$eVV(O=$7Y zYTQ~*+2a4PZvL&P?Y8!ama8`#O7m-~#}3)(+c=)Kjth1-t=hh6o*shnKmbIaKkpFz zh67;KdPK$4fyEIgzn6DZ{$XZyk0S9=b23G7{dt5Y=h|mIN=jZVdQtIT^oo*jck9?| zdyrElCwf)=qBc3J~ zIa83`5sAtfoytY&;Wum?#>|kG86|lfcQsG^@*GRzTj|oX=xO^D;~gE%qUIa^bh+G{ zR(mOk5{Mx#(vrub3^EeDA%2B6Y0rloGPzNffb!Y3aaT9OY6&=>|sF)c3~B69GKk;U((e(#nv*6J!bj)!e!6~%e3%S z5P2fBaIt8a)aqr_3@~7%qoZ_MD=mYAi3km@9I8Ra%PJ;Xq10fev{9tkeY~72eYv*W z0wEya(Xeskz1(Xr1Fknoey@;jJP>gG0_AI<*+#A)(vYX!eL|aPT0mv)f2ByN@#tcU~}eFe^0;OhxZ5#HZa`@h$}#Kk*u0( zO-s>ei_sR*`&g+Vv<2d2R(MD%k`PMZ=@l{pWH1MuGo%m_%R&r%=aUWvWed z>fo+bmQ!VeKq{kDit+`EkUeaclE=Otkb=yG@23=IVCl!qKsQC&A@Z5G4t#;Qm4zF) zSqb_8=U`3Z!0A70Kj~(qw8`M0LoRCPB{flMAapQJfz3N3eGJj{>m}}LVs3}yZhL0$ z!2W3xqQ{ta6aCpM62PG4N=T;IG_aG6tLbYp?r)NMeJ0iNL?))(3Q-|wu)4()CL)hG z!V*G0w1gT$iXcWqrDuLHLl=v6`@Z{$t=x|S5q(rhzh`D#G?W&sV4S!NBY+&%(SD1W zywQcdT!|X|-GL8^=)bXd0_CK8*fdPtK+GBMjnVZYL(yk2$FmtPpR=@$hdSsMoM5=| z=fhLf^^B(3`GFJL$A*9gAlc3-ZMzs^f+a2}ZH@n}*qLtZG3_>&U&Vmy2Hdq=EFAcvBgvoeYSu!j?*W|om`4TjE-5t3}y^9j+8`Px*)DV!D@1nvO}dI!Wu@v z_!GD0L)#$t@d&$x+`#Q&_p=0X#OKOt-7L;=I6PY+$jc?Y@xkUFWupT>lpUY7sUqb@ zLwV{Jpd4c+!O<^9A*sva2_z4gChs(3!2(#|tFTX)XPrIrDwGi1n_AA`r6&`~P4IG< zEA`a|YD4tl`!Z#SOgGKoATjD`8dgWAWm@z_>REVArC^ha8+*&bDE=_6W`Uz0;|nok znKRDo6{`E~W&+#@*W%_T$IQOssfFc2GU2$e9s0Sd7`f6{SIdeu{7r4+XV&Gc2P+KR z*-WbG^=K6Tu9%4nDCiNqWB9xqy}-d6`2sXWMsC{bDOm$$(Z)%bv`z6?*=P~Uu}@{3 z%K6>Ttm;innM(_o-2W}GXStZskbc6FTsywOF_)Ug6AHWm<74>agK|BI;wfntQkoG^$=Vlj#&KD%EfVTNNkM)#*ltFv|d@K!w7_*Ie zrv)1PO+crl!KRWm6#k(YL~M%5YtarutC~z;QSoklaBU#v?W=^q_I)fJ912Ly!|H@>bw6@2tK*ORe%#;gj1t*J!WwUzSuSVZ|%E*M3 z!n9(W)JyY+USbT?4>49NHkmFUo-wp5O8g>z%I%*32p>BZ-=hrsz<1$#mOilC%-Qi1lJe7uY$v^yWya3 z9JBw8xd(e!5>1DHz&+uZ_4UZ>QHq>c$k^pgMg^^k-{!_PFc{NQjYgBx1}M-VBgUOm{ncSx($rdPj*Hb51kY#@mx zr+&0lI~J0EjU%o%9U}lPygJOp7~^jb_w#L}mlI;*8Y`{#wamqF5L7$hn56p++kCKY z>%&GS`W~3J@mH4aeH_&yFkmca2!i`kLsy^pr98KDU_=u7oBwr~-ol&ELz*>pN#9qj z``O7(PZ6^O68+=0P1`C^+lpvyBFg2qgQRJ==%@gZq|ZhCve(t!7Tk6Bl@R07=TrwSg zvg$?dC`j-vgUU@;0^Iq(45#Rrf7r;(BpA=?i3NoNLcnC9kayUU_!*>pYc8wSE|+^& zXBXavhZk1~A~nfyvBVl+6l?a!8cq|@ zC`o0SbXXiTlBeOC;Y44KYa%|k0%bDd3vYx|$E`miG%^@56gSk0ExSfbGlnT2R>hh; zo|N|Q=XXThzg6;M4ZJ37AiYFAI<^E zK44Up-(5aa7PV&(d6(>&=jSc1%~>n~uqa$)H)AT~CE5N{bE+ye zO~EBkbgThT%OO3)IXyxsJpQ_d9iex5gnChiV^U!N{}2;;ZE`mTt%Jr^wB`_Yskbjq z19v@PGx>T2GsM%Ez8mPRX2@x`u&@S798eCx)NLW0&b)TV7WNn%3gFt*$=;v_YBvfl z0Ou969lD@D9nUmB(|eY7>Ste0fSs7y&w@yJQI$7;*1UyoW@SvAZ`qGTDu%sLi)Pbl zRQGSpj?hFCyJn2-d-N23oghOO>XKh32y71y5HnDt9T0ViIBvAy*(kCs5$Y7h5XrDW z>hy6krfM0&4YODe9Hz_|c<{0?+ooP?pIzV{#Fk2$TbO=(K-yIXCV*iXglPj6WAkER z)UK~EC1PWeTMo7gdPA|{pxLwg*v2gUl3_M?-V=Lmo-XsehB<9q5Zxayh-Sk&X1GEm z`ysUiwsagPkEzyJ&(fy$5BUmT#R>wV!B>?BA9bud>ZPfakownZOkR8u%oUafQ=@^| zzohvHXjtq7+B7mjAN8@z_c~Ssb4qfW${Ar|`o`-u9^iD=*+@~?FPZM9^UC8qqSfCd zC(j86ULfz@XH~_` zGV2IiFQ$izOF?o9!(}7hrA@3w78q{Z0CpHlvkc#7v<$-RX7~q1!#C=VH736OSPX;H z0Rrj`rfH%eaZg&-kXwmYGb`6Yb&hhfJN1@E2`q~x`q$6IUusd;r?$88Le?Vcq4JU( zv5=7QZNN!*^~#~1Ka}}#a@;}3@$$6gAFN9ENvMSCVz^)@&9ee#i0%@vLj1ROX%FyY zL}+RQ4i=F~;;6~0Y>9K-NK}?p$X0>006`xy9CrhKp(6tDl#?JsIO+k)1njUCkvfGh z`pnG38KoGNJYKiUs?Yo2lRvBOKq~kGN zf9lP_N#ldP6B{>UPUPTO;zol9;6F$nitu!GYKj`p}&*OrpE2Rs=-{ay)Tu$N69U zHmzEo5aIvW_(E-PcY#1`{EQlB-!Izp98GUf(Z3Z)zxwAdmuP*bWGtX^S!*@)j#7Zt zDOf=3r6KG8Z3e|&3ZF@e;bYs!lRzJj{?WlPu*?dR2fDGiy)|7EVS~2nJRTOQVt5 z*w1WbW_~(g8)5`M21Dk#ux7IXfBZ9lb+?+o3r;f=e~ZEUArW-pzy5as^97|lM0!1Z zyeV@w`A6u}=&-!MGo<@imF!EDa|pba(y;}Ne*b|3yszfUW=qi_30>(k5ktK21{2Oj zNEItMje+E-OM^VWs4V4KL-Lvjmop!D=23UzDb6h$^qBYYbSYc9kExcuv0c~9V|fVx zEeFyNfn2w?+;9aMf$w{`&H2*KU*2AB#&2HMxCFEsZdnHZRRg)fwADEG3w`GO7M4vt zG@X&q^p$(tcA1}Wmpwi69@@=FU0SbUkl0X;8r?PmngT0~m zjExD{jRNy^-;69Rvpg&^02Ud`6^{*lShs2|bz^{efxSAvx?vF^-rDv8JfA* zvnLY6s5}&SF+F>=TQt4=&Q|s^3{<1)D5S)QD@7ULss^a68> za29lcaw_sbk*{>%b&8?(GNLndV?Pzq^M!}$BSD)hP!pH8PpAFB=I6)CA4(>&-+Jm( z?nF;D&|q1W>2J_)s%p{x^nKs)?Q!Gz0jT50*L4im6+XwS=kI8bO5DoC>mm7gfnHHY z+bb(K`7_c}z8jK+hgg`Szdwv{DE8$ax0ICS&bpI-#77~u8EpkMpgOR#ixNpMO(0sw zS=67fyMkQMcG9#V7bu2T$AImucI~%AEDHu0aH*05s<7OT3~brDvg({8p*fL5^3ViK zN;Ljb`(Gqfp9_!A;RjA9I4WC%Ey35e{|boQ`c@F8xT9d%A5>Q70Lh*dow+ zxN>-nE*f~Yub@WQ=F>&$d{HiLwDN$HMORN-Z;w`}&(jECAF$(bd*5t>uO~XITpFW3 z)vDY&7RvAcUq<9~-lWbD6J#$gOwc5d!Tr=V(px|%+A~zz5)diWiL)96G58GTF@dUc zBs`)NIY*A^5c-IYTtIC+B4PCIb-h#>x%uqk#V`mp_-Kf?JA~uxRbn2e8WS{RkxA2@ z{=w}^7~b*%=8272nRykkJOqK^ZZDQfQR#{QW5W}p97))8WURZyC1aFOa3TA3On}Z{ zGR2Ng?MVXBtR{s%NVanQi$eiE^%~H!5Z)7PN{+?L?q+r4Ms?%XmVgY`Au~bWBD8@R zsN38>rT)`KN!yC(OWB?sEV?@{c}p|$z$}jZ^1h%H-U~sUI^@CtFSLy@_h1FA(*Mj_ zjUvyj%Fpl4?lf)Y+n z1)cKeQg~K#Cc9K!=U9yWv*6Y)+#bc`zYsMeDh2_kr@ zpg#DBH9ff%77`OteIt<)AE8SSd~{aF-D^F>ASUpB@Gw4HDXzlIl0N9!vO_>Sv;tNH z3e{OTK0A9>QfAx6v^S?;%bfYf*S~i=34DY>u$vS|-!r2&Ll=ZIfQ2}^=&Xuyl+`i()B9 zaa0X9I}Zau@;PskM|q|jQfe-eYMUfcJ>-V>;mM)G9jU-NmLIat4C%_*#}{SO3J)GG z?s@e=0^qJ3GxY6tcDwsNB^xIOC8>uDP!Z&-=Q5HlzQV-5an7N9`_I4-l`XzdC*46X zUNflRN^s31Ea1)k^<0{enu$^xQ!A_nRE-=9U4fvt1~r*?UuP%yEJPLG6?MaY^idze zT8@%Ne?E%T61B&`1E2k&V*cS)mm-_C#X3D12PEHh7OULsOM&a&{Md-&u{#bt_+RT6 z3jYNdw@Hu(zLNCKJqqu4xR8=nO_y2K0t(K~X4k8Tyc$gUbZzM*|LGZ@IDmH?!U|^n zC7Sy|r_HkBB%-^^LBiJ~pTJnM*Q+o!3~fkN)#=&~#ZOe}ce;>a0rskB!}D8ogF8&3 z;L^yr+x<*ZhGQPcC_CaMmwpyB_#c0X?&4dP%ZyK%!)k)I70DtbrNiwPI&+tNnV$I1 zQTm793gmFlYo^b*1;J&R`-zm9q>zcmQzP{BT6k-D-pBhOLVgZlu`_CsV6n%`2~*=J z>36tCX<~E*FaWD!Wu!$>9D3K0YuDz8f#$p>Y^8NDxq4qy@8L|Z(`dbQQi9ew>Sp7P zvc*+gXZdR-I;dO*yBR|t3Uzcz+5K+a3(ty}lMikt)gpZZ zA~G*-{DESn(=OR922VR}YJd@n*(2{wvk8pROp@gRs)Jg}1$Y7X6vIXJ5PJjGE(Pm| zt<^l^mW+>XovdAg8usIyj_rq>8TVO_UyHmCrIySpY}9P`dLu3=VG8$bGHs zu%hx0_%#fDP!E7VONM)d;TthjP*8yi4B$ix3}{oBt>l0&<~j5vbk4-CroIgmCY+1K zXVC{1hdFAq_p;!nAQaFy!x7#HzK>AClgIoWI5PO8DaSjE$~O~lh%h_fEA}UjzT{8v zGw;NG6&>gIZm)m%=pe`hg)N;h5oO{Kdh3A2MNR*cs`qo~TbJE(ZR{mMLN(refx{uZ zB%|$UKWX>ejvmp4)~(h2kyN_{s~YDycu}8NU^E2ol*T-f_Xi+Pq6cU5tP)(#&6|&O zaK_;C6>c&;v>?d|)1w1r?w7!0s?28|V1l@J8PtG;VSYFJq+)oUGRV_PD+cQ99c@WI zB^2UGD*Ik(j~**{QS_5j*R`Wf$9xnz?Vs zFB!N3Ch!ker{ku)w;w}IQxO~fAh01X9_k($Hy zShm}(;Cc1WewMZ#22zg4N_6D5fP=BTr$pSp-8vS}j@T~C#B=NI87(-5QD*;{6m)l%{jFcs#R7vTv;X6*%ll4ZtOu- zf9UjB0aS15rat0in;@|>pQ+Zo=pjlE&@kr88qScvR%)!bcRd6jI`?&UJMa}QwD4h| zI<0uH1g+}WUJ}H=Zc-64O;k|k z1kj(m{maLN{&0P`tvQF1V$`rrw=ULgy_nQAHZkz?dxxg#@*a<^tG+2uq00V*G5|p`tQB{F*;tW2iLvFqNp;=F5P8F8U2PHNl{7o<@oyI%q!yFE-s+U&XAe^ zT=@=rQzLkE^vWM#K)c1!R=xE>zfpHI^+%jTU^g|3!-gZfwD%~;m@odT2j z^868}2vMoI_FZ$1m?lpi{FhWsTD#WMLJEo9|0BEtc~Na*d97YunlM_0U=0eGnc zOc#*osv%#p<1!;u6Y=b0kEE0p1gappc-}4=C;ZttA$J$qHHj5c6~ERGH`&YycN_o9 z?ZWnru3K?+UvjX!4nlN=zcq=dX*O3x!`4R>mKKN6soUHGyd(?E6H0}RS#77DLQc; z2hQ+;_n0xrYW{uSN-SY4T3?xxzHygVxeYWfA5eKeC7&fHK zRwSrNc55bK^(rE5X{Ck4a>AJ*oaUx*_Bi{jw{iy%v<9Y1Z*GxMTenlgg}1yboK&mc-*gr&JWQ7Src;VcW!g;Bi zepR{P#O$3)-8GJhv2|LzZQL~PT`G@nP-I$l#-(2~F)(&pHK(P{FEDCO4o6dU;Tp1Y zOicc!P+qN#*C!niD+!LK{tsv8*c@6HZ0p#zZQHh!9ox2@?AW$#+qP}n-Z4+!Pq*&* zc&b*-Kd@HynxnhNGn&h4979s_zb@u_#=Y2V{TzU!u=Te9dU{7-8RA_ImrxFts=!*g zto)I6^?uqHcU(U?mkVFTiXSsH%`@I%$#GaM%)ydvW6PEiZ~C4MV>p5it`SMDq;VDI z$FV*MACw`e5QYSB2;X%40Ext)7K%xxws-@&?6xg-D zJ0t|!PKT}m1C05<4PP;Fr>)xCe4~y>vGC1a)mLeg00fD-7^UPN+Q`5RhQE$NVY$iD6PNtq-Fj=>SgA zocIQuuoFn1Kw2R8#HbAri@o?=Mlk-@7o39Y6ZT0zDAuxLZOkEJfYho9-5Qr{_qwo~ zBdqt1>i}Ld19{t5cIY1Uf**h8PcJ!lw1eJoo{T3z*~m-Q@K#=-A1wmV9A^yD$9WJm zOsOsw$kvvLQ_y`61qj49zL6vrVv((A5rj-h1p9ju2OdOaJPRJta zV`+{I%KMzfk#O3wpPv#yo(-R34Yzos(pYgA*Y7stWihEJ^PSDUL%VmZa5Brw=}_c# zBZ$6b7vdxB^U^0jmVFn_lH%8O6YyM?frl&ov zjU9_6KnImxNo~8+wR5?v`7q@9>q_Z^bqY#d2n#FD1tb(~aFmtHr!8n0-l5Pk zIL|UyENwg$FJP)&Z=R>#$Qzgq!@?IKQWFtDmol8iK;_4YTcKbI+0Vt`0fm@`vh!#n z<*9b(lU2}?RpMjN^>wCp=luzueZcLa14H!W`EQj?ukF``crV>JP0MEG&@v?5E8N?G zI4<}Ce+|$-dVQ$e!vH+(lGHX$^wa}8{h$ZV7I>w*GaD{>y9N)cSQ!ofut?WB1qUfc zaY=2;e0EY85nu_LNEq@{P+JNDv~Ga2fSxYe4Vm+kgM>x6>tR{2T%yQdws>{WG=9b| z#WbKtWF}W+N&I-?D*pXo>l*y=6-LM3k2puzX*iM@tu98tH~w0U9T>L9!-W|;E1&IO zHB%!CKVj~&g2@DHCceJ286P#S_7};g**Sr((3)AIIcf|gyNF?rg^)u9D79dnHn6`- zjMA6T*hOj)kP>EX&p=l#e<;N@vg<|nvgYu6z}Af{oD7u>{cj2PKVCG%Geh8yx-~N^ z^ECrR&-K@QyKd`)Nx8`Zw464S zVKOLzph$*5pEc0PWNU{3K=H=w4&KepCX0YEkZe5YWbO3EB7QjEr$tCy)ZJ4=>9}nV zXQ;gQE0AqHWdk%@xi&X*Y9&u8RHe27c^h4$D#PU0Q&quwhXc{X2gzTzIZ{xl)03Ui z8bV)Z^dN+Ln^z!lOV(K0*>vN@xib-FiMYPhz@mMcgs@2v?LsF1Fj$snkS7~q{XGfJ z)Lz*+uD-T66O?xU3ZFoJU^U;f2xkyP!s@#cB37qtNNn6_#BHLe4zuHGQ?QajP@snk zWF1vpESf>`IlSr>-x6HmD@w4Rs+g{!NzS29bxf6L3wJGCbXu$roPwkPl}Z~sgmIvn zNfD*c(#rXeU*)=fuHb${v;8B)83<`xj08D7Q{bfljQ|0!S&SHky+Mm^hC za3Z%?SA;R8oYkwK?nvg-MR)Bh62rIs5UW-vm~ARsK8ai|(4LHglahc~03pO_8umuI z$~9+hAHLVGvL>$!fDy&DRKi`&<_(64%&2=cVCv(1P{+r0%`bk{!NMnhB%uqTwq4@% zH=g;Kop2mS(XHQYYY=h(h3F2Yol^0kXMeXify!22MYzH4TXPLJgd`cl*!9o7mt+9? z2!~1L9-pU|^@6D0_f71i1=C1n&l_UZt0M_c2W_K25_A^mJ%X*1^*~TAcMeX${2|-b^)^m@ zo~F=u%M{3%?1E<#c{EA^n!dyp6E2&DlbN706RijSmT-$EG*t65x+MI&n`DZcfVIYi zojHab+*rN`4hjMQ`Q3#l86MntEuGlkAPr=77c`&2y#>6Yh5%{v*tql+u z+sBTaw&&F1R(^b}moP z8Q_H1nLFK}CYJXmIW&*P_;D*aMlmRt8d-oslTi7IBUG6FW>c(!U;3)0ZwTo7b=Dp* zobmUz4`*h37do#{HM{#(#nY1QC&T0l7V~qUQ^hCF4q5+FNYX|~!(xLK#Isn+DHEaT zq{I8bf4SHvl+;h$NuZv}y@}Mbkka=^oa@fB2k)LJh@nOhCY!AY6Hdc~rH*5_A-f$` zp>VwE=Wpn|2Nkcl9D(vKZw-wEqbvtTBC%hE9_Vh?lZW9!(l4Q3ojA?brkNPJ&V9BxRefxJSv)tQAx%8 z6{625nMpZLVVThj;buKmG^+TejSe(9|8C}moXOJ+qPPpf&=sR`z2#5T`SLS}Ks&-Z z;>)wKRqn+3^M%sEN;+5!NwkpPYNMWAP_b(hEGW@k%Z6(phO=0~lp%pDf~L2iZ1`yo zpAnx@%x#Su9D=Z>lHn*e6>ny)see$mq2p*ETwAg$f9=0V0xJusyPFwJ?yEBJXcs!Z z_d%M9YO$b<#{~-a8bF%PC><@_VH3_bi&$mmNs_qH4^tStWKNrbire#kH5Yb7>Eas& zF(hXz+eV(^2&!Iq6seI#%MOL2NA2Ad3$^S3@y)x{sU*p;WFh?JjS`t}N-`0`_jts< zqF59`u#EBH<&sPIrB66S%jBg$ zp4z(;9Pz!6yl#cgVuRv&iqXI`lNM$)tZc=dR+51>q#N4UtQt#y%yrFMyS<<}dpK<` z9!pZqE*xKBRkCaxe4h{x9>Zy!BQu}@N~b2YIAP*sy4NnRoF0viQ=6!=f(s4Y;_Dr) zhEBg}(9|G4;nH$5}FAg6Z`wqed48Q;#Xz{k0 z$<1vdML8~a?|WhMXKhJ*xjKHfa{7Raljlr)n~C3 zW{hCpbxU!<+^ zDS7}N<}C3-uSb_8t~t?f9Ah{qPC{7>8@N6J6AH2A(!^GhYwL?#t~NkzEa*TcWR}ip z0y1SZA$gM&b|75Bu+1FRJp9<;q(|N2q2T=W>@1!+4|vSWILqZ-{L-cb?xsGC7B9{! zzN8+?$?3nvuZx(wa!qVJJO$WIwR*b@kZEo!eP}j&IA3*`-`a0vOdYh(B+%LNR2%4L z*}dSDXYcmVo)5T{8zHC)a`)C&hBLoa49Sm49AdoS-P;n3Zepg-ixoP5qO2j*H-I^dE!KZW*-^J#pLHA8*`K%o|%j_HVvj&L5|LU>*$+5 z1ayBLXc?9_D)mnqFp)>iHz-4U;a}jcQYx!Q*qn)roq*S1cw6I~EVipp0d-#qAmy~e zehG)|s6uy@P?7F5kvKOZSBya*5%Pn9{rAJyoC7e$wLYu$>cb6J&#onxYTG(g6|Lqu z-D8y)IYf8$N-xJsiQ8<$rp>d4ezW#u3s&B9$~AY&uETwP)6@DuSOJ}fJ&7zPS|I*H zTo~{f3z-;94V8gu(W_Jp`dz!Ys0JIO`8nr2qULqu$lBqa{2vZYDmEy#z$YXN(Tq0L zbG+ULi5jtG(I7KRp&>DCCix-Tgz${a`Kp9f+D_Sb#_Ih&1EBqxa$9AMY6a$rV||X6 z&Gj7DpwT7Hp|yno@#c}pEnQBijcv!Y{e`F$-5Y0gVV){UZe{FloH0q^D&=)0>EX3yN`@A;oX zhXLSV;xqq27MvVx?4>ijQ=`26g|njr8`tV} zdQZ8&hlt;ysAK8?`tA}97um>+eH}oSd*)O!U|C}_!gqMhMe~gmw@Y`V8qg1qbc+cW#EnK47;z zp(~Jw_s}IgIvkWUUz?Z*gHK~U&Y|B}JZNgud2Eimcp5Vx%;!&vvwNkzOC7P+9V!y& z49}54jJGEycHOY-*Pn`1-A+#`hViL}hk{H0%n(F#yH!WF+D`9+iAUFLv~W1?AZ1SR zuzS!n;#F+^_~oNk?9mAnd$FU<{xf)yrPT@^Z0|`bN&4jQWaD1fL4`` zG4Jg1JIgD-Z!8P9)XIqzwLG~mnCt#zOHqeX%L!nb8m7-ppPbh3?+hR=Q!}KrAiGESMDk8nL%cEyG$4KJFm-WoCbOugT$+-M} zAZc2Z{sebSdCBmg%iH6SuybOTJTtUp(9{maF1H7->MmY@lf^*S+* zr#lTh2H-F}nPNL*v9IhAmRk~VWkH%P3$1Nrm7Ux;9S$F9>{BVlfbf(7nJ*=s0rGP5Bv{rCf;APo>I;ywL<<; z9~e(`_C!K%Yv(9+2X!o3Vxi0{knVVmuY|^x^|tHH^xL4>5cv&F&ZI>1mN7s##W#Jj zQuz{L>Nc$Pc6>Q^|7R~b4D}p4&^x!bb9GsSTGRkc{$RKsH~8C_sT}Xp*AvQ5mN2`&DAFTj_5tGKg$XF5?tIPi zR-X2H{R>|XolP*;g=_GUI&9s{CCR-kM0IoBMO^?Kt`2U+GZV)wmI%%fbQvD9^6a90 zqqKh`$E&CKXW8#r7M&$GH4EZg2p?LHGkJ;Eq&eNqvN65+{U-PKuFi#3&HN+~d&#y( z;_`L-WJn?Z>R2>09~zkkV*1K_*UKM0vWTXx=eO`N*~ji2F`W$$MWN?7AO-}R>H#!t zJ#hINJ#=0DJv13WT`CmCem=rNyKjJ;ed8UCBfU^*%RyV&CQ8Y-zn;oWw^|?7e&qn%QmNe-(^maCn5a zTGn~-^&GYZpOKo@Z0~T|)V1QKHv4f9`N_ENH3)}vX$qgM+t~o{Qt*Ad;dB`iT@{-v z)5u1hjyC3$jN7;B_~w&@TG-=suR?YaqSxRO(f&*d-tLKdBs(7ix`2(21M(KBH42M4 zG))}J6;qGFSX-Vn0gUI&Mj6TJOVpM96wqy14&S((!wd*$${<$uUgp)}B}8`1)Pc)m z&NhOosYg~xw9AzXbiteL=Zw>4#M>zhjZ#)V2`Jl5*pk=B+WDHQXRe>F1E>4FkF{Vc zBK&eMLE0nx1rSKDX2ddMJeNes)A-+f)f?LJhI&CTC5O<`|izB{ct>vX}SOxLT?F1?VN7Q!uNeS>rxld)3 z4hsx~Fb<<=Mm16LhLeXiI3qIiy#~q8sBs{dH(V{;&Zq*ndk3yr1~0SWl}Ns)_e8h4<>#xfAV&}~fmVSTf`L24ZNo!{ zky5`=JDPnomEDd|AaW8%>P9TBA@Cyfr5a{O*>m&zO9o;BUcxQE{5X8Q<`wNh`i{ow z)4>O6xv76YF0O;HK&F5(F&ajg_!%B^8z0+BO=TubjPD3&2(-`f2K{<-6h4cGdbTkJ z#y=X)!*PK%Fvu8W96B;}1jf2RG&!S4{+8-3q5)aZ?ebRH59wkHJzg`yTJ-|9oP=Q# zj_1V)EeFkuAc1sJhoqGm6W-siGs>=9SavwO5oVWkGpYh+m&6aVs%^*vLH*H34oh)7 z^E*2=>a{{77yrZAEeO z+j6$CE6IFObj}!m{DSBcz)bKs|4PE_zNll`v~#}$$jhp`>DqCpuAuB6m$_*9q3Plr zPESbyGJE)nQttB{xpVKY8G@7%G>)yat|xzJN4%pbQI-LWM?qJ}wV!PBF!SQXWxAfP-a65`q~?dD5vT}2CQNPYaCQ`Rb2bXV+7fBh4=&Jp|`+A%4G*0+#+ z>lS5~u^T&4pWeb!P)iVtaHh8DCKr4@`hX?XKp99zZ|YC~2SiDAduB%_I}xRRfY6!{ z=1zd(LS$caz|xWFXmBiDKW-eIH(~35Oi#Z1Vkf%W(d`eTJnd;v@`6-1dTJw!B4jeu zA~7|;8RQ2`xgU_Z7Q`TAWF=#THEhqK^52!?@a0BxgGZ#Ehnx2QI8#4=|9`MnHqQzl z13v)3q%|;rP=3sY5D* z$Dj#s3}zQ1H!0USO{C(Az7BWr&B0zf0JpJ`1?+qpA(99Gw~ z<;w{jzXy6VJ1g?$cE?rov*zsYx%z#?PX}Mz9vM(oL~_4aBh35v>OGeD=jF#cAqnX& zFz|2gT?7%#Q?Ynd@3IV%G-!xbRVI zB9pd{WJ2%v5kdQ``;FjeAU|e6uRg)^%Umo+*Y#ozbf{I=eE>=EZ0SxZ3KKNRBNrnG5BXn_l5g_;0rMyr$ne$ zvR`99$Scq0pBLrZ>66B|(p#iUrgB)T$H#@9OU7;qM=Td!9U zieWqE8ATs4cG>`t>s!si*Taye$nm<%&m1vPjzkV!k%dGDg_A2&qAXy{H(e|OqKNl% z@XALCj1C7ig5gPp@1}hqB6*xZsUcBzj@b58@Yt;1nKMbzhg>riigyDox_8BMQT$RQ zB8uvM3eCrPR$?>@$&KneaHiie8{4NJ;yLs9g?#q@!4LPE(`^=Z*0TPOUvH4&0}QZ> zCk_)yWVsk<_?SAcu9*5I;?OP&sh3xrw1>NwyPQ_sW= z2|O#1(9R_ijwn*e`RX<>wSQ4ct%tTs2F*8p`Igob;o>VzGa!9$(ZV(kJ<&pN-`zw+ z24*6G!URPwn372Zs&}6b^4vL6^q5(YH$x6zMbQ79iGfea{2Ry(vg=IGl!rw(ckCh( zd86{w^I4JuQ7SwzAWJbjkm6`Z@mE5rFY0d5UDXtv#l4*I_bi#F?l-?{&m3k8k`zCm zZL_m_W>j&$UsMXa$SN5e@Y=(2y4x)nX8k}a_E)Wwk7HppA7nAITpGdIo%x??u(w<% z$wz+}%7nGUp9TG;D+&c&zpawnU9znL3bWW`p67rDBu$QKIbF+(d);{Om6N_Wm*LW} z2N!x2Q-%dMxqe7m9K8A^M>yXEx0 zRuS`(1CNh{5{z%p+tTJJ-21R_3miNNX^`eF3aN1>-p}&1%&^K~K|U2JkWKIR)B$ob z@tSd$LCt@>kVoK%wtkkp4_bD!!b+Ra#rzPSZ{SkY88RkH<(HL{8M+HynHe06OBOvZ zQ5Z_n(G#Hw25k7`pnDukhSV1$pn-g6`;Xgc;~-+Yxfl;+qpcagUwyH*X^XZ=tX*q( zON8asw}B7JYX*APSRYK$d!u%OCg!9S&#F_tc{+U|@bXR%t3eB-1zhK}&ni_LNS%UVt z!K-VqlUp-+;>Hq>Ho@=TacT52P@IFhzht&{F{vyin})X&bB2IqA2t-=9p*;9>ZEmN zAdzRU3AO8+!8#;Azw5N4xxV$i6<)B&f(wwWu;~t&;s~(j?cYI%i$nq_4$l_s;glUF z0luRuaLJQ)qm(!jiF?ub_iamax>=0-E>Y3jxfHt&r3uG$EXZua=}9CthJoUSxhBLF zJ)bt< z8mr9NAdWc&*Q$}cR3Y`o0=3Ugio8K(Gm<~_Fb15op(hCXXb=fqD(ocC)P$(NQc+Zv zUwU##hzIL(s#NI`;*FvdE{T<%9^S$GG!n=t)v%=GiG8w>`U$cnRsWzJriZ#BNHFrA zYnp!)k-hUnJiO3?;b6b!!MR)$n>TIINK|unc{yc1tPox2aaiCsBv-!mwsHyq4nHSWden-)hzN%hVEOkaQwYKZNc~7cd_MDXHu*-0tWkqy% zp|X=bMP3mEBhqK!bN_vPP%R@XD#pDU`qW;1+k2~6-0%}k8_{B}5$}Zpbamj7ZY3j4>t<-7SDZ)_!`&&q1vB4EaZAX_RWNao z3k{nBbU-JsWZ8h+Y7%@9W_fSzHCRh{vZck+qo9~s7sg>1!ptuw6L^057V1cq&J44Q!c(ZcV6@a<}Dp%d58nS3VbTScl;bUdc(ttSLe& zD!D0|2lRp&@71D@eFpLtPpS?!19$vr?J@3u)1=#a%WY;nH2PA)ltHikiTpliYW0)+ zy#-1KnnQ2GN(g;LjlE8dp|D>O0qO}P91^SmFIhufVSO*~`X zqH0=Iav&5^r{--N3=x9_kVu&Sn7g<<*Z*f<&#iV_jrLYac zQ#T&2#ar3kbsxWK761{JS|>FCd|gUmfOiW-{uI=+n7>D4P=-xg0hY#e zv@BQZXK8m!FjCO9AfQ%zN7^vaFjdMuHf6EZm$t_zad+&5{ni{CJErt9_U5;?q51Zd z?7A2$pRKeHCgbB>>^Ie)s^S#e*j((L#on54GAE<^f}rnnu-(nw(QY5n64?Ir&5WppWqV7csYpqiYaswF9f{-{?isT_2EZN zJ7wA4$^ads6a93QV3iCaQBW{}X^ff*WT@!P^|Tuxg!Wk<7K5EankR(YF9evAC@IL| z7B6oWgjO}Pnqh&g=_UFkkI(8f+`rmob$OVSyAu)~}9ecaVWjSX~J14?M?y4znmrKiw1jO(o@t_z(cadDD-L-(8ThZZi!X=bGmJs zHnGB7vOU#F-`jcM=8zr$A`1M#tR4z&A^{5=8`ucq>xI2fWMi}`uc-x~pc#yiJ{-<< zrE=-G_j>-Jf`v)r_ZiI?M(0mD9NYFnAUkm@u}D+beyeA3xz2ljNN0O)d%cvq|3az( zTCgFf&O~r)E#j$8kohzy^5!R}mH$N2?Sc1+JQ&b6c;*6W_tnCPo8@gKE*ur+P>U~t zzIn(gi=;IhV)FMD1&o?+jg3@Ou>Y5tsBGUnjOuma2Nl>-C-gVJ9Z;&c$6jSKhnl8s zTFTc5I!CANt%8LO)~>J9?8Jhu{teGX<^H~=5w4^8?rdF`p$|cI{Vljdl&#ADTVcJd zLwY;3Xud~LNBp-s7lStjw}Z~D4ZxX(HZ^O#MX$aG+E5MiMKrp52oQqmqQ)|^f3ow* zhw#VVS1=Ha6AMBkU%gZuJ?t*~4+l&Jzhi zRtsYcC_}nvB#s5s01)M>P2xah(cD1|;RE>MkO6S)Sl)vCEkjC0GY{>KA{v9D0;x?v z^Q254+#_aX$wI5M0>2&u-v^b#ORYPZL&W;@_qDSTIOs^EBqh{AIf{qp6qLo;O90AM zJ+m#Ym~!G>5)0=VtJE&WNlwg_AV`f{uwdZh(6#SzP($7#9zcg;{gVuT3L^$n^eY~0 zA5PvE2TYvQP`wQtOGB-58;EE>*ZQ*weS=C(CRNF%3D zM7kcQ+TnwWtau6>e1PzVik01OR_!B+!tTgn%;QFR^#vp~>tsu_m-1yaW&7v!5rA%p zi0xGMrN*wB2ne-(N;0#*YHR8QpA+p_=e7tl-$ho!N@c_c{Z}Fj({i}e>SP|=xZkQt zeOzI;_^^!f0M|XW-P<)g8U*!_0q2(ePm`I~9MW#utuI$&pR^ygouJEivkRlwovtu! zH?MOabK-n@C3i=gt|v7tiCT?jcSiKh{H7p5y}T-nufo~9s_PyGD3SmwEiMx!!)dqM zYoC!_+;lLEeH;_A7KLo@ zH(|d-7IHV)lJ>?&H^A&eV-fhdh4TVQ(D?I0E~NYO`weD{QB<%D-5X;Nq^YM9NT>S? z(&Qu1Rqk~n!KbtRc{Z2Ue_zH|)MI5Oc(4>BgU0H*JU_eBlOgq=grrQADK{yVDC{gezX?vJQce)Ks)G1AIDAB05HUIzg?OWEj#9WVDjOGv^dKnbpfA0yzTu2Z~Jp@>3?dMLQRE! z6ot_6RliRef0R@_)>N^qUCic4lXru{I<;&er`LuRUXnO_?Mguy-el43_CCD!X#o@4 z7=qg~X!^)kRo|C(!A=o~-W~=F46G>TzMi1cr}==~0DHxkM1~Km@4xXmQk2qJ92>JA z(-bW^dXgUTW!a)L7-}UYe=L2aLOk*?dQdi>H{Hw|S}s+nOnOBHtCS6=ggaZaSc3yc zXIc{rtfBrXp*l{GqwAsIXv@%0iKFZ>Y8tvqG(~^VyR)_ zAfGg4CgHk~9=oKX$XlPDm9%tYZPMI`fIf+Vidub1PAN>q6n&f^H;p;Xq$u zxZDu;0C!lPk?0{htzby@PZ~W6HtI9i5hE5a?RK|XdBw5Qvt~*4^Wyix6?${&7Rvzb z1qY=i_}Z=gDFxidJjQOAg|tjlu!qET?WnlPKF^l!<=7BJQwvK6u#!54mynn3TrJI4 zu?|MWCiX^}5p-P7YtsSWWqC=#YVC&Uspu+V|8ouWY_5?{{<;vbuJQz(zKH3wS7XMm z7rV@wSEz~5bX#n>3!H(|gb_rtNp6#E)15gsm`dAQnLYDfo@OP+ingCE390`G{9UvD zGH!wmZ&OJ9Lw?tRXGZ@L8mseNtzNuWlFX)Ifz34QX9^$3*$n0gx;I9e%Zm?N_2VO4 z*AbIx4l8g@2*)K%7zV;HY?%67LoNZ5Rw66kXTHAJ@CG{s8y29!w_FgApw~{ID;h|V z1AY5kPJ;?L--`RXrb^Q+jydrkq2j@2h6jT1bK}r+W3M*`WwEUnl?&U_5ha*>ECgA` zA;Ylc{;*-7TAzU8BKj{iJ=}}$i%Nc9h#z>!=rxxdI>_C1iYi%-I)on4R{}kMcaEGR zP+zdRogT4S{JhWt{oV=_N4$VHh8INPMLU59DK)c*P5OE_wsxwYZ$20}0(reR$egd! z*l(%1C>G3<@6Y(ZRVv~kpq-}L_RukX`=V>y1Lmz@4e@!f3p&g;ymSp)7{i?_q$5;2 zyOMu$c=rvH79h(wIl3MGTuT(Nm7IkXF^Jw8i&xRGeRu=T0J`crp|T%EQeYWNn1>+> z3xx#HAedm_a)hJ1Tv?1tfTJ-JzyS{l{tHLhG>n(IT9a6g&j+$L{}5OPhAN0w!DL|2 zHwV@?hyGg=!Q4upD#Q(hQwV2yL$I#WET%A)VOMe!oZG6}Q z6SPaTwf3IO(Ht4(BW5X&8r`!AqO|5yU1zg@SXVsb1ELvi4m2PT<-f)U&WKj#LeZ76 z-U=peyX~4VBB%?)Oz*4A@h}!c*;E?A5NxaT6J8DF%2oDT@{9YZT*^y#O?Z^71C^{`WnUHuSI1vA(3z7&afW0EQer7=uRC>>fWN^*;r;y-kIB+l=pD#_p$pJZg4^E@M(nlkcn|vGQUW8 zaHc)GRyiMQtv>y-v-(7@oTLEzi4)e61R(%tC}5MDkni zG&j8vt8Dx`nCm$UhJXeyu!yGXG7MbA4OyjWoMTWOOv^HJw9P-9o5=GzlooF$wW+ob zXjqwPs%LZ?yUYgX%kwEALR4TXpP^NogYj_^li5NpWk;UCO6f6Xn6u0{?7oaRZu_ZI zUc;I}D`+Mw8K{!~eu3f<-5LI-YOmNHv+Ih-qtKh^{c7GnAi>-S%r`u9r=x-`P{_AW zSI9LV>SWcX#`^$jQ*!<(EQE=2CWvy_PWqsdqZq#7I})O2YyeA9q%zZRj6%+9F(D9PNEsPbroy8`t?Y1g25W2Bd_kO_l0AU=aVu3^= zET`d&UHb0xaPISHwuG11y|oO?6-FZ%AxtnP7?z(#HkX(ktr*+<($YTvX&auHrcr^Z z-(IXGXCHHwsroe;p&;o}GGb2p^zBYL%Maw@=O8#i)?@K7`=MV++xRTmrFNF*9kX)) zrd6X~jsfZ*6+7g$pUTv%iTk$e?=ub(vJ2C@O~UZW_Fc~d+DH?9(Xp6x{Pi9&@@sO1 z)3h-4ZyY6LKB8_#Yi%ir!p!TI)L#~g7Ec;$1c%Y%2%$f&Z)Wak3Kkxp!QL{%*z^m_ zHJ}@1XysuGX}^wcrwKD#$*VsGv*~4yGVlsD^5Q0m!pvv}%xKmK@HfC7Y?13@I}vC0 zwiEWY>pTJ*^a^=_x#b4F)z~RwrukF*3nHhYCktZ!LKh1OzJV$<$UyicD|*YTFi{@V z*=9j_+vmOBA(8w3avKf}3oJHc7ZlDqi$WXm1uuYH!+DVKe)a+w(UWfNUDl=bzhaw$ z(m7hhWItM?fk6O+khN$rhlZyz1%++ce$%XwSsNP}L2uoeBODdAnwn4W%$MPsmTW-x z+F}(851p354IYNoIv}GV2>&n8wDfiA(_CdH;7?m*eDEVy^%$#uHoSbRb zFpY(a=IO9)#oCvdm4;-)v|I#LhY2Zz8NrMg!Wz+J7y@*H_vNH4k%?I<%StKHN6M!L z09drkQw=XPoAs zE;ccp=YC1`6vJz0G^zHs_@J`lb{F{G#_!CyiA0D2RQDRPhnb_&n*gAd^BW1^1Z!r^ zLwh?#CxRq$$nk!Om7Pv|Dm<6|3sGS6*){zFMAR+Z&7}mE8ZD{ z5j?T=hhGz{^|RP}Qm!`K5S+eusacUA0+NUQOl4Bj?Ol z<`XXHe@Jgo@dMy6ijl#!$EDt}zy%>GDLD`aCv99JVn=)QOA+os7?HWxi4XvC398?RbMLfJ5k4k%06OFpJ1FMD6O_w)=$uN*p zVhH7Qhw)Df9L3=QYmo)te5V4%d}X?G>FFKpZ}nN7O4G;#VW>nPtDb-X{5A^l!vr#g z;2J`xd+pmq!ch?$5=kZiq(glr+41sM>roy1t09-R4wQn-2EM(*0Fprof%e4ej1_8; zWU7+6wAQBty)ar7R~;V5+Plpl0%!(;!;pv&V3zaiB-inI6<*hQHNngqE~ ziy2n}e^fsj{6$cn16KR?C-sxRh4h=DzFJG-`Sq8}+GAvG6h#C-z?@;uDdq8#!<4=S z*>fez;bR|}kZ$F)eXbbQT=M_?i`B_uW6s@u55IX^U9q(=D%5@f|9KmQ7aB>Ubl@oT z3{Go|+;}(MBYWFHHp8w;MDQN$TpiAa^f{4RR`cLT)dgGfx&C||AYfxx;EN_lv>nFzL7ceOHlM8)rkSB({3)lu@1TY<% z8^W*Sqr>Bb-cIWCoz2G_`EhDm3Qb*GAZ32Z%si~ON}bdDD3#k;%-Y+eSvhR0vF$n*K-c!^ z@U}Z9HK#3Py?NXZuFOoz>ceg9x~?}Fweo-^{H*bdp#!C$g7GEKifU0D^ttnzjn9SU zcf7Om*d5GGUv;%}7%g(vl$f&y;tN=`-J*}V*|VPN?c*(Pk?sCI9^V{)2hz>6htxe{ zf&!!8v&$Dxo`Lx!1O=25`%_FfGoaL=#LdhwhWmj#1YJQub*2R13nL{tyswp=WK3tm zGWQY3VJKxOaC9F=7{%bey4W9|NLP~3_Y{;QNzRyY!Su=J9s$MwpHQw7SN3qf+a=*F zcTObS#Egke4pDv|4Yeot9ggQy!*}d9*>RLAiS;eVIeRdM!UT!RdJI-o9{Q83?>Bz&7znQ_ddbv|*kk?7EWa zpc6?kO_QN_6+PGTFf%w^=W>n_SZO4OrInXxn&1!9#PsKw`c^rtw6Rc$&cusX?7##I ztv2oS4?q_MjrC@%Zlu?uDfiEmsrQ#6Sip3W({wvjHto3%qI!K=#<^|N`QcqO7CfjTW2V4lybgOQVG+>APF9)GmE(O>*V zE@*6NAD$tBDdVfcmsKgaXAcXMWrm-NBUo1p@AxeH8CSjTTZx4;zF^qm!PsEDsdQ)h z$kFx&12SephLH^$>J4BevRZny*stbCn_#cz_nW}4s<#93opoi1!^UHl$V#+63H;3Or3_0F>MUHoJ|_;4$#JAmrX3Y;AaO(*)>uFqgV|XGkTn7htCXj zL5~rHZ|@7;xN98#l~z!A!hOwvMe)^eu?9V8Xys4H#5Qt?>iUl)RbD4m;$}fvC0PA) z%MD`qK+(lga2eSP>6hK?hmF+XLV<`KY?GJ%9ht2R(WU5v`*)@6WwS1*3*p7^#UM^0 zur6m;iN=T0$dqOYnw7jISBgNu z;>@r5HmD}lGb4KBK)(o_^L8?~6zPQ}c2=25Eb$7*ObmqE>0|XEkYduIB{bQEMOr0y z3tw#uO|iu$=RQE9=4=#w6XqB$9FoyyD=rD+JH8$k!dVa=5N)@EwtM?87-i;3tx^>k ziN=q3t=_Mh@1KG%cTqi%0w90NR0`aYD8-n z&gAwl$a0KB!A0hP$?bg{9f*3HlXugZ{SGe3c%2FiI<+c^(JP!u-7!b?f&%MKCg|ix zf4z=6y4;E)myVO^eJ%c!RdGV2T4Re>P3{{#>aXJ;n)H{>0qHq6X1pf47NLX?+Ap$V z=JB`Ty<6VtyJG{ODnOR%N8GNpxX$zt`Bb$ZOLIIdZZ zU1_0wts~!JDa1v(Z*CoOc&7~OQk?PT1QK2rccb-B)-y%WZe=bJsGeq?QSkcP%SeRG z{WV5+pAi12(ZvW+FvDCkl}O0#G6e$ol?&ejLs?2*h^@N$){PTJ679|?3*?PU{_`(% z4#&I0NY3i0zoOLI`<5oUYV^hIeI4_CT^&3GZl!0<$DLk>StY3_d8b-lzwi%jD_+#O z!}K6C0yM1Q6DT*#5=PlIwt`Xo=6As6V#0=;KaTBpEwriy(nP@W?@P(-qbjb#jaz0+ z;1F{j5EaC`ug>$(L=X0JS&8iJA9>e8T8xwip_n zi^<>S6W~SzzG25HsV-GSe`8VD*y6BX_ODmog>qwSS})Jo9Axlsi7#$l$TWw8?f0_U z>CUe(aA`CZW{j=S_&T0Gc&5mSeEMwPHtma)S_d^^&eHf}aMZ00`%lOYypVVL8EfSv z$w-|6K4!(MNlR~kz9rBfd3|77JUH`Zv%97?YqEW4vqGLU{;^M>bcye)1HdyPORDr<5MI|X9n6M zBaM-IOK)A2sAqOmLn&!+f4uS&T(l=e-O} zS8nhux>)NmX22TLynrY}cjlE|i4=A%|1v6U{93jJkwXCzJ#BThI&^mahqZTV4>jzT zbb}e&c4lnbwr$(CZ5uPTZQHhOJL#QGej_07fq|Vf2&wV&|&Dsi%52=T-;8(-hyW`?swkLPCmbGa}`L|01^<#xT zOAj``u7)^>EDeILb4Vpy07oXzT@fe8egaT}0zd-n&uoFvwNHTJg*hf=?e^Y^9PRxs)ryz6LHK=RP6676N;6DbVHM3;oUH78nuquB?^x~ z&t?9O=w94^8le~_bW&`M*CvX09sA+AZvt)37w#EIf8RzsR4f4*Bst?2+Dhh{y#k~i4 zS`c(E6nJL89SOLpMyJ-4@{Up--&|n}8{V_n0E+Z-UQQA~tluaisMxpq+q2G9&Ar-N znQWLl0mc?chP&27*<|<@hgqQ*JKi5c@f+7`42!_nt-V1TrDmo)$#cKlghsaZqJm!J z!(5=`hT$|d;Uqj3V1=AwM=anJyotU0h6(Wy0%f1P#|5-wC)7QHc z&ka)}r>z;sVR#Ai=BoUOweJXBwe$Xxl9Qe7#vCb(Dy86gYEo7Dd7S%ssLIjId`}d& zzDi+f_K!mM4487a(zcr|ZeK@be>b&^02^AF zF*nQa(xCX13TRo<6pob(UDx`0db#yrjfLjq>;@(pATq4!_J57uFR2h#r-$<2mA<55 z=8@O(mgW|e87~c)S)BygFAfs+*EN{mhmbdpl$@%Cp?s!u6qJ$vJIug3^A&$l&C&%+ zfS>4%&vjs-D5Ok8gWRTjU5Bq-MnYGfo;oy#<3uAT2p89fs9lAAqcd~Iy-kr4)*XS3 zq#~VaA4b8Z9qkYX1ZqLEAZXoNM{(ziBB^Hp)7BDtxQtBGPb)KdC3FUrYCcW3WO`SG5)^G9x2{G z=44Yn4#BjiSGp@YJb?gGnQ6tFaJ1Pvj2SMETQ8TbhuXc%MUfz0lY!)G z+~Q?R5>7;gl6x*QW0Q!6HvelCZ+#^Sk6w=53gim2=`6JtuzhNKJnFE;RLk5GJz<$c zvBYB4*L&!wWB-@ob08v{UPP_ARRQ)+d_VMKCEwSv2+VNvX5oC~=lyi22TzWd1d3?I zeAV!8W8)dM9@$F`Z~TP6FG$c-QxHi|DigtVVxC~*N&F(Is zA`OHk9M)t&&9{{|ieQRxO*6~$pc3m8VNtW(4D76QV(wD|BHF0yah&azOH2xC3cdi( zEXKSmF3$&*vpjsy;X*oqe_pnx-Y!!z@Ea{cvnB|MAlu3&7qpTsX%U9 z!HEfbhA%OcgWbe6x3@Kf^}v%km$~r~Y3K8r5j|&lY!_X9%(BQJF#Q38IDR2_$vN5bWwP;^D=88$rK#}u?0lhYML@pV#u#drDV*M+;p_j}q%8sNpP3AI8@g<)Z z86IZB;15T(c!}pwZ@MGr(U#E_hl!J7Xml~}fV?yTzKB!eLyNc(9>Y-Nq8*-Jo^S72 zq-->#(!+w_&o_YbPl4~qs2}!;@^@?0T|YbjSmDyae+;ErAs5depxCLs{$BzJQNsKR z00kOVGMR1p)LS$*vV&ql(1sov z*m5=4V1GG-D?s=5oixw#x_)o+ob}-_XQweSY{eH?)TANPtc>)3PBV#V?VX6OKVygL z7Y|89hSMKFiI1@Ov4(=%o>D+^Z!~Peg<@M+jAcHB3l5J%DL305q?uFg%R`lyJdKO{$EY z;VJ20Hu2a#7T7=Er?TSr_%R}pGL6(3-W;P;wU!#X-yTe4H1SAhZE@nIxt%jAhuW1B z?4w{zJ%rOV<7F4ZK(L!><3$NlXB(KR_;*jm&7FelMLb_JOe)4q0<S z&NlZ@yG$cbooAo1Dk`ZFp*bv75@wc6$qa=-nI0_)>!6tRwG!hc_Fj%*Y)%7(`6!Hs z=?BJZ8wuNNtqxk*c+*ziAm{8o8yEcazQX!-Mxs30tE!&DN&rs|mpr{W7sSpcQu=9` zsJ~zSSjnEXxo;kJzH7`(S@3c-HtWn&azlQwQ!S}Y+in(K71=d3TjOc_9Dt6qZE?OG zNLsr>=ET(a(_`QW4xdHi&NPYWW4KV!jq3o89z(lqP()C?0T>+I4YEnhli%N(1(j0q zwA9EiJ8S`nURTxifs9;ycNvi*_Ss8@Tar14NmCIYcaBe33@Anxy^YNWHm$zJ=xVXO z>6#3b)o%bJ{FFug!$q^xe<-Aa0of9`ROX7s=LS0*Uw@%KK(1w!>Pi`;^+R5t#=tqS{(0i zwzz3x(HJ(oMnN~JDlC&0i_DC@z4X#dc)uiR$F!c>Q*c&|mmLW3=8A_ttZ`!;gPUBg z_^mOlTLqYtlY&V`s&iHLu4OXDM15sag##l<CfaArAotU|8X{v>ap^#QfG9O;bEPTdsG&^1>f4Ql2E8E| zqC-fIeLg(T#YQuSt42GvMfTky@74{d`N0l2lfGJXASoar-uY{|{$DGZ#cgY5Aa{24 zl~GTitE1WNuHuhPau_A}Qn-StsU%#PHj_XfD7fDrl+sbS@*y6dogp}DmpsS4T=P;fQ zYBt9d)udVm;JUiGh)5fW2h_~v$rp8X%s4<1Zv_!7-dUOz7sQPKOa2cxg}I5Z7~=Kh2fe5%g3^*Yao7W`p*JyewU~@;WPu6N*wuJs5{HK z9|kBKH+y~9jSDIs>P_D$5nE7wEDhPN$Fmknvos{E;p?y@blqUbBY zMZiWPd{VO&^2Ds1h|M5|S)68WwO_jJ*YE~b2q(hXj6`3sXsjlXus3Fn`XmFBOd${X zcclyRxHjJlup(jQbQc}u!#M^$dp2?xek7Ac&3*h1NqcDPB50eVCXF=2xu5~GkXnQ6 z?aGsTV;H-bhb_1V-LtnaeNpskmR(0OdheGS=2q((@6K$?PVh(0Pzk_=kvCJKL|BY{ z4lgCUls!6_ZiYp{Yi4vzLEzYufgegHKKOznCgkHL3V?mX+&)4$vG4xZy|K<*y{@5L z0T8G3J+FW(@})=(%|>!S=1)-+_g4f{gk%+R zt*Agu{Vxk!(z~rcRuYZ97l*Z1i5+?TLEE1Q*pUe!Qqw_PFLG}WLzHP|OF$-?+D#^b z1MEM3!f1&8&Xda`y)8CtL_qyv9?GHUjs?m(MJbn6NN-iS5pb%PYe-g2p-OYqUf5M; z#iUbALdE=M!g_zf9nw>!6ZdsqIfqL0vG<7AEdF8^(S>mR3#J-J#Fej{X2aNwrtxH?dmr*&|XwfCD^4@p&vMvK-hzAN69q(xmJ=}Y{H z9)a6`3}xjPacg6XK#^I*V_7P9J`8FU0;R5M7E){ETujA<;3W^%t@iI(7dQ>c!xqA%kESUN#ZHj7m@6ueq2~1*!3G zSvPTGXb2I(pN4-1QB(MvyMaQi?qj}!@Xj_Pq_T*)%MLhl6$oL#S*g?}&Ig62vx~tBal(U<(qg|b0?RX7g5mVnYE){82AF|^y~HZ zKu^{WyRk~Lp+*%CkNjFr`NK_J|Z}4ej~KUF9X%)B?01mr_-Ks%5l;7B8%W%584X4il|2sG;TiH){A zn(PKle(;!LA#6adwhdC;o6{1IfaI>q?w1N!2_-ak`Wx_+X(2D=n9H+c;JcUyqHuD2tM&!5%*LF}FIH!h+~3`T3Q`#2v+W=L5p zM#B|W)w`^zE$wH)U1fo0u~rZv~y z1-D=*jJ#X*>p|VFLSE59bc`D6z0LoCfojmWrf#=QhU@JZlQxoNn`X{_`K)n`w7lWt zl7Jh2T>7B1Yj@_FOo2qP4yWH?Ngrg*AUi)G7e{NxxCjdxTfVL8Zyr8b79>#iEQsuG zRssYiSyd9_)C-@I{?{${gz3?e3j$X=;UCO^edo~n-WOut^%l}zlJsB>Huq2*(UxFBX|R$Q0!(FjUC&NANZyez|wd-gW>@Xrt50h#Pdi9tRd{EyIiI z8@Kucx^?mN3XytlILE9?LeV3N2sn;jRwj}{eQX8@j}wKw_qC|A#In&h`zgZ4Pwt&8^;NpwZk&$Tw8RDS{Hw^TMAj? zUc83XJv&-WNKj+?r9MVIr33l%%%h0g7b&Ae}jx!y>*LFiwA)c*QTF5 z@wb?4e}zp(XMd9<8+Ih0;adXKF+qGvMm7FHk@EVvHFJyRd;R8%UO_FBW?OUYrt@AT zbnv{=S66G*;?^W&a}$e}G10f4!lhXDYss}GAwEqF$&r#L@>2v><^5%QGUdf%eQNuK z{kmmlYYl{XaKAG1i<-Cd=!rUV$^GRj?8Rwp=dcHe*}{bgAC+ZgaKmSewB?XnW8x$y zq6ty{EE5Lz=i5=Kv-M(X#=mRnandjsXq%5Z#yMSs9uclZkIia6I+HoaEI(<53_kku zW`*o}DS;eG_4gOaQ4u5)k@BMXEd=Lq?uaSUEiWpOFBLynSH`amd~rs+_#oLl8?;Oj zA^NbyXrfPB94a53f=xvTbqk;qqDtyz5sB(=7?$@GWn=(fAV1W^9E;M^Uj)2ir^cSf``9=4i8#)FZhNg~QG*UO73kLisW>iO<#w@7L~ea=^p@|0hx zHA<$Yd4CgVA%_J!f(y><0$^5zy)9%#6-!ekRgOpwy4|{#3b@k?Q0Gxoj-29^p8^6> zmj&L@xyNH`!^YbLh_!VY_Bc8m@M2Y3%Yx1(|H*Y;!>g-+8q>3RV;7KTn3wnBa3^Tc z^X6vIqb@9@J*SPngN(#DzcBvC{N>pQp7$>vl?@=b-E$woyY8BM1BU^uzC(7rGxRVn zA|*|c!fdF0wAw0ci*DlKMH*?T{VEL_hvFhXRp2unadU}L3p+PiGv51)9)(3u$o)n~ zT$5fqYp0eP`qRVe6!#2oha=ZA9^y1yGp-42rL4unt1!EstsF)DLYG|d1BTlZC-;tl{rSB*cr-@nr84ueP5TGp zZxH$pR6U(Kq(WD`-_2untVeiKm}hah7JftYBS`~=&7tGa7^@^(blAgI8A7TaigJk) z_n(x}d#><0)PW3I(-is60}a)N#Udu`brf8)-a9#^4OTZ4XY=ql#+t3@OZFvX4r zXT^qk1qu@8kIGS2!IpFtEfsZ}tP}n8==I6($y}13i_d9X%Z$9&*_K7%+Bvn5I7e6m z_>f?dBxD@XT?_r8tc9G-Fjdj%pg4zxv0v{hk)EPyNxb-eM_+pdO)+d$tQ4~ItrOid ze<3o&vT>)R@Z22WI^Wu2=c$r47xj^1dim-xgiYpUG1U5 z0FKsyu0>CMB%}nR?=2Y)xx%R9;T17+KS={QHk)6{c1=#;{0v)ce19_`T`ea=FYVPP zxh5m|?d7(9E}QX0D4erGnDqITDmHJQRxU(sCdO@tDfzT`#A-4E@mKRVssKaSvqlu6tM?#;wu0S^(^3^Zsa zcKR(y#+w-{nH2B_m$~^^S16U5K@Z3LS~ZKHUT#GWHXMs?{;j~F5@#EQ)FC0ngn61m zLwN~gw~N0271_{%{-v+|t6JHn5UYZk2ciRJwqSZiJAgSY6|(8F1$`M6G{^lGMll6s z^~Lsmw11NNkQ7Ats71h_nKhSKLx%xv@t$K(* zeL%AE32ivyF}MWr*JS{lif0*Jj6QIcr4E!5i+o~+ZBhWNCX>^Ccf+&Q&%yJrTmxGY z0gQR1Zd?x&m4`0Fh&6<{=*fx1i{ii{s+$A!Na`^Y*qki8Ay@my~A`hlvxE;YCfee5ltFf?f+FVaDu7uY0A zPDe}nojMcwpiF1ek13+bf29n-XElKg!O`Ig$cR(6He=w0N#xVwnG3S$5juu$szx1C zC`gix9b-l-ppU`WF#;7a5L+wh!%3jygpv|VE`z>6!(dfzIX$xb|5BTcJ?JoH1U`6PnBHk<-efcA#b1FOzTq=iVa4LuocBgeN28zm!;+SexgJ+$pW9 zGlwH84_XI|Bmu7pQbm>Z4$kE8{B5W@9?N#zhfGoV;)&w+^h%PYdFdyelTG>(U1`d% zY#&x;_pT=x)5>$}bG)N1rZq)8w&q}6<6;7!nv1)N{@z!VWy&-m^3MmyC2~N|LR77+ z#S0!$)Hxg-yc3JX9L*E|3vUSiyS`YujzRsyL^?~YG3iq=Mjm{ zxQGNuf;lX6RRat&vV+aS1BGclh=6MiVs8gt_jz2~U{I;L*NJd;<)RTfOO?)&8*X%* zA}$_P9MZd|GZUu0T6_rPKyccW+(KWn5boq<7m|`_DBmfyK|6~}qTsdUikZl<>YsNu z40F&u?Tj8U1i@LjXvRy<>@d4dX6^%WQLq6MBA+aST05bX^DjaY!43QNC$;Y8eRh58 zTGlVF-qN?&c8tf=I2`BSkw8F<4UO5`Jafm!^JxtpzI}A{MUJw>7F|ahA0_kcV$(s3 zK(U2QZR$VRwA3RKXWN~oefz)yz418}2hIeRDvCX9xRmLvy%6|wY}z>KG0%=hux90w znkl!pMwC5E4AsD@#>+p z7$JS!v2}<+%UUW;afQEq_*lB@pQ{X^T)g501DjG`R!Mh%VCCRBc%nr#lJlrlZmM2$ z?Ub4|aenMuJoFrOO5|*eUT50;b{+&`8Nlt?%AITp#mvPCEg8&s9b(YW4<>M~KFBFP#w) zhh$^PnwB|ejps^{3wS0;GY4|kO4AZxcTqSUT`r8V?Zxyf(vO5fKzNxDK#^8n#5OQ7 z{=K1Oi1*k|2pR2dPy>4ImLE6$`-{Df*woe4M`K%Y&j3r8;}p#yskno>fO2J%nn4y| zQ@PoC)r)aTh89v9O|5ZbW{(`~Q$jgLWu?Pv-$=p5Ve2KHx^0ow>gs6xAX>^EZr8Gt zeIJPA4I8PI|4}cYkiXp*$$z@L_z>#+xSwL@KoSjiU4M-Dv~_4p^?1YU7Tp^GSjvE! zg=9mD$>8T;U2f>eZVKAQb^PIIJs@XXaFuk?__A5CZ}-`EyD68OgZ80a@UTP`?hCFk zoTu!w@0W4hX&R5;H)y{GmB?GA53HdCa;q<)VL=sc$7xlg&Y|fvseI+};Bn#@3w!|!i zipE<7J+A9#2vgby5Wj z7RaIf#w8jZI-);$Jw6YhZqyMBBh$AXM{%oX(Z(^cgc2d!fiGB6U))k#!MN5fZZg2n z7Z)N5U(R7fxz$oQk1Lw&bYe8pR;F&JIHAm~QW|lP4BG@1XXkEjHMRZAsdE~Gh_m0`)t#gEk@(EO}2|$0S*nn&IqvUC}pe3XsIor{{{xFVUa;`Ok0{LAy2l!;Smr%gU?sJQ*v8U&SA#Set zZFEm=F)ul3vg=DQ964Yz+!0SLUL0P7D+7Gvc%Ce7Do#B_tzZZZgzJexHmIcxeQ#+V z5>b8uNh*DY{9Mf{;{n+!vgAb!V{tXfpf)^!j?P-Kj7rLBOiVP;$L{O|JZ0-g{d7|$ zt{rpvFIdHEnr8#1MmdfqHuF!>ss>5Ch14@oxeMaDG%ReAH6sn7(`g6qVwYs$=!c9et4E6xrAl?i)danQRqXg<+Pq z?!GEp%JPI!*M|rW-r;mx$XYV%u5wg7&T- zgy3&~dV}F*A3^!!8O25(SFKPq(>~^^TMkNaI#>=4tsylIj#=8M(vMix_3XF$#bJGi zMX7THSJR-@J4mzeJYP;ldOABf{f2+O`FpsDDZK0^XQg%eM$A|mH5TvaxFv?}Pk(}2 zP^-g2D?8pw5z`&Wixfu&gWu69_JcC3jMt`i#E%f{HAz~9OEnS$-_wZST1N-b#9{+G zGVtWpRdS|pxQd*k40wnMB+C&YIc1lUGYT_h`O#c`61D6MqKXXWz)dGRtIHq6f_aO| zd3BJ;Uv$kh!bAlNBpG6Fw~MQ5|0I#)kR3=xwcTiJRwz-UThGC{T(-?TtYK;JOCyl{ zcGN9UCUjVX9IbxHi9=qYz|^6mc!Y9@W#;^ojKy|g#dB2cD&onIsI_D?(p!=?clhES zX5Z0GS`wMYC*c8SMPPeoS9P01hMoXb43+&ma|#qwEqP9+(Rr_=)>%cPjg!&UiINP# zK@r9#f_2UFdQNaFtF_l7*_c!-uez9yNUlyDHToZi$~>ouv_^OC>zVT?k5qY7T*C!H|b+tCE2uN7-sRr-uzU<+++ z%tM6rIu2Sf-_dUG+Is&Qf`4-38h*NQtBn-z3`u(};Oj)fTTy#LU=eKCRn)P#p-^_~ z?+k34jx6dm_{I}sy|&zh)4?>qmphp5+EMziQ;f}~go;FKpb61BV+`ANAZ@eAhClw1 zlgX%QcAMu1nIDMV3)b?MK>y0l5I^`oKGB4EDIETIh#q^%d zN+HiD*S&IYrYOlj{+@S~bG-klGye;zz|;=&CBI0G|34tr#Nq!MsY~ipHdw6i-Dszr z@aKK7yO$)~pb>$KyrurF_Fsy4^Vp?Fm4g|QHm^jQ-Wj+Rogq4vjGMpR)hUMR_Va^u zdD;y4cir4c)q7liF;rJJv^?k5&jvAH}+BwKrXSy zCee&-vfptucFxCvaU|?uC$h*dZFRz4?2T+6>#G%qyTgGb($%>l2u%@<1qHghSl4A$ z^_T{Ym&P}rL!?Q$SOr=R`9&qHWuap{N#jzGv)`kFck7;%V10r$e|gXC^2u7WokC=L zQFqe;j>p%S659s7ORLtDrizIZyAc}5%j4j8S{&1(%@QCc_tEsa;!$&I=l@Iu=;UZS zOmNvSoms%-O!0Vh$Z=*epn(8PAh$&^Ehs1m6%1LOi;7H+sD>XJZbDHi+aU%xOIe(> zP4~_bHVs*xD0y0AbgI#_ZaN?K^m#|;#kC_g*~zul2E%2^6L^5a6En!JuB9kNRhEjn zpm$eLV-oDB>7)$rzx%G5&w7fSIHY9_ml?9{`8Zift<3whzmt8~4MZyNo4#%_@HKn3 zDcy4Q&7N|*_Y5!Q9xUQ4Z=B@d?fZ53ZtXq+SpVrSp%9 zB_+$A#S|VCB@jC45h;j_;_{U628!jr+lhAGiR_CEI$;v|EQ?MdBI=Xm_ZPN1doZ0D zwXk(}LGgBjl4#l5mZfBAPt1+M3(if*Ww5<`UK`vqa|kK$cr}uq=McC{pbRJGpUjg+ z4^*IodqMx#xfkCJ9HkBQRv>TL-eDt#NEoqh`!~eV_Qme6HzJ_YAUj}Y<7lxkP82OI z!L-PA+?_dmA!2K-uv8-x<6ruU-F13l?DsmqzXW(d?T~ME;tJLIsw8$J;zcHQU*t*j^%!0RN2WbUOI3usBB5i* z0UAne>K&ULr4U5V6U9A)Ro9uN`=_PtyR==nfu!bE zfA$e$er*0VoEt@)wrIYeV0P=pEs*A;aYi!JH>)o3Rs}gqPV zr-|0h#NoP-;hcMzhzKyT9B~=((_Rox&=uDWhT+HykzzTLh+7qkm9ph$oR&t|Ta$?f zjGlZc79}!#*XKYSsIz23CW#C|G-)dV(fl*?`;=zqN!8$i9O0tFYwGegfcXm>Zv8B{ z0Jn_Ux@y34SC?RB<_0C-#=z85Z5+y9Hg?k*aIGcu8G`?WHSX1652|k zlVK-0I->-SpVGA0g4AsRAI3+&PqRNIZk!T=O~hg2t8PL~OEYtple(b=3aBR zpIzP26th8Ka^U7{8A`BCy?JqaoV;3^tHR6v1@_;W7#8g#>j?$`V1xbtm6;a${|}g` z>4+?h?9(#-Guzb7hcX=yyNoFbB2g|xM0}seBW2>@s%cWPa+X8t7}fB4TY zTnqZrz?~df%ty+UWlz^lX6Ewx62^sIzOZ!tjB)FP<;3gcQT+O9EkUrjj1=85n^C>xNiu#q{mev%KUs6%#uexQ1WyKb*^q-A${#o{9q6-*7FJ1~DO{4x>YfTA=KCLPNwpLtA5#ZLg49h-n;ssdlOT zh&B*IUTV%xg@4st#O7x>5N>8#VG+f!d9dCuj0Z&Q~H)RxDw57KvTSCe`=2SUR z7OF~i>dG^_!xjLSEIF07Iso0hCi0A}mB;14OavJ_+FFgmP20hF!$>G06kJ6C8`AnM z%62XQJEy65n2xtT&Xz|;2OD4%rRJPI!XZmf$AXeqk`%2)#{sNikSZ*=UyXOSOj%)H zvxb}QR~1915wbA>i?^26h-|gpZy$K_-c`S^g`1u4wbE9R=et{Vq@}{FK9MP?v;2;I z2s_@f9quZ0F>+yYEYc&=>RkP8e-x)nDOxL*-9KG;y&c!S{SyirOv)~2Y3@t1_gW|u zO<}i8`Sy)ne0c_!Ss$0Vi5qs3j`{J!PI5C1u1!DAl5|hkGA5o^7*6Er&RS0iV?PiT z!$t{_g4znjxF!CCHj$4V*4Y~{>e~avLG~e|fwF_%{B^`OaNG|tHI-6D)aBzq8XH3n zHZ@u;qpwd9E@ubA8zHGld?~Y(S73-ea3Rr;EX=Xw5Ge^Es~PoXBQ#rkloE${F=q7* zMN3;sGFUgkaEmuLK}>AC4WC8NEygCHES%)mOQm}3mX1(J8OmI<@*n%hYpm9pWZfsP z0(5+6+8_m<8*$m)Xr@Qw5%fDe8ZY z>H-H5&dyI>$Ca_eLN*;!L|?Vs`pS1O8Q#r@OzpMP>cXwjS^Dxgl;qDIL7*UktsZhY z^BYjt241!!gWb;n2TXcs#i(mW&Hkk1@NSy<25g-d>h@3!MgOcR@&6W8_6|x3MPn}D zoI|{Pt*w$W@!S3=e>Pz`p4V zt$LSeh3IHzOcv$PyMvE~mQgu)E?%tAAFq3f#G!iw05bsury69A9p=AIbu9;zMl1Cg z1OcFUDRgu@JKAS@GZ-X$b<6HXNKwCTF(d9Em*`)Z*K7b>H2bu%?_$0gd@npQ6;7n& zY+1m@ZBQ23uHBYCa<_b3|C?(C9mS*8dIy8~^NpL|?@H`vmwTP3I`Vxkh0Gmg*!owa zkqX0A^PCuGE>sKmX~Otg+yc+cW;`lBozOY_q~lLa+O4jVR%9NfxcEo?iOgI=ZQxsU z5Bj8?DJH|A0;xhaS|hc+y5)<(Q)x5$)InI0{X4|q;c+rj`?Nr}Z&l<5u-EX$J4)-K zAv>%JokcB?dO*-kHO-EYq#XW?B`&EGPPHXyi8Gn*kZK-Cz&Q3kq|fR|`)s2+2}CVd zt_(n>P#Rxs9UjDmhbH&Cg^u7Ib=N16$r4KHODc1w<1C+5^_F#unz)tuo7#~LkucHw zZ~^1kCJ0vi6K-nN`F3fHHwH~zl*q+{W(yFvXBmt2m#u`s`2f}dF0G<01BFO-w|Px7 zKhW(D4=NWibq{e9uk|Vajy(n507Q!E;<7EaVi=tNO9b=*Ou2XlaeZHDk^55)@DU~W&@;*=DV~J;xB;pIW#O_f$~-K zamG;*ICjN0Rz)LNYf%1=_BhbLUFt7MVfxltkfaY2i;?b!I+Z!; zn{L^8G$8ujxXQ+If}QatKRKc=a0O>;lULfCoEGd9PPDDRxKl|x0ZhN3ya*aD+}xdYg2w5{lO=IRkv$e13zOElRAH67tIZ0}6ZgK7iT)|?g z^nm9Xu0pu37Kb>`)5b$E92!|gn~CJTuQhQVPHJ_lG;ylQZSvU!Mmau2N0q_lNtuCF zm13g=#$-6Per{Ehq#c90{VR6dXakHG(+>m89w1t})`tZ==l(#Fy9J?PujIhK}e)#bYU?Q*rL7os9? zM`Y{3f6}=EcwP>;4L>97yRP3#)&dQ4OdwT4bg2!EDj1U>uSL*tvNdaJ=$=04oHLzq z588N#0A1hO{TF+9L-=_#GS@G1Y>j7tY{=~?2fj9urql5xM+!|0YkRZ$Ot04_26!Ti zkU$Ht?}F@430=Z&x|AaLs$g(|R&tJD4P)E`MMHPQck73U*JBC9gxD!eTGnFoKnSBr znY2B!_WLZVRb&Dmqordcv5htz;3f}!lzE0Dk)u&@AE1rvh=l%{IwI=J#gFod>()=^ z^`mGXex*fs&1`nrxDtP{;R*E@Zn2v>kz0j~XrF1pR(rlok+Dn9A0HoE@b5!@~>}bSd}O+%uFKv9`KaRP~>6vR6IHw<}gdJ zz-Y3JZEExm*EEJ z@TrSvk>(RV&;ThuE^o%vmSe69|zTw%aY44U!uO$|D0 zDU$1Eb=|og=8ItV4<1EfLgl6jND@+8A+zNNgn^j*Uy(xAXW>ZTWEyl)to7opNO7lr z0DE%4zqUD3w^56$N-OjgBozwW1j_xoS*7gLby>;9KR3ITA6&$}7lx`Pcv9P`UpLQ} z%D?;!VJMHM7D8W!M2R)tH-S?rWvSN3_by0u^rlt`hfBE;RjPFxn5ha3-H9;g_X z1wRYZ7x}dfXD5#{_7G!wsuu}cLuDXwT8n+F_mDstyb&Gh)LRL=eTF4M86auA`zP!% z*W^bafJz;>9-a~fhus1lPEPhJ$td}y^1*cka)&!JJcWLt7?rBh467~8fMpI`AytGf zc4@HvDBWK4O!wH8C{m)E0f*ql5!&9TTh`-DVdZtyu!5cFL(&W2vthB z<9#n&Y#R6^fW5T}wQAuSMdIlbDiWxpY^(xENS??hhzbn-IAX(Z#~5w2jy6GTZ3eDd zVm$4AsT5-Mt_8^bOaw_KfTuA@Cagk4*T)+2)uo1BMH+(FEhn9YPJH z8~N6s4H9Ksp{}apo+|JF>wkKo1{k!86*d-8sCwzW)Qu@ft)N{2znvm4<@drYNE>-@orcK_3TzWXbD#d7UPi0912Ly?ti5Zr-^=$qguximhUs z?sW&xc6^&Zk7xGmO>`jd%6$?vYAG}qbn-uCyU-HhMaEjHSq1FO;)D+ETufYC57VuM z?_QfWa@G^_m3@A#j)NV#9(GT)e&wBi1L6MixoBCf@7#8rF~z>QYSrv0$fBR-8C1%(6z~TR#k5!8f)B+~&JjZHnhIpLs@$6j54|;5@PB=qu@(FcO=u zcP2l%%_#KX0_U_`e@x6J-e<1JtltILYP}yD5pCXJAyq_=jY-P#Ud$Xq79UR=T-PIm+x3T#$@8I;p-vNf`f=5B`f4!=GVvYDpQ?53k0cb zjQ-Fc#8u^{WsUvqvV+8$AkNyiAw*t`WpF^tS<6-T6l|d1^KWr4S;=*unY?SvDikmD ze^U?0A8G_@=sx8*txdpW^b%Knd?4#T&L*?;=ODHg?hF88(7O%5x%_wJZkN-{H%Bjl zofL&}W0DdFWWhJy<>S3=(mhLH2OgUvjqNN+^y-HeGRS9*HQQICKM|%E9|N=jfVw~g z?f$2nhdMU2I58t+Cu}Qz{D&)5fQJ z?W9fT_MNfCYosA+wKC>JA{+HTv7?PtDCsXOx$1}sna#CUhCDjm*8ESutt2c3CsWIA z*4+tD^7`V?4(2XY48cDJnvzgQktxu{bAUNEMAv-kNHq(x0N9t1f|NGlVD5HFClGA# zzWPHcS6B!Zc?tA?*WzAf|3soDnlC0$BRKx@KKz66vwGSakIx#3G$Q);al{%I5>rSIIMSVYMNfRySO`=~L;Se(CE zvXn8=oDVqyzS;m*u>zf2U#p?0CMvgLtI;df$((b=ZGbZqv{<=%()_b-7Vw%)1?X@= zGYY&n(OolA<^osf`>-)EHe>NXcSyBogXcaE)^$xn!Aso7zk@T~pFoJe(wsB^VRA4* zsbu3aZ(OWyQHpzoKTlP87ki?T6bThUvY!j#Jq}g~4O`xUa|mco+k!yeZ*oxEP6=H) zOk@Ut61n|Kl5+h|B)93vAtlcRF0x&kB#yU0Nn#E+4E%7aii-N@ z(eOA;zLYb*yM2!`?=S~ zPjWm{y(4UAMtEi;&@m?U2kgGr;;k2{sUY38TKHN2OB~}+CRvs3SZDzMWbweZXX*nF#2}!2YP|>w}_D|C2_kA?i z@xuVK8()IbmfADn7pij)l0c^|z6eY?>9#ih6m^{kBs+9p%_Q*aB%#lIc$<-+yGNyp zjjM2!Q%c}A9>6Jei#g-%l5Lez%B0iblJCN_n6^J5!uAj|wXgNBRNI{Wb2?IVbV@)y zrgw@p_pLNI-x*i9qVrOoytQFk*YR*--(33F$VFtPyds}L{y2%I4vA`N<`Z;${~5)5 zBZ=byN@A1(T97fLdwHDRxC4n$zC>wnJX+S5o0f>UDhK35ckUc8C;pnW^6xeOu_)Mm-h%_$^7CjCsYZw2OCwJ1#V1iUK8Ef*gR=zGR4O_fU{LBimP_U zYW91_s}sjV_vJ=CA5*g9bEL8P8`&}Sgk6JFA>k2$l@4-s-I7BiXFu!hRPNZ{*(C(A zI|H@oF7iy~Cix#Xy6NgP5-g8wF^JUor|J=BGdY(8xN|U2+@WcqwJ zjieg$Kpu^)jT=9Tlm5rw>Z2y_R2N{)W0B@d8E&qarLCQ!Yr?>WL~Jb-^{WJh%!%J? z%GFn-stzwpuq2m`U1Q0%3Q`*-#sUOrI5y!QTY@qzN0T9p;cp`8<=nbEd0`$OmDI)& zl-Q8CF_O>G7nHQ3XQ=Mn=F-*TmQnTv^uPzt9d&;@8W{Ij8;8xpYmTiBL4EwHg~g5h zcr_|!gc(CG>Bfg|Sq$G~It~X9i_F2<2+7oUIJA>M(cLEwGb;hV(!{225t4JMM#iKV zZ$C@$f+oh~`i4_4EQtoSC;Vv;2YEiUCv2OO$Vwpq%K$MR2z(&kGa;+17Ua4Ckji92 zgG?iLy`@|LTTQB$W?8=>{6F_6`LeK(ZcKE!7hRYxF6$ry`uKo@r^7VC-vvX>Vu3B5 zH1DZ??EdpZg!nYc?(*09e)|6{EB)`>5d9yL*8i=nw5^6DhU|C4@r8F>MCTr3+Z3A> zHX4!RDchVBd#~@K?n*YEGHu(z1a(M5iB2w17EB(|REF;hXsMDE`^_+IolyD>)y>oh zVE~kX@0&Ep(aFT+)O)#RXnSryk45M{66x5PV8NDGZ2tC7I*RkvBnY;*utd)fn z9s~lBE5hDKl;DprraY}EOVD%WUe@@AGsR`INi3OaBG1cMm9`L(SduNNADL6k?vS83 zdg?#{t1^$q9hNCxCQC`Llcqgor~A}^(c(O*g===EVD}_(ws+ z^jn*!`vP!p{AlIJe;&Qq*GAQqj3uLLn2=Mf!jyFEc=b%T`94o=_cWJEbfA zC*u3%#xsdZ>($7V45IZwgpnqERpTP*` z99JGm0tu{y&YEw$M1G0>jse7*-TBlIN2(W93a(JTQgWGzUf_9W)kvMMc^{WewUHTd zM`I!^P@q^BG0oPA;zd;W08}6(cz>-wY>i%(;{4oJs6&7m%a9@1y$K$~Wzfwsjda1r z_%F+cN+e+_zcIdLAujYy)<4&94hziD0Kz#27iVCfNE(>JppD5?EaVjVOZAF!>(sc1 z$W2;n0`_uF%Hc6ri?|+(QRwO^k>zFLIYFP02<6`+OF<@OFKM7M`9(0$KwWK5F36?K z5*dSgX#xkfu?6el_9P91$OCMg@T}kt3=nu+o=H|RI4Tz?tjYnU3RchJ>H{M+{EpZB z{=#pPg)NIq@r3l1&V5xVT*_n}b$eWw{p6F!`hX+iPWF#|w=`P;#5Mfrp6$t&No9P9 z?L@@hP9y|1LNvp{QYe>Dc{p*&@vv=uD?6yHDG?Wy)DNn@)gnL;Le?Y))7lg}v&c6# zb$iMC_95NAJ;Q?dhI>c)zE>!_yzwZ`-mdX=@V5`_kApvCXzo7`v%MHFS$;=BKoW;e zw~?4O0GkQ4HZ0gva*QO%Kq#)KnTfGRkXZ@Ax~%#mjHg=I)p0wb5GuAOMoU@cxhSE zMEN;|<+{2;=j@}!6Z+^)&%$D+Oby}fkmAiR;QHms;!U;gDe$Gm;9-RpURcS3nnrO$ z#l0t&xBbv&Z3nk6edsy-!y6lbQ$JeB9v3iWq7cK*Xg4cWI;ZZRKhQ_nk7CCpi|4g7)P1@|CGI3{$CMgq5{{dRAZuf+JJfGoagF90<2_lk)?vTxtQm=bmZ6{EHpBq1G_Z15tuz?WE4;eoN zgQ9p;Dz&CQ*dqliD5s_FE$&7g>-RJj6h@!`BF^mF!p+vHZxpqHiBj=&ed1a^Xj4iw zF$mt%gvxKvkguK5OnXuK3xF%C?61q+urdS(oHN#f>^oHLspv>o=?lQ3@#X!W21pxr zQE)uq)rXRALnNc%VKW!Q%^4myvYY0_dvQhaz%~>erkD=W8~tU*ETkf%(bK>f=JPcO zXHR^H@NUZQUImDqfp2`c%zu`O4$W{Q86n}PiyoQO_JWD3JkYoKPWkW9I2n%W#UuKu zZJ_cv(2f=*l}0{XXuZ3rLD+zQg#~o>Y56Nm_Q;)|1wXHteLM}llJHLB^(M$VvV%uv zRoSEKqHD1J;Q62ob>VC$2oB&bXpjDVACvwI{pkrfIiwyL`e8o1JLvM}HR!8(k)Irv zgsWLA>i^kS4DuHe;L&({j&k6aKbuC09^b{Bw_v=$u~b4RQY?Cl_#tR{QgE zio9B_WxuARa=nz3LA+vrWj?&Ui-O1tvy1z%4hdp1m*pGiKclNTVSNJjueP52ztGl= z{?A*$M;ep1ha)K4U}Jp9oS7K>rnANtO(yIQ{GfH#8Vm0J?7GT{t;2}plqI+{3cK)r z{tQ$!&F~GkGyYBa@4b!{W486{Jn7dl+zjvn0KQERDp|*J~Ig4L!QA>quXJIyfdbX4RFLJ4T+WO}wp@udC3|p_hT>!zgx$f|#8k zg4{q~QuO{xuy!|byTth&9zv0j?K5*)lFkvdp2aJ+n9Z5D`9g^~_eV08?%cvn_PH~r zg=OW4iHG+u;<2T@pU}I+!st3q>KXNUdvB|c_4XFkbLpgWV%D@e7D3ROl)y=u@wBDO z1ox*jBr!7p@fYz=ZMub0Bao_!Uq!qfG9h?{-l!gONc|49H8|1IIDv+bR2do#?CSn1 z?z&Af6yiZy+y=Szy$O$*(@cCi>eBT^B(q+fdr!p^2I2V$R<_|3W*_%XE|mN2sD0f* z)T}634lVkyqA*TTP6kwcFpypy-j7HrnpzpNp@T{WN^CKPD$r=c43FuI?dXt3*y($} z`LnK7)dzMc2JOEKmTO{zA;G+3Qed$IQuDcnm5+%B6Z*`YBW2t^9RwQP@r0<{XsNJg z#LLR<9vzV>?3C0bhV>=mg$QT%ev877?BpBf$>RI{-wyvKadociq3O%)cn(nUb!St< z>lCCo@Jb?rfdMf)LCRBL8S6|XX&!({53DZ{=d4O5-bJbGx!76H?w@kdu%g;%*D%C= z`q$NTX0FC?VFI0c;kqura`R430YPB`a4TfDR7;;gG(KzbLu@#NWMn$^jm)@}xB#q4 z$p5V_tfvYlh6=N+<))t2?9vwivRdEHJT%%;F}0==A%kHpKfsBY%^wP1eypPmmsf2} zm+@cY+-&-ub6R82ueJe)xwLw=-2g?@ZilJvU{orabnb1Dpupjgp}+xAvPrh|F0+vi zntGKYaPX7NpF`W~pxI(Hl~~kj4(ak)Yns*a<_P3c0`EREvksOGZB_;?-ys@8%3qM)jR8<#7t+TETPBgFf%52b(r_)Dmc8f zcDuC5mbtyG_FdLpb^TqMWsFk);rC94^zD2KvD#|3SEj6Y5!Rh8gkHS&7gJMcs6jZ( z<=iTb%YjiyNv%Nk1D15nUQ`h!M+7>nzh7_2RdW{^|6hIW0)z~(ryy7mzs)f( zeDdoqcNQuLaG@z}pPg^M@1QagF(+vHW)RZh*IQc$~~%vP}}j9E2NLp z0qL11P64qC^>i6(YQIz+DhL%@jWkFXJSb&qhTmUsBGHHY+T)95_ZIV&T z!{BY`=GE*c&F-xsV$IH%UnNW?ATiu*b0wI*h7?YfnRvpml;xD5RzI*eGrwf1rr`qC z4eJM_>t){q}NK*7qFRcOG~bE*~UjdF6Ws2S%-~m9#XdVf3Jc2CKcs z?53&ikwvp(`?@F&BV6pd9SzBLi?iG{Cn5{iA3B0R6`#N-^tlp+bM58F3jl)OhAT*^ zwe_{Nw_yEOEv`(r8#Tjk!Snsx4z3U1;f}zA{>^vS$SDL3vefXp^vE&b!MuJhE6tm) zeQuuZ{%0V*Qa97c|E0NW{|g{C`M(3iSZv7KXs3Me=Ochw=|z)*3UMQ_nD}tZv7Yg! z{ptC{E7*>Lj>c4ei6$%SE*E$g?T6x+(TD1)SE#*^*dxqz!~cq>svS%Z6ZwiN+c}?I2xJ@yv+yXd z#YR&0_R@zhp^Rn|2c_tke>(%rVdlz3I5=O3a&_g^jIa!v&t-1+lV(Y|=)Vc?-~9=) z^3n0XWl8DDf*&WkNpfASjFsJ|&A|ql|onxYABfuq2ur! z4&4DK`2f2#c`dJ}Qrb~wG$MivITnePzap0=s%d!=@XxwoJ zM`W^af|o=hBk$1|-wuzP_x%K=ORhmXRfPIgEC~`^(y`#3?p7`7FAnK#vu>d4Hzw$| z%vBS`9}oNn&o0*HT-%lgI}mM7x4`QdPeGOkBnhu^(gDH|(AllV#YO`7Q^&xp9EJ(b z)H&D%n84#*B4w+P3rLMY+ z${E|Zp78SeA&5W8Xj4l)RC?+4Qzx44{Zw-B$=Dw~dC;VUCdQKQ7z?1kjVbbXkW6>I zcD)5>>aU`igsr5r00KogOmv-+g?7!h$Gt$X!{%0QJ~#&Lzy;5>4~wE)D~PkBYbiM zB$+wNLr1$?V<0C{O3j868CH6kNKSOMtK}gMa1jJkAgE;Jcy}b%HA6BnI;!!j*)g$gEI;{aFnnu@S}on!B(qV;4ah>ciO;56 z*jcTr9s1EV^hHiZF>e6co<~XpUCmwWf!gfG*GXtX-4as<0j8@FZ(NQ^G?^u9VINiX zBTK3f?^wLC1~*MdA>*e9>qHQJDgnB#4R0rn=0TI^0mJ8ST)BMF2--->dCDoBD{`bB z*T>JCFnuXLhmc!&Y_Pvc9Pcr&57lxZIapz?ScTz{mX|e5WD>{rf&{YH!g}GZIIDE% zv1*YU$VT&}+Dxw@2A~Ew6Fcb9F0N)_`#Vf! zkV%7<5>A-5$~+@kZ3J%>1$I;yIrKrI8?ZA?pNv{IUtO?xeA;=2+`9_;PHVAu?iPh9 zhZka)J>NRKxisIwvRWwCAD%YmS);0Q$Gs+O6gXL(vs8Zu8jKA-I|j@H2B_wHrE*^i z!mbJ;T8v#bU#0G92DBS2dD9fv@(qfc1t3NZke*Yl(J%?(*cn-P+ljVBkgGL&(ZSO5 zslJ`YyjUExrvIO~<)iqIpoOKFm$?iHbwp&R3yI^HpfZNStsr$)7b!z;wbHC*v1zXn zNC&Y(5F7n!cfgjGXZY7D=vbIf72-}6^XHNUJiv+5>RH2?i2fg!_IPy#!Ih_Rm{$6E znrP;``A?Pf=-=v-@Q2UOw)dc#%A9Pwe>r?+LEK+cEVO|(44Ue&%kldSP57XUe$b9J zg!<>2#dBCRB0YcW_iqt;+H3S;y~XuX2RL(Z9VSG3uvVfn_xUq)1-|oUst&vPyK*Nooa{9{yT>635VzDufNJxmh%Q;4+(#G$>TR zFRdJ!0oLAak8Hr+@9E7O+9(Fk2XbAk|K>g`WDN$_;jAvTv|$19`Vs4%m)@mT`uz{H z8vjvu@~>oCjQmBz@c#uGTKwP8dnbP*U&!0P%NqU)Xbz^>jAx80NfJh#Ptw`szDtqJ zP+?sO@__(A{tZX9XAKwE9nY~(0N!B*Nt&uzsiRDY0{?pKe_sdkKW{3e>rqiCnmiXg z;kYk3a6LaYx#z%m(0)F)G$uqGwK;=n`xr1W!iG)DMrdEO*8NA}REqh9N)5K;?O0Zc z!J$Bb>!};s!XIieNvp;m4)6-)VO*T=7{3OymI=quXM+S(H_;I+jtN~Blc6&E`F~(x%NV2WarPe5WVR_s(q>L5p@?M)- zBjyakCI*zmR4;uJyUj7&pyN2#Lx41TS+OZ>i|AxT=<$PIMmGsrpdJ-fO$Kpci>LA)r2k*KC>T!XPAq2 zP^qr26&Ib$?R(kn8bXFf5JDxd3FE~_JAM-A?CebEjQsVl-SEWNmH{(cUs(p%c1$5u zQX7hP_=!bq!m$LB=Rl?AAugxu5IO*uFa;fR7b|)sQ08HNkf1Ukg(%f4Fc4O$hGfD# z+h-y}_o4%7h9l4DM_y{b`LTo>ZaMnGW<&glVd=VXAX08Rtfa;E%W}~vWMR4(HyA?Lr z-@%+Ssiq2P3QIwQwxGDjNao8n`80XWIlwc*FjzHQGck-quRo2vRjf$Y%-p&zL(Lb^ z;Ho+Xj37(9SvrL5M&Pu@q>pu+y(`xk8&udf$+mWn=beF+^9!kNC>lyn^Y+P|$&j!P z|ETyOgf(w-_UQG3_K}wnv{D`h>4I6)IsFA8kjrr`l3R@LoSk)0*euldHEc_{)Qv~s zQY!LkpNCE8H1LS!)Y*$z}s>^*`#s<`Q2Km(A9;V<@67USC8p z_$jw*J@@akMuPBJC-W><*PPR(N(TnPK+1ycKl|@@2)WB9EeuaBTq%}W}^urE@LiF9#AK5DdVcisyGRu&~%!M7|@1*<* z2O4AYF^FM-EMnzKVF9^q)ZPw+FR~cQTZ8AD1yc}o^OIB;1$>pIy5?g}&rs(s{x#%O zB2M}Nj7v`@F8rLu`6;U?jgI{xUSL%ybsh3j;efKBjFzd2m{3EBet!oRcLMU~^Z1fr zy+%2K2Bzv)z#UJ=C#<5I$KO1@ILM2#dix=n`IAD}e9d$PuD7Ae7c>HeySG}@{2#d5 zC1d$fsL5Y2SW>A^Ih*XT687J%B9#1i;!{6Z#LNmOB0(_&qw7k5f>aiz`((DB`|Ju=oQbSGx9Hl(dQ!M>L|Ce zUb*P<5jBdEXsya?$bSpJ?n|PV)Y`d8wiLvnRMUDX8skutqrR1R-L)?rLg2ocf3gIv z7nFe~sh4q*?iYlw*T;1wlo3WZ=l@Fs zZAr;T_Fz|~A#)3#SNvCFbK>6}-jo*o{xb{g4+X%W{gq>JvHs`Om6hH9h18Xn-LKE- zTf6i_@2JNg!19QYjz1wHLK&A(`u!dV_aKti4j z{hP1agEKMv5t^OyylOT=A|no#j4rsGxtwaB=Gf(MO5kM5Zk!`_MbCde8;vkTlQe@qA*~X0syepj2@R!18qAL>X@5pCsIiTeUNYQBlWD_7;3~`> z^@v1uTsux>pUFPjB0!=Y4M+DG4s37Fx<>9O3G5VMXvLheA?($KLtXi5)qQ{gIqLmX zvl0t1RG_va=xsQiO^(x}d~5!_KKqhei-$6ai%4f1uE{~JwzT@;LhP%BCb#lA%;M*} zlB>7;eg|dC_L&R`O}N0Iup&87`3_fUXn~-s$!#e@4-=MtDPo= zN(O{8Xln-;uu@kZv_R_OJ2&rW%WJPYL?<($ebvAByOE|zrUxCk(7$EZ`!-j# z7`A}*0?keY^Dnj|vTurL)R;=^XY+gg^-boz40m~9#ufUz>bcFBTA$X z`~!d-2dz+&@9;VkZbFbqnCZw|youcoJ%Hd4K}z2x6_AZ6wZI*TB9dp6e#-uiy9p}F z@l~QN%TB$wR_{`I!A#ss?P35m=&?P|A-Z(5{YaBRAUY(%_QX9Wm?$j9X}JeAK+q$t z9)u>J^JkD&cj29M!ZF9JG+`WiPs2@+$((jQAdwhsN?eW%!id&%JdsRRyt=&*i!B+( zt!+WJu{41|^+}|55-dP>gAKHFCO-a8poR^w>DAOcAOX!Vy=X|_A{c1#cs{G9gg%0s zsT)9u`IMkOXsnb#JKOyejPw~=d&$#1{7HB|yg$j#6PO-N2`5|&IILi480VHmw%JtmOeT^Ygk%zGwD`xk@$`hXF<0HG<{9=IOXm|rJg-R{Vz zvLeNk$?J6ePj^`@TJvWiCP^W=OK>>#WBpHB?NuEZzwOS^NqAtf8#1EM)dYSKY4lP* zLJXN=w+75pqvn=u=kb>+20{eb4hmoWVH`1ZS2Dy&YCh@%+F-}|veb{k2lfRN&OUj{ z0^>HJuctCBp0qM7RVX(3^#&NBX;G##hh5#=?M>>&3DUAk4XC&9Y}*^R3p*>Fa3rFTIc22HVH;}z4d-V=fDOI{Pma|k6D&$I9}lxp5T54C_xbgH0~6%h}p@$Y_39B-p# zzXJ&~<>W~z{vO#7%6Qu8CZuv|g3o;*h$u$6mS;P=DlnAVt0{7F4|rh1VI)7~z)eV@ zLD^vS`0(P$X-MztWP|uBwLU6;-&-${7SsVwnzVI)Vw$g45d~Mo!))#2>wBd=3bc)G zwL81R;1ToI@tGBr)r}ps$*n&%f+TpJ@`HZYPxLGP=$oBi43wL= zZ@21DV*uC+Fwj}9H0#oHh1!F0;W&)pGD)uHusUfoLL7*Lg*VP2o8je|U?%Lcl$CM= zYxML=G)U|9@@*zT&wQZvrjq%j;o*Q&=!;BsQZB~MV1e2pM;U9EhYQv|8yqrjkqj19!;1%}RrsZ(ivMNQ%HEkqQ1Sm5otJ;j(*L5-@;m%$w3c}> zD8I*HGeB5`B&y8D81Pz>dnG!_8%`;6^ZvU^Yb^Gw(lS7c3&GtyY&p@LT{m7d=%)^- zmoG2Q92_c~tk1;qIXh+V1@4tjR->5oqOZ;x$lNJjVvkLkSAx;L>1fVI8l5 z)c&*0lfl5%#q9Dap7v;Py9y$dY03PL7E)7jq1HYGD~rm=@9blat8C6z!Kd)W0BNZt zr)Pp?+GRw=+<_u_>y7Z+76;MCPPnX)@0@{;h9i?LO|E8+m8!#FdR_9^A;0Ms{WNh< zy*9muDu`N)+;{qC^*SmWny#*83D0CPg6;jh_!mB;x_9$J2*(-7k)=j%m)$t-Dn9y4;=B)bm)K z`Io_Bwazn3s!q|qVy8{bYY(wo6I)^m3u|KNfy%on94?*XDI%g20t_GHg@oTik3_qVR@ z+6;Cc=x@V_^%k(QnFdiD%F{$l6{PY6n#Mp5+puL0?-tzJDNhw@pl>0*6i)OzG=%Ok zDX0fLchb+p)v``=EKmbbVd^}S4Woe0!u%E1td(|1k5)T#?=L{$YgF_@ec0aQ3BekH z9o&s@;GF(pmxh(FI)ZcGnd+|mTdqBNG{ADkdiP`EH{!_$znOpIa$J6>80b4|Qyw5L z{b=&W-x5D@X#KPq`1*1s|-&sGtr6goy8HE$}Vgf>>qn zLUgc8RzcLEIUHJ83wt%C%))J?*2{2SxeF*$lo{=d11kRss&_+pPeZgkoD{h`jDiRh zV}J5L+vg_~M=Z7YLxQI#sK?vHo+EOp2@GH}hY?$Kr!OkS+-G}r_%--PM_6pIY&M0E z)f)5eu!{11FUJr+dFt(F&OBr93PT6tfF60fy4HRQbj`A8%ws33>`(CfeMrV<$4vL5 z2!n4lPMVJ}?zbSjCrG>7RY7gs66rZ@!IC`!bM7+G^Bk=zLs8fvhV3794EloAqM_wg z1TtqBh2hWW`D2wXd3YebxxE~@O(2rdF)8d7Fws=}JIFxcKwjTH)hRCtt!V=1tI#L*pe9Q(4Rr8azX_HiA9Sz{&~8+(>T)DIXLB;B@|6^4>*z z8N_Wxa#XZwy(EoEs7t5CE>XSxb-2*@zV`f(?W(`HwKs*C=uh_MXnhY@_aVRY8H zX{o7v^^!#xTUuVA)khyA_>-5AX}YuhNOTX)fzQmdPA;s!$mdF{wvH#MHB&t!;H%D; zQ~GP)FoRpBtukd1S@K>Yh66g9g;O=64e(Czfw=UDopl`f8Lj6#LeF`72ZJMmNZEJsJ8G8tfe4Z@+lYhzye=Vf*KU}msUx&et^ z)%+>Xg|1`Mv+d(aEn9f>*R@>STM=AI6nVm3L7vrr2@Z>H>9{G-3wqMVWzPl2!3l8D z8Q0Ovr0(KoYWq;mWcKtt=0_mgv;adyiF6GVBO7E(DxYc4HgvuexVZfmOT)9Iv2iX6 zDrCzCoyR>?M8hC|*%Ejj;~?_f5vUa9yRGA$Y@@)O6b^oRJu>H1%_8xRz}s@pVqowf zQ}!{q_vQRUwN@>>8BnNkCr3CF+%fHmAMAipWbNnx3#xuzd}zs;vREI!Lfw~`1fvbqi&avD^RUo7%ew-t5~jYXtc}H*{7g) z7dTJfx`yUOT{@FdfQqDz5yw@o2+iY=0Y>NPxPf6y?~@oD95;p{>na8_C{Ya)BG;&0 zBVzFs^OCuwQf-c78dG>DOq|%<@P7?M!W%FI^1_^q25xI`d4~EJau%JxKN*;)!}=}g z9hPOR81>_UQkdDa*ckwXb6n1@mCN`_T<%< zs~7&(+)IJF*%im1CJKgkGaG|yu+1K~7g~!e=-5U5!DM+&7OzsBfk`mHli_9n*+-en zrgj&3b?sPh**C4S-$}u=_Qr8cYRSse&ghI zN9pU8>m6tUl2`=NjDP6$tD4t!z)?ZaYlqv;S^LNLQu&n1_|oJIW@doxVRX!-Ka$7LxmI$Sv^iE*B82Ttj|LH*U9mGt0blr zANL&1ixae(fH`^Bv^+*unGG%qUUwIsRG6Gu6}g5|D@4>7acYHET`W6E*0?8}F2Arx z^BCvnoiu#`ZOamEuetfrIl8i@^)6FvnfG;6g(Rki-(v z9YYtdwZkepdY7*IPTE;v6G|Ips&!mBhai5z@D@CU+!hLD)+V+^bC2)DK2SqS4pQEF zsWmON5-F0F&@lGv5=Kfsq<|dT5)vD$X^K3rOnCjTX850eJS_yWLoKh(|%=%tU z00f0A{)~LDF>I($1U4kKv9Y3#AjyXH4T!#F4;WE=*c&vqoXp&rfu|x3yzuqOV=A3| zsKC(_`CCBLI1nyAS&3&K(K2{;QsMV;>$NRXZ2DbhfO8ZL6*SS8*~JG& zA%eMqdY6kb(IGoKXE8kMF8BySyoW`7`b@I0EkCZ7rW0m4d^ivUDj#6UukCS>Zz)4R zObuJV*UdZ_QrGG`!dJA;OV_PbhhE4meKz-!Kx)c6=qm+N(`RquQ^@rENIja87lIkv z9xRe?em{qLUKE0@6gA4QW>3d&8 zU|r`g|3btz$}qANgKd3(H(L}{j90kQCGaSTt1g#Acs6@Xc)i1ZN?Y-ougzy}y3_S` z=kHp>{dez)R}b1+`$Hy^*-RG4*G}i;mJ%Hx6oC5O!?qg$-=Diu+?elDG`?~ozXZtG zHr=V8c*c|A&z0t@_^xYvbD6c(^ph7Cm*4`A%0Q33oSLrZny!*J8jtLJ{yIXEVIIv5 zb$T5A7(>9_R4Y|0*WC~W4+%+xEH`w7pVj zRV=wTUPi?HJF-56-`bIEZKlby!q_^Rp;K=@z_L`Tkt!Gpc_;)fmdv%TaSc=0d`-|9 z;$$|~0UoLHf@%s?+`Z$y6cHupSmHF7ClAPYy`c1tHF(;gqzy6B0LFSOXcTNbrK@}W zmGj4yCRVwaTUoRWJUI&EibwrnPXcyo#SMEMTi3Y?ndu2vip^FR)H;q3e=fSq5G#Xn<8vl{0Ly`kxkxR@{vtayO>40 zn8ec`8F_d++bHRi%1uM@y9wmlF^(}VHeW%?#53>g_-?2t<*JvwIao`eL2Y^3;{eEV zJ=$87h4{N7mbFe@Pv3;&QwhadMI>cOfn?IMgaAt!c^VLwj66}u5zByjMfpky%VPa3 zQgkwq1D1YwinKfkQgMN7(z3*W@C^L|~|O^qeb294o|B^g2lNOf+6-(UpSfE_5>&uX@q!GuqVOlS< zVkU-rO(Q*w3@P4X_iCO%{$%_}K}`}2vry$TG)8E8hJQLyRv5*l6X7kg@%WDL-bR_r4Pz-u5YC23ST;>9 zPY!>BLBM%okP_RoHGCEf39=; zMd@Y9;US8l^!T!~k5aZVt6thudKpjYWsEaZd{$R{Ru9D@gW^OvBM$ODPw6E%cS=^w zJJ=wQ#OIodnO3(-14SvTvWRQ37-!vvac0G}$D4%$IgZ7!bBCi?rrnlU<_obhnVq3p zYLdg3p{})`E)JSfsmrYJFI|!TU4%V)xP_^AA9O*x!JfTz+l zFo4h^iundntqv@I_(0XdDNmF|LY(sA&4_t$sKuxRo<5`!eChygYIOLJ!Qn%CKQ#CE zG=sm#6W|l^cc1|O#o+H>bbpQg;B@k}>IA~N!ox z&E}z1Cpr(ENQee%*DnlSej)cJc&x-U8*2YkY^E?(s{d1L22qe|m5A5bCuO~C9FFie zNH~W)j}PXC!PPArnYyd#kXJri7nDyGF<56|1E+?z{c2woP8y~dg-2l6|9WY0Dx9iB8CQE3w=%K=nKytKDDUN>rsfzBO zs%ZY5sriS_O)@xFu9OVqV3~CA;uCjplEJ}hZEq>=vPfoJIE*^D;>GDWH63Qi{}$Qq ztl$>6tjb4N%3Y%E+@%@ptUwmgfWrN-;hstO`&bzItlekeQ+u^{2da3jNU~ywASZ1d z`4GgME_dm2=5|E&(9we)6NU(ErzTxOQJ$_4#`CgtBen{1B7tzh5{W=0Q zv<9ySb|k&z)NUs`MDy?|V}+>FO@>p3?6QT~u^ieRYmrl;p$@)LfoBRwXsux`dkG7- zi>b_UJDEs6FjJIrneh(VK&AAzl3_VKn3P;4&JwyINO#H#z*!1A=*}3O>&Mf13gdw% z*LKXkeI1evP`9t=>)`DjeBCC*UOe%ZO62VV?LNj-;ODZsjgYj_%~#9z4boOv*b>R! zBw;HQZ;S42cnr28(pFU3>fx((`$lPVldvh&yvf35M7P-`Z>Xwji5fnPfeEV?=nid` z<=Of9ajY*}WM8(HyDV{iSs?2`eOWd1W4?`0@_FNoLA z@+9w>DCePz(*a%Fb`);ag?4YIHldeWhLtMAy<33qw#*lITZUk2FYzqUC!=BBT;tqi z6_Dm8nKFgv{CWJ8Opzk)a%i$*Q0gddbA#?9$TrG$ZA}D zq-wO9SEIzF8l|ynlo+Z}nox~WMPGko_1HOZJ$4?c9@`A{IPXaH*lDbXeiyzxwz^g5 zec29Ox?c|r>=!5f!7ND)Z6~)Xgj>6hkuCNA68_-ki&W)}RO!hfGfy->@}?#DQLp<^FZ^)8KWGfFAD<57hgeI}l`MCpk9KCl zujC0g&~1HoEyYzn-CpjjX_?KjGMlwB9dH=S8$|tL&|$@bpNi!03$g5~rNSb%|2t`OF&MvQ`wdR*9X|O$y2|p487_*$}7P ziVn?C5)-u!NyU5mM`=zhN^`Vx#Tyu-!NwSoqcyd{yG_c`9#W))-S&j4%1CN~Egvsz z^&Hg}I!?wsdixmSrCHg0bSpMt#n!L-^JCR#7U*n3Pdu`C?wDsEXzmb6ci8(UWx2&f zk~HCRdalS5NwTxtGN?4k>D5n_DHf90#o3ZyxC*$+d>*SyoP(E&s-1J>u3(RKH*ww^ z>P$RuV%6svs&3C-hKDDfKUVYn;W*;_F%@nwB6bms92q|NR)tG2De&rfu?UlILQX#F zU2L&3Ozwi6W+>z|Mc%6$sEo4W0qS8=#_&oD;L#1TslVdrUx7lmCBwo@vcpxSW|i1O z=TfIQk9%5aNrshP3&EaY_t-M*p$m{Naw6*xtjF$gRN1mJod<@a=J%;LzIY%t!+JQ& zLl51!hh&#{@E|MtNFj_rosROfAF=R$WC;2axsd8)$!e8@q13C71gFI^J9}AcX_noY zVG(7zvX`aUovzSD0J3|Qzohp~8XOLfRg`Sk_ao^rwn_9&Di>=ALrr7ga#SQ+9j!K3 zYpQk7!t8`-lpCXA)q`OZoOQNsb_K@TV_TS=X+Kb?1>{$W0kLMa+OoKStP)Sm$CF@U zyNC_7_pk6e41KhQD;zj^1RQ3I+R609LoKsd%CY6*W>1_^uRxWBB<3BIMT9mhxpcBs z?4?AELqo{uVWoVOP4uCih8fanSd`F|GkaOG*mIRRW#k{Wc{fry*(J9AQ@&wVMTHTn zcNcQvRiWL)(W^rArb@{#b}Xb_c0qU}R`aFF^k$O&0#N8;B#}#y^pX;5mJHjmNW8Sr z%hx5|02Ui|IWb5i2wh56rF62Xw8vC>r>XQerqZuWrL`_I>0(pqIi}Jdm`YzZm8Q7O zq~)g4c2ntNrqY9^(xFLa(iT%`kE!$)Q|XJQ(tnsr(~`}kGfkx%OrHkCeMDjn%Dldd$CUT!LV%~YC}VI~d6OL?7gKp$OceY}ij@a!Zt zxpY0AHt9BW%7IZuV#2-FIA8OQPVTG^$d?Dh7o&0QFybh8gzrQg+ZW0_g+p9>LzmM! zmX+iTT_INA%jDfl(C$O0fGZ0|k*S}lJ66!EXDgBDFVQlvZeK+g+jbvaQmxxp(-b{V z=;J2m47ww>hxQ|FW;Xott+bW$x=LPs^151HS#L)8QLIcaS;_7t!~DGw`WjIV?Ue#3 zaodv|D!nG^j?Tn|CHX88Ivw5=fKs>JQS-KVH_Rl@)kn%hdw+BZayT>gXBRKE7agz^9RONwosQk@)i1~5Ukf8z zz(UUf#;IGcr`7QW(k~JFnmbWr1b<)SMk>@^)~s&52|2m1#JxpnR_JEx8@S)uLrsjQ zqg!YhpQL6Ly0=p<)wz8yUAEndG(%OrX_)Iki@KGh$?7(`93G52$l>Z>nFWp9PBl9) zG}Ee%JS@y`evj3A2VM>giWfV)cXF>1b#g#>3k(%?;$(~WF45_zPIu{b+9&EXTitp$ zS=#!8W2@9YQK@^l^m}Ec(q*OY5tX_pzEb;4Dz#6~A6KcESXN4_Q{+s&PWQ&w$qsl7 zfstIN`$V0}xP_9{t@o4P#>ZRg)(3>h@Qlk|HdAPZ9z>EAdI)HDirdYHWfUHvEK|Am zRDkN*{wTZoL#mfW_2O2v^sTYmC?BgK7kjRj%umFe>ee5TF*?0?Y`2rGqyy{v zKV3U=nFAQiP!10!O>AL1HRXMJj68Nj3&+G-w}pnW;$9RzhYRBeI{{FbM)KFu`2Aq$ zL+*Tq&lw>5!4G5oU>t6N>CS4oI=CdOWLnGYX^P0o-zVHSwxY74rn080jwCkdKzjZR zfCAjG{~fRN9kGIzXt=#=O@uUZHUPYzfwILdVBIOcZ&@&NadQ*hze3!EC!d089U<)t zpDOyZbmR|{T<92lt<=yB3@RNbP=1z2-;?|a3eHo-cPf7*&LS{E^jp@YPXT_m;^zig z=Nu_dkypF8f5tap`CtQEhKpL-Vb0(cqwFw0i|BQp*`w0n;3$&+Vh~Aw>9OV7AvB0+ zEz|D?6FrORHBA4MVas*HX3uuie|T_ZjvfA(N%F6lex31gwjJInB>5^2(F?PP{v@63 zf5iG%1JTwTqHSqJ_rk-99quiv%t?h$M%r>yVP+mtZywpq7)d(AEkvW7>qFMx?<15qRdCGkOH< z7&d3L9fqY==8S-@6p}vxD@OeWPS2;A@MYvj!DX4VQT~~G#i&2A+zw}>Z$(g7oQ36P z=ThnKp;uXOm`k6SUt9PuD8R+)JE*`omq3~4?YvRYh>>^0V|f(AZRsBjv%`HJqMP#m zB?mj$LaH3tB zSvGp1j@C(}GRl<5!f1v>Rz`PAWMlM8Mk@7SL`94&^xiz89}FU7r8_T(p3M*_nNdA! z+NftEdXkYH`?`Y2HP|;~A&#BFj4sI#D2vg7K>}qX0(d*$H^c{SY*_`z?M0lHLI^ci za=tXkXEc)2(xFh4z-b=va=zEneM7E+3@GKaO{|##Wt>*UzGT8ljPA)0s8W=kLZxRy z73aG>ozk)-`pQFSIMlJ`ZR}?bOy;yvY;zx(z zve^J-reMQIxh2{0h}*3Ab1a+^kS-hq5m#5RsK3+zVE~9)(K(W!_`ioe+S1iUrefUk05J zgnJp`76zVyHn^WrE2DMrAfqs&5Y9yww9=GM`Fh|{Ma9y8od=Mw^uS|EK0IXm+@{er z)^D)q|AzSs9RJYef`8in719sv-`ec(zz5Po#KIbFZTwE0$#Q*fss6;T|mIyI~&ms?u4n=0mf6u%5bTy_bFX+&T;`ud|Ot`Y#7b+)VGZ5FO3@T1x?@&Sv^k_TePE7x@e) z@ekR`k#BZX>gC>$J^@QSz?$PM^{OU6d)Q?3XHw2&)X%f*QZ*lzava(mpJP1V!E&o$ zd;T<(T(6LYOVVZ{zowwl?t!z5=GdzsrDT^%{6dy2LApHWG^F3AtUmH3}KhRM=riv%tA}8qPRyrA!;0ybISRV+mHc(O|_2_ejmd zXvGGP7_8Xf1s$!!c)ck#mlt;19q_K6)`JK;uS8qzE*O#@^DGJS@?-gu;(SR&-h3mP zrK9g*zMziIw!0!ycWWb*dC1k?iMCr~w`QJnIFI_Vo_qp~_Li5s`UAXS2juM)CbJ7uI zkBVt#L6OwFC2be>p9-n@SYqsQ$zaIUm@2lk$kuv?-hlX3lkt0lTPwGCJInZSm~qT+QL{JM#EhKIWKeV!kx?mg`y6(xoBVWV}oW9JSR23%-eB6O*tgi6?BuvrOrNpuyqW+gl*(UcU6qY8d3 z(d-l#qF+e#NbZ}KYWS5zFXldEt%g@6`iXZJ)WDls>0aCy!6Aukqjteq_*kM0tlwDp zheSEp(zWodM5Wl$wO}73(+YOsJf14i*aF%`WJ{E%raQ*NNQo-dEJR+34lC)72~a6f z8m3KvI*HyMldIH0gGB!vqu>s9wnY1Lavc+4kwh=%6d*cHqHOF1Cxc%iZ?OU=Lx)7K zWId-&f~Z9AWR*B3!FGu@7M$dm4ChF6ZovdZyT`=(*%Sks=9mgMO3f?0xk^3UZqTfU zM`YTkO0LoXkBW1DaLT?1-UX z6g*%^du!ypSeor#cZ&hNR&bhQhK~MRu-Y*bo?$;P2PJ2nV-~z3(ObnE9H+n`y?%Dw znSQCG630A9_iAXfV?N9k$hlc*b}WR&UQzcxeq`P#7N9UEzm0w z#ibQ~rkJCIYPV;p5Tt|8ImS3@k&T*`O#R54$z!`HT ztSAL?x2UPjNjD4!pm6KT%R8NE~@O3!eoBYLAmv`V%6B1b^B-!nEUAqamL`QW1w4_Vt_ zL}{$HYhav?aEAiZOSLx2Ro22>iTbdAu7zcco`s&#mpa;Ek3?s>a+P)Pc&TWWS4S>E z^mmC$N1djuhnZz;1#V4wPF)YDGP-og)KOPC*2CJeSUaqTOBg-tY{e1RA!k|)lFlISnPUvZoV`*rj?$NBIp9lhoFKD;SWcFrq~UGRa9e&^T?U+Cy9$0cB`kSOIn z$K{ZzqmLX{LY|I3cU%LTB^rsEH^6y1`p9t;T&APX9k;-365TQEza6*3!#c7$?}Yt2 zN_E~1e>_Q`*HQC6_((@q=L7Jij#8ZuLwlu`?>)z3uvteRIerXh>*#aGqeIp2qqYqWed&cDJbI;wYm3d?jf&-r)ws7A|ohVv`< zZyg1l-+*(hhB}>~TsBtAcZSoZ?A1}w=~N!jQKvImnOLjk+vM~pvvst?IY?QiqjQ}@ zl#X#)zD>?tWt)z6IP;YAb%f^dNb#77qrlYT% zXDVOn$l}_j*iY6_nrpj~uA>~+SxTjjN?qSm>L&^GrZV1jjf$KmqHUwkbzPwxW^^fBHS9vym5Ol|zE(+{ z!ZvXhzS4EAQX~-U9eq8bS{>cux?XA0(FVs&%6uK&?Yc!-siQ|+w<{ewdcw6&`9Pvk z!>)JTr+lfSTU-w)$x}77!SS$?t)oX=KU4~Ibhqm#%2*ve;rf~KfJ8&l=2Obgb##mC z8Rb^WAfa?)a!Lr;?7a;(owB@r25bdfr6-6pgyUi5_h5cf{tq4 zUiHD50yU>jbC;?6b##imLVZC;i``Y~p;-dmF)YtrtA3%Q68Cud^I3#y-4oSQBzhe+ zr>LjusKi~buGLYkyHR~u&*yW`RG-pOmwUGQl8&~y=cz+xYx#Wc7S*exF8303td6$1 zPgS=ux*VMO7r9rePX1xBOJP;fRc@c!E78U=x4Zr7=s5!YV%VeZwd&W5I{kAOM3y+=1TNg+OIHeu|!{aUv_t^>m~Z4 zkWimQZw?`JwM0)bx>uszjGmHc$xuRXNL0$`6N&C*P1`(yrgGYFiT++ds7j)F3Za=2 zEl>%qkm!C!5s7ZhB6NX7Ul$X)St4%{p+_ZZb`kn7i849uphT-j68e`!D*KW$U!Yp{ zxQVp?{J08M``c^ftuJ#sYFTaOM^sfxNVn81QtS_5>;~A*%Gy+5xQ2QFS+jbOO($gJR?y$ z`|_qlRh;&jL?5wDJdQGYf}@)&(Ogcek!V*op=OCXoP<_NG@DV6M2oqE3nf}Ig3v7z zt#%W7Ori@p?L~?H$}Rn_L?b!vD~Vp_zLd5|pxf9_uRySQ=xd0cV?<}5H{Bc5FLhJ{ zJ!*1`hSFh^S|pHj37)(+s}&O2hY%Vk(f5-GO_At!=X>tW>I{jV;k0>-#G12NUB&1s z=MP;Uq2?75{Swg@^*MpyCD#YeGv(+PXSHn!Xcj$U;^%IJmN7c0yzV8Gvsj?Mlp;iB zi(_fq)lUs++f`T+OWUD-xiprxL$xmxXnk5aoE2AkAOCW+h0#}vhMraK#k2O=I=ajK zxqGLMZgPL?rZ*}S_&h5{$I-)N@MIHRl}9vKsHLh>B6uPHQ9jXs5kepDBVTYa3J3(=AdWbOil+q()V^o*ur#x$ao1nxCkDM=?>W zhv?>9qDgG?6DQG<6tZK~|IgBUyfK<)2mHzfK^i3g1_b z9;@@|2YO*rvBsN8QqnZ4!hCn4%^bFAl?2yu?Yl@l=(yGv_UE zcj3U2|Ad`beN{v6I)0r^DoNfM7SC&KmngByT5zEd0>jf1CC0eLB-Q~m z<69w7-_|enL`y$XDgQT=e#OXmKEAA&#QJaLs^UGyO=IGDEmxxC-_NC`8a0hQ_E>bD zEh5Q_Me)2=dZNVoZ{<3%9mR>|5;YaGS&Wa5YX8~n|J0tRCErY9wr0iTW-EfQlPED; zS^C>CwrN!^&UEnl7-Q-5zb`#LM#Wse8bklD&_!d+ecQ&PrvLt5?4^aIn`hVIJZ7&+ zqFk@=NsS~bOBDE1QY@D|<*|ojMiYN&N+O+HOsRz>JR7s-*UrS1Wh(pm2-k7Jm|^e$ zRN|)==>3sPp%I>kCj3mt&kXnqTtLsHJwWI2p-A0O40O+;ifJ9w2BytS7cyPW)W@`) z=?0*;%>PopS8yrcBY03D`De=cY31Nj>HdjFB}p;T zI=F>%B_mw`J~fcq2JNaXZ#^tmGD{+`T)nwy3v5uStPh|vyBFn`JI{kH>b>q>tm8kD zc0r#SDZU0SV4W@M4TTTDXHb{chN)ANeh3GF-s#w){#tnw=^aR)2YN?nxq4B~Gq6w@ zmHq;jyNvDp-u(*8|IFonjx?p@8+b$1i#=bi{-*dlE~^G^Q8yJ^mF23-^&NWEnB!62 zfK#xnuS5*h@j1JYKi9Pjij_ZjbCuCt$I*~6rWX0U>?dKLN>BdxsjrTlt~{uUH=d}y zs_3mxC7+-D7jyK+vV1Jms|#QfTbRTa-r(n3&m+A|`LQ}fxlviDTv@ai`LZE*DbK4j zM%}M8EC0-Sg!%o*2XmfBN~z7t{llJT`K!vytp5gD_&riB?^|ds1>^GulnvPhb2tuj z_&rg2tK1Ggh3@S5lzZLu8y^#~rmf&lAFiIxZ-SoAZ-SoA?}oNQvbPcGnZp*V0Zt8Y zYJlGp4X{oJ%R5-!!SW7%f3$;Bm#d2FdZg#4-GcO-?7NYU8uk#+mDAGg5M`gEFunMFHHy*uoBD?G&=`t2)o~kaD4J^738kZ2EEmBY7}af1 zp1lTnvapTwZi6v7e^b9=p6Fec<;t?+`z=GUy&gq6cgPc#D(=r!>iI>#v3v#lM!adM zQ`=HLwtS%Oc7KU{F#BVq-}7c$KT|&*Il@|}{

    ns&?D`;I%fKJKOXrF_rEw6H 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..ba61894268eec910b45cbfaf078673ef77e02a58 GIT binary patch literal 15272 zcmeHN2Ut_fw%!S$_YR^E1*M0b&{dF*D7^?Gh#?6O2nnRn6ojBCN)bg=Y@i5Y0YwE1 z9qdP?2!ag(3n(ZGD)u)!6gkIp&b{yZ?tS-t?|TD#_LMbi)~qT2nziHNzYXGpAP57V zA3q@IJa{9)iWmQVlnkmR)GkUuXN7OgJ&$s}HP<_g%ECr58KF#KB$h;^(-~}RFa^ux z(6LlH*3Qif8_6J3aN^=38k4Nu?IFk+#RsJyF{_#C?FlpwD~f_4NDPz+OqAZ%0dFjL ztiS_7QoJ;JLT;o0k)IcmK@7^5bwXfVRvQsgQ>xRFH$9 zqnaSIWIwOx`Q{vble^&%VppG|IAot9G1-;{#EG7vQ z@?^6D31pxW;F%Gufb=*fg~kAch{_O|5gkA>;F%GuAjoD$mX|z*=oJJ+HZ;T!xnsc^ z0DTA}g&+vchoCNyf1(XR$-I)kk8He_*`Od4j|h<^#s~-F3}HjOIa0(A(LgK)s@0Pq zC=R@bkhB+@Nu`If5DGHi#1Peeyr3|UMy5{P(Z|USyyHOL3Zb{5F@h0d5Wp}|f?%$M zK{@mpWe6#N0+2*>kGusZA0$2XK+q#z8d+Q$AZwHWRL6@IARI~(dI-n_pdv^Xlw0%S z)x1~-#DK|UOJt0~kQNFBNrPAbQURoer?6RUBArZRk|8@vFefyW7)+yBvw@C-Icy4K&0JRQ8`0J5Xtq6%;0m z%Ao(+#)%%nU`7(zppr=Yh02x@8AYY>YCS15VjM5U`jv|zg|O(n6WiY5iYO^k)Y^rA3hsDLB% z&&uFAEyK@L2=k|C|1_iN!A#B~*dbtwfh4@J$eP2y>&MXY9lcBMtCULkLKrLxCB%n? zQ2ZbvEsbO)gnnBq`{S1WBah?)NCWJvWC+Rytp$+f1oEC<)_CMRLDsTh>u2BQvhI0$j(J?6J;*`l)Q6&b8oCv z_7%ZcH|+s}#P*l`Lr(|h)*pE@@Rl6lEViTJ_#UmmV7+4$y*ZydE!cq!{bz5JR+mdQ z=UFV6y+y{BqJ)jC-(lq9-?l>tHF;dBBGP!H6?~b*C|3sEK8{3*LMG2UjLC>)p#a^) zW)J{$SO^kDK>~PVaK-?*;H6D*cqFZdf;9ihDFe!Ypj$u>w{N_uMK)6ocxcnBXKG1J zO{XV?NTx9Lu#qehgGr+X>tQE1f(3Hafj>R0Er-VDFew&v3Wv=k()6(IoM0N2w44&} z&4{4TErLx=iN+*j6TG>h5d}6gSO2xMiTyCurx%5djC$%&cDJ@e{sjacCMQa(WC!)c z6zw#x`gZM*x9D?MqK3fDyKu@_td%r<^;+cE4F!YB2hUxQUI5T2Dg_S`?g8FL z_7D^NF~H*l(IFB@MM6>FxTZjC@VG!kP)dYCL7EJ?f>b0(Awlo=4P!tR4Wa@fFF+6t zaX^f)1LqE4qyic&{Mo<-6tkf)&=(n0GeI*p6c761KrE250ky6mjr4@nAxyvk{=B&> zV8VtRK+FOCk$LNU1}Rc)3j|{T&Qw4U3V8rRqzMIT1YGC+T!znc$fyVS?U}VcYXWG5`#4KNYCCj2IO~iKNikSUQ7_jUm#gWJ+VfT&xz05{eWz7A(ZB zg%kC#Q4AJ1a~X7A0X|V1rSGgsWK!8prC2frOCw?NNpBO&}7R$>78wP=#f2m{{;)$461HnrrcinkX+HIyRI;rO|+FY%Gh4 z2#*b+04M^I0!Bp81(D6B(8(NZQvuR_2(ULnW?JlDhMWEuawGq;|AXOPxVe3M+~TkOLb`BhpDMEFBDt0mO|W zvL+SF!jg$}78V%Cf6d7ZQ4bDL0+z0c%pKAk8GlnLG9N(Qh_*-+FnDYf07eRejL4LM zMU4b=H=Uj3iYv46uODJ>6s{=StMptw{M*ceF%HH&+IU}=7#$s zE9=jDgvRcFdJ*3dc%xHdUy0MEC+Ypx+IE8_gZr;WM{qWJwApkNf0lhwY42tBOnSb> zrI(kQ-)4Z?-Q2p zgw>1K(@0ptizn^^6M#Qi0A64aBH{ym<#P9h|NcMz8{t3!ZG3o~5F|x7A{YU{1KehQ_Pc^dhrrp? zxbToMpn-W0GSCdj1kfXznc#^4I1T823cUZd^5KBgh@1!lGkIXm0+NtHkI0=*3z%&v z$Qe+C@}#f@bWs3l5nvAmNXP~>Sn%ZXWOkb@N1z&!c}mwv4uL!f7zzJM-TuAo1fJgA zflP>@!r_7YAGME%Ou=aJ)4E>>j5QRPQx^E60GWfqDB{5ge{J`3&XBqL9}n0GpFzvQ z|M8yxzr+6p8sPc3&}azeYUT?F>!dAB`zVeQL>F*1w}PTgXcP)B35yE|uSr{qqVQqR zD1HbI5D?K7Kw(f^Q#1-w;0im#iZeNcCJ4ekQ zAUZ>PB5WsxMTr8DlJKIiumGPAMnD$r6$Wn3Yz7@K1xp}>g0h01 z6mlekPR6Ukvyl=JS^4R!A{JN|Q4A)}b%ED{7a;X~vT8Hyflcd04W$FFSa(}%ECI&j zVO2$O0v&hg`C%?<-b_V-x#Qyk4;LsGL34rY zs^#gO>@)AbU>=k|RU1=3epFIu%xK5ayT>|g4qxJ8e50?=zrL{3Aj5f?(zQdwn@?A2 zDwd4|8CxCSQQWtwR{v|8*ie6TZSffwtU#uO^|4d7?!npf)|!m;jM^9{GF%O6w^Z4e zvS_bn&3-ti^UK8@uj*9Vj5-XOPY$I@bh$oy-ydjDv~1n=5xZUEfp7QK*JU+{pyRUx zoyTeL`+fpp^EP>}4I*@?{^XGd*J{_;aWq~F6?M$3T1T>NWtAV+mGasV_D@?CuXCah;5LoN{{DORZ@En9d0;7PDGv4km zZN0TC;#5_oEBdwSItRu0R@fb>mc}^2jz#vcEnXYeL>7;zEcWN(af_l%EG-sr2~e19 z2G)~GV&D~EIfRs7R-9l6!+3(Ok%_6Xx#@&N>WDL~vOY>IVi5 zY^&dIWN*I;E;A8&eh z?r_t*@JkoZe7}6-@YZ;{^ELS1_hu-AZNtqAa3^Eh_*X5z>o?xtzyC+c0@3c`+DpOL z=wt6QTVrG9EU-BEFgScT>jo$Mto3I9vq!BHB-E~$t!dXid0!&maOLTY_E)mmh65a~ zQAAC0a<8Fw74AW@!{__t`R9AgVR(`lCH{9^TEQwA93G_R`%neDuttOlhSp`|T_?=Zf zms2`+`hNN<*#m|18#D-p+jT959A1^m&Hw0mkwE+&V=#QkXW^rW%bf{LS6-1c53;|a z`+9Em*`F8aF`p}awSu4gCdU1-8MUwB-B4Vu4dO|67h$0t_Qtl22Cq z=kE1nfX`XBV0}|Vs3dUJ##(cLivu`4;-^6XK!GW2Mu3gYVIByW@UjRpnEU_7L5hq1 z6%Nn{9H0RlfIWA7{TNru#pvR@O24@WZB%q32L0WSofj~hg>kyLzDZ2= zk!i#gnJ&>0v&KCFr>>cIpycp2?djt2|Ov-k%?Vg?AF3uFvl92auGbH=VJu&Wuz$2lH0dNXo#VL+k6n8U>-&M`9x-6mDB33 z;bGgH)b6zvYtvM^El+0z4y3znnDwsEVCB%A`SlRT-czTxKBMZUDmk3l0Xo^=_yo2u*QvgZdWX;uEFsbw~Q zxA`)YJL^twFPp7iQW`QuR15Fba@rrXxo>`8``qQ0p3UccmuT>fv?i=F=uq#E3Y7G4 zh&?k7^;VxibAuk#%b%%Hx$Cq1g?XXmpt@7F(s{de_D>s{mUAr zL2BlZixXUOJgaAD)xq+wk4}a3HS9`RJKQEm%&KRwyNH9PYy-3&L}Kebu$ z@d4Mdyi?T<1+?95PdYbeh)%)bFo45BSV};6(#n%ZVSph9&A`7u1taC@26AYOn5qc4 zU30*_#}=}NMUmrP5`(ZwgC(cWetwt_K)~-{j;X&8jo)T_L5| zohR%LyH4c+*xCFY*cp(fknV5zv*DD3i11iU$}Tu17f#8URuYa6PDzEAOm&AwDH#4; zcL;cs86=iL6q6cBWX6-CShz5DBy2U!01X?d60mb-T(X0}6`KJrp2$@>9yneQuR7u# zMlPfieq$VV&L0j`9{Ps9OFOdriFf=gTzeNgblzUkJn3H2_B}RviEZ&>+ZrfAI6cep zCT447>i60u10pvT)j5_P9;H4Y)y*?LvMZ3XVO!!>2X~(?vF+>HW-XsRy4Yr`XUnN? z5&f2eIPJa9EmV%&JvS#d*Sv3#eBI6>Ei*{=4&@rjFHTk2>f+{<^58#`q0=e%Z5f&Eb|uqY~wNw07-w zk+2YbCzRf))jN0EPGbb{Xl-RhrOQ}AzE|R`qN{Y_%HoHSu>!W(Om(@VY_{jDglp>XqF-{=*tOYQ4zuJ4Um zC6c@};#>T|hMLI8@avu|S@8t-TX?Q=2Fz9746c80%Fh2ZaQ)>CaK@#yAf*fj2hil5 zP?!%dHf_X%ODeeM{k*b@;w6Cn`796+m%xwoQW*9CCDsq07+0nrl zTifM?8LBzcs>dGD-CW-i-V*!Dt4U1WZpjtDYbULm{yip;$0l54e;HfOl3Ust_dO4Uk`)v3b#7z>wg2nt%iLEl4m zwojb=W`^rx59w{!ha3id9ecOE_jHX#R%Mu(BW5n!oBNKlqT;&i-;D z^5a4y&osPX`ATf8Y=XL{!?3GHWq#im<=^QCh36`wVXngW=@~+N6AEuY(JM5H?^oXh7qwDAbZQlVpHmcYQA>et?Es`% zfz>?8dc#T)KGdH$Cs4_ucP~rXR?m}6azLMWd|M`1LAg#Nz}!&z(bHy|N2zE5;jF3dmr9MFW~meS z=@0n52X@Bg(wQ1bWmCxb1+c~h`5f;sA`N_t^7it=+IzV!gw2cy`bIYPCi=Dnb8Gy3 zSRJ9`lb!vOtvC2RhQ1e@7#W3~{1HR}SDFIsaygib`TEl}gW6=H5P}I99m@m`PYAVX z=E6o?Gwc2>ikKW3pX{7Jm3Y!I15Y?+@G!v)Z%!~ZwoZAk|5FGHF(o~5Q-mWZhz-Tm-$PV}XecWNm& z&37!?g8g1%x|NnO&Qv@o@8uArZrdh0_{ltR?rFEV@u5{mmZp~P)>*PT|D}z(T+Y+v z_O9e><;q4POv7m7%P$UU@A$ftZgRW3*2V4Vk%J?VzAB^olmqLtUY>Qnx2|^0jey<|lf% z+4cq>B0(AU;n zVWDjAwDWHq`mQ|9xZ_*YuE6#Cz&3E#>lsUVV!t|d=}6F~b?eL)WS73w$bP3h{+O!a zSCqC;V|+setFS>=VePW#25#}^+K#Vb5X3rIPpqreW1pHfwS{Zgo$%iq;cn=9cIi{* zBi!rgS5t<*2{;uAGtByV9`yOuAIZf2&N@F>A|D8?4h~Emd)7uN zQSmZX9%RBnh=Hqy@q<^u-UXfo?rE-ng?WE)LQVXpYd!(~dDMUm*t#GFraG*J*XEh% zv?&u8nCNTZ)xiHe>5~H{y8A!uYsyOh=X(32Yf2Uw+N0QaW1KjZQUN275 z-O*kfHm~&R0)?tKcbbX^gj!5U#4C;+4b@NfFT8N$!VQsu*awE?L9Vm~PVDW2H{Puf zHITG}H5?4DbG?g`5_27G$`5347nu$HCMGU&@cM#y>5@n|ZYyi=<31C~jpRV5F_(n+ zU{q)Q@nOGjR+d|;hQ4;5*{84gHqEQ@d*j*n&Xy7y8Wxu>n(uEvwdiI=9YLj|lJB=& zOd;{o$BIRl0%aUOb@hq2gh}f!FxG2nc*5QNY4^t`8Dcb(q5JiRQn&YYaXY0huYW1F zwWnh3-OkS8fPvwU0w=m3kG(vd>|VJtDKJ5dsmVUwU2*E=ik^0E{%UrEx!#zSLC(6p zXWp?&=YFgHM9r|&RJ_0X$(d1I(Y%tq^Xm3jZOJ)&dYr$vfjcT~xaN!J>>EOl8e?Ai z6(7`Z$0?{(V4b6m;)Vb%Qaaa>J;By0|V(TqSK7=y1DzzxmI8Y0>M zFogdjG<(`x?EK;^bFOIop_}(K;%g*2xb5Fw?-LYkE2X(|uH7*9{eW6eTlS={=7Oc- z8p9s}ZdXG-?(~ZG?@LzcQ3j)YpvnQ zm7y2?cKg~OVT6U>6x>Rvh=$gml+jCUsSbW3YVI^AUJ8*6_2N^w*N$>o21e=)j zwflg5PbJgfL1Iwy#RtcdOomLHKj_kr%6JUa@dImsRqSHQ&Yf+q<*OS@{iK8Y0#!4F;A3RiP{Z?^z_T`8V z0iGU#G7sioEO+Nmpk0=p!+ewZ$+LN*;*R>o@(*U2UKNs8S`v5MzVf~5rq%be4=6CH zSIX8_Rau7j;Z9DW*&~2v-LTBGg9W&)_<41}xSe)op^?uwIwhXp$<6t-+?>S@#@ctJ zei&e0&w#-{MY#Y32(XjiL&PRMW6r6G;D&7d-}B35GnR z_MZYtfYiu$;bl{KfYg?Mhtz-KO#3}=_8*Q<9_a4(N&KpFvR6+n6ouDV)q8-s{A(%W zWq@3zrK=-3?zF&;T^4x5bLRINqfM6FC)3uoaLgkwN#dV2W`Ciz7Un9=dp#Huy3otz z(e8_ts&QQ=xP7JE6%gMk{@U~b>XVDYuh;g3GitSO(z}){<)FHi9!GM;-bbo?KaKO^ zX!u@ubZ|7w;>u`P59LGAien#lR%-cZwrJE?71SwL%E(9uT4+A8$}>Ch@soCXQ?=qL z?~OKRzKR{#s+|5}L^M35F-6%%*^{%yq;XCYk%iNXSW91`Cmbg?m{U=@s>kUtTdaC0 zC%Mhy`7+CpMQ)eUJ`-kj=Z$55$U%L$eTDt)gENyMb({lVHaeBi<^Em7?~&EwtKO0O zN$jP1r(GTO8{{z2b>vSPwXDb+S;94EP`*yy;Kj4ctR(73avOXGVR0ajr#cR=Q}m$^DDYpZ5L` z88jN#Fb>syB7XjP#-7gJc`rvaZ7k;JK4-I6g|{BC98N008zxrY99&yx7G>AE?d`SW z3%4v33SQqGMe=gVe9etK!Y|bjEf6ksc8-ss-VsQBZ(iSAq{ci%%Yki{0Uk(GsvrYrL|CIK2LQs!Hl;0q`fMBo`(9hw*yG*Ia&n z2+a>Ys|%ls($Rq>g1B4)m&}hEk z$%IVNL~T|1Dx}tAMq4!U+l^^2AL8yo7l^<@NP9lPLTuqw8kJTs^I!q;@};Ced7l>b zr_G9Netbs8SZw={$lIN&++&M`P?uOKg+~G6`Z};&}u8~%;qK0=hmN;a3 z>gq>Uq**r>#`@`ed!MteGljKmn^zv5ixCG-7Ga+Ib;o~pI(g35KlAa-biQ&?%ivkl zE;`_S75|+R?iUAZr|A#hpr>ce7w-AWEDzfCap;w*$eW?TJ5Nqu8MtS!_8d<6Jc9w+ z0H5*_PI&>RJcUzgFxY0jkpfwIfm%#sedTfm;+>QZ72U>=bxI~L42x*_d;Q>)-Tw>r z!JjJ*c$Yg>Rr0>`Gd%jvhBTKL`*d_vi=59bcWPO=PVhs*_>C_!7bI|?VYp~$@8_)j zAxlcX-EaRwip zq$tb-ByIijyyQEh+*6P4Mesk^O*II=b_HYM)wrzdv4F?R?(*Lb=1_@^N8)2M-4*eM zdlt8ZCg1Ggj*E50ZVM4QQlM(7O3PS~^0CuQUG#!YhU)TDhvYLiW6Cx1Vh>TwFT@2q z9-BL#-rBw|`dje_-?RLO8`Zr!v$B#4Z-@wGg`~l^`2PH!Nhcf+U`gGAMqGF zv*VW(X*6rap3Th-qMXu-1c?- zb%)o@WtKrE8^(s0J}tqnR;t%^Hde7pTX22Ug4vqoKVRF0?5H~U@a@H;R>imOto3M+ KIbMTns^`E9qQNf=m1!kGw9$U#^f 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..51d475e4e61130f9f1aa93f9504abf5d04802c7e GIT binary patch literal 14216 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..12b023dce6780bb37bf4719401668a1486a8bffa GIT binary patch literal 15248 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..ef2c5ddefe8018f21b308510c67479bb3f669971 GIT binary patch literal 15248 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 bZ9Y}^_R0V}EkZ5beYZiwvA1}}*^K`IW-da& literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..b6c8954913b74c4c56b6dc1bd2cd78a1152e5252 GIT binary patch literal 15248 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 Zjq?K4Ka~vRnO!V#AJ+8Q5w>y9{{U4HY=Hm( literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..e03922445d6f7d4995f00de2e7761951222bb25c GIT binary patch literal 14216 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 NdSgt((}8b*{tJQw9(Mo$ literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/winui/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/winui/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll new file mode 100644 index 0000000000000000000000000000000000000000..675c186a09674887233b0dd32c8ab83438dc81ab GIT binary patch literal 66960 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 F{{h##xOo5o literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/net5.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..bad0e0e9c4ae4b28df0acb3d6408629b9fa7c746 GIT binary patch literal 14216 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/MSTest.TestAdapter.props b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/MSTest.TestAdapter.props new file mode 100644 index 0000000..aa6bacc --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/MSTest.TestAdapter.props @@ -0,0 +1,33 @@ + + + + + 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 + + + Microsoft.TestPlatform.AdapterUtilities.dll + PreserveNewest + False + + + + + + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/Microsoft.TestPlatform.AdapterUtilities.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/Microsoft.TestPlatform.AdapterUtilities.dll new file mode 100644 index 0000000000000000000000000000000000000000..c8493a64f75cd3a4a47b0685c32746b17e62bcf6 GIT binary patch literal 29064 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 P7ftw3k&XWbBEJ3)2C_$| literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll new file mode 100644 index 0000000000000000000000000000000000000000..a43f218aebef8ce1d116dd1f96b635a9bdbf8d47 GIT binary patch literal 63376 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�UP1b|37pA@}_qV{iFV3V-C3+ zIZZTh+9+vE((zS{`Bx>Uf0T5gpY!JgI9+IRx)~Uarn-KM<)u^7-%2{m{SGkyYWf$_ zVPosO#Z-_Ryy~uxRS^?5+RRz8o^iDwt>6LYpe3R%c(4RqnD(18TD5tA2MgDr?d>AHo88>@c-IJ&IX7$ul zd>sQ(NWNp>=Uz^amO78Qd5o{PdDMkw68XXDNsQ>5H7TD-_jxWhOnRei67r`&ZYG@v zKIhP3E$u6%Kht)kd$bEs|2O3~BmF$2VbV64i^JL-C=JnFzBScQ6uQJ);;BSbd$J8p zsM`S^&r;C1Sk+~Kb_nz+y*TCTK7)Q>LkB#^xLova8@e&HH~Xo$N8Nuk5BOYk_9Vj3 zMWCXgEG^I_HgxU~=mLTEjoV!H5ZZkuTlNT`?<>fARPkQK1wRpJ(7Up@2+%Wj+2ZO0 znungV%g(4Shu3>qpht;$@zSdTy`nuF{UM-#+E9J*PkmUUCNrO}Xyd27sRhVwL(h~w z<13&-8#+OM)>la7HuPZGOTI8+!IpNv3NP1-sa7C0z7lE@NR6n3juU7Xz_ctc*h z2;DBw3tCFAMU3~wys{|WtJ?XFsyPB+TR$sN%KZBOp&?iD${WIxw8;VZY>Yq(%fd=s* zf#v#KI$t0~WgcB7keZcw{5DUvhj}zxLEf{B16U6h3N+~5W|U(sT4tAhP;fw-Ppj;* znT6#vpElTKKc9F&TR5a<#rYyOP?7#hbRH9pf-H|=ECvGlG$2enh7t*t5qr-RzDlb7p@ z$jbpaR{wv8i~Nh}djhGkFQG#MT?l#J>|a9iDk<&v{-pYD|M4`2H)^!cd#L)WfaKa9 z^RRO2H~c5iEGc_MyAm&cpGf!E(7g?N0X=L(M*UCxfOz`}O%9BE-oJ`o!QO-+*3Z@S zra*)APV|7bn#MG8*&tTuSN*H0QXuAYud#+|1$srh1@{zdsmX@AE3Yxu(wuC~Kl|6x zS$0{WaoFEZ85{a{(P4iFU2H?Q6dd-ir`xjaC~y*eTcAhj$K`{blj%n`#2)Nqq9*3- z68iB3hUN+MD1EZf8#tMkWg%XjJ8WoWpomVTP1&--z-iPc&_TMTpd5F!uL?9so5zj~ zY^09qYV0?ZGvvkY4U!knw~?v^Vo8*vEG5vR-YJ2Gz$V&eLw~8?i_ei>XhYXv9yZZl z8!8d#MjM(Y&|NmPRG@F#(AX+&chH9ZQOVF#HuML94%yIrKbO5_L!AQYGnnf~z53)9 za5hGuSA5@{HV;r(mC;eYBD7nm$~14_m_R2jv!RQMmImUq$%fvYJ{u=)7uitfvub1LB)Kj!v-%6L+P-wD7Y0_qK4{FBJR4)+E*!n=4 zS_OJV+dWOAep+lptjYa!q76MAI4jUk9Rdx~3)6~dJN?Lp-axw@^m~EWQW<((p#9!s zDz*f6Q2A``eLsTr)%p&aY(oVFDU?NR=mGCJuAOw84c#)Gp_6RrXJZ-awxOmbhAyz7 zu|9^bwV~Sz8M?$P?k3pRl3xqYT|_Lq8bL&^K(zatLO;5=HQAn#|wd+B^yA<&@r_AvHVwB9cJR^wh8pfl{U zXBvwDb=hTm1G@u*l(Nfi3S0nahd?T_x_}PY5Jy%Q($hA?e(6FA&tpDW&x!y|Qjqsi z*z`p-&4zy8Pz0#OhF*l9xR{pM(0*`sF`Z~b7fIO`f%emDp34Fk)7=7nmaZ$9tzSal zw4pB-&DJlY@2hsAk)NQS2*fhGD)0$DKbliNAC#{_N#lV$xo(-9$j|BG8 zUu|f?)K~rcse})WFqV~59}8SfU$vpXj{QyGGjvcOSY!B2?HVdMifay{=Bt5g={y@s z)crGXJ^e0Q7B0Af{%S+NtgSA%k+vMI+8wNIDfm2nQy`Y0MmN#Vv(S=)o9HcpF7ke^ zX?4M^^sWuv-P8dH%Q1c~^8T>t)Pmc{XG1SEZ3Gmyp;M+O3T~$fHqeB^x&cU@8$1wa*9%l}f~t9CbrHQtJ8Xz!qL*mEhB%&onJ%-T zCnmQSzC!zK$f`fB@Kw6bhB^SfMz;$zNT2mB*I%b`ZQR3!bYo)T?VQsyFnnea=k}i8dCGCcFn_dPT_m> zEgQN_OBcRRKTP|=CZ*(HDq1Eigvg}ebnyWNHsVP$q{Z`jZ;5IMTFSu42R zqs0Eqt(_;(g%W4EwI>Bq<8y0o4uSq|*Zds4skt@xN~WU5U}_T#66p;LPki zpN`#Zpq#(Iwi^f;$>2_J$GDDkxs{s=loISoT`2oPT+ojD*UVbzXHsI z!Z4pYF$Uj0BQ^QOA&t~n6osq!`V;iI<}K5>?e9w+j7Awy*6D}XWga>2NKeTsKULg* zek@bCx1Q6BM8dhe!Z_pl7h+)@CppZ?gUCCSGo~{ZgQ|p|slwYYh3D;FuBk@!&j{zQ zs^oMVQk~9{{PPuz$xp9@Bz2quF+QJXl`lnoo#sGd20bk_za8S5TZEJAK-0kK5M$IV zFAzE}`gOFrR&?n_=!28@3y1mg9EoX?*?9B|cbLz~C8nxp2 zaopW##3{yweM^4cpdWt7NN>W7XtE=6IxwFRx$Q0BRy=DOeE@mtbhBt0>w_j|9TB6ZYZ94EKW_XN} zO_p#QGz2oVd0@aQ-7pL?>tvFvH`4T$d89<)Xow5!e*1PMj!5s!udyOvj-h~k#s=N;` zWNa;anAW04j^@0^50JiJwwDg;RQ3!VjruR(J|kZA7fR~9yM2vb4ZKT}j1$cdkh+@v z+7g=Rt<NAFzuSzJ#&ueoF}LbQq_vX2GQ|0#B!A(A8@0oFqV9I>bfMKReAI{eLYf%JaZeTJEt8$tAnMLddT=K&g?=)XW({Vy6dLsZN`B7D>!t%A49(UrH_oj4mA20~b}~x!7pJu9KJ8Cqmg~3Z3$dr?n(OsjgcG0kZXHWt zTxg@-Ei#{PycxY#@3Zq(^gH@_cK$ncx^WTsJkhv9_`I6!sS)BQUQ=Jp1W&td(Y z>A1}>zUzOOZlL?eUS=@;+4^gk>%GR;44F-B3{Kk)7?)1F5$U8VPOqPK8`4=-w;7KZ z$=bV&$BaVbt4RM{^iAV!Iji$Q8^3EjC7eHN++6u%<91qERH=QL{$2FC;e(!()3e4e z>)tZHOfiIqNTGFK79MV=4MqK^S!i5_R*au78qPeIyIufI#`Jn3uBU*XO<$K;_>R!| zj|7rJ=X_TnUg_vt)e*Shu@ zzr)$dVM>qxBJvvo$U`T;?9yDUQ3qv22kDE^*NubH`$4*E>ctgk)R4NZ)?1f$Q?wH4%Ay^{BO0G1hK#ae=JsbMblA1EpxP`!{U(!b(~Z(N z{6L53e}%^SzY~_e)Z|ewM@=442`FENlt;uGzEQ8xSl_0C&I@R}J$kkoG7e4XMfw}0 zhxI12QlA9L%*GsDUAz~cD`&l(CG@Acp7&gBUT!>8f4_OOP?&Fgui*RUEqVmj(dxP} z^s3qBVhd_>`Ro4cjfw#XK)x4OMy$>u*IW_4zUj^Ih*k1KW&= z;IPg0#N^4I%Z*bfN0Am!ih4rEgtFVU*Yxt}v7WWA(Qf# zqcun?=rnH_p7>m^mtK zpHLIltn}3g%|PJS^$&@V3zTUQOdxlO(-a z(uXDeous65X|>KZU)1lWmqIV<_e-Af(~JkfbDN}{MgW*WgYmaW`iP`2NZRRQ{Gg;4 zN_v~5FG^~-xpawn8`6s;Jt%3lhw;ZrdX}UElHM%oEs{Pg=_8W#al~nU_ zev+ieN!lvuSt|8Q?}gm^?UGiHm3}2XOVR;JZP4N9mjO9~gf#e6B9nCtbI=zUTU>>({OqT}Qc> zyH9hU@BY5~dH2iiKf2eO8S^~z2J`pkpUwA7ucz5F*K?^yNAzSO_VXdGEkLdax2Pcs z;FFsL__X7A{F{Nj^(=hCY999BcX~cuh)-M9U4wK>@eN30)i)!3V9M=CkFB{A>A41D z<`#1L?nF)xRNsg6Z`I#HS{HZ(=|AeZt-F!aL<6UdlEx$*U&WYzRdV`ANf-J#zgg00 zlYfZ3Kl%jHMHN3sdP2doNDp{_i}a4^oc??)r!7sKj`wl;#X`wfbJ|f3C$dvaN{ApCY!Gl=TgZvoG4ZjKFL%td_!*6O9 zBAt&Cyv2Z2hmD7jKN_iy_dpQ0;s~)A`C~DU8XbpJ$M+?aA%7xL9k(mvktX3ebUK?V zk)DIk3F&yxa1zoU_!1p=CpAbdyswL|(8ODRI&DSII&MQ6k!J8-k4}Bi4jmEnOr%%Q zY|#G{Ql0kFT%`NJqfVa&cRGB?LZnxNBOTFpE7H%xC+Tzzz83`hX?#jmr|a-Op-$I> zN1Z;0w_tQcE31*-h&w_4MyhtCH_>{eH{%T;oNeGnPN!Sp$#lAn&OmxQzReChHi{v= zlRClAT}XAh8__<;9SP*WB5w%YgH)&cAp;GOMH2Z3AOoGgfzj*qO^jQopJ2q;Z6noT zbs6M;id3hc;buppCy@s5&7^hs_L?(sXLBV+cMJW7O0~&aO1n!7=~wCZ=`ZVZjrB&- z*o`RZcgA$r9M}CWA6~Ja;GW{Hch7WRl%((oqnK%;|POlE<4a0fa zkDdH*daq}B;WGZ&@2Rx=$d}cb_IP>ssDAc)-odVRI4?U#>ElVkjj`MDW54GIllaN= zk)wAn_U^;^n~oj$aNH{F)71~RorBZ6DR?t)Dt>EV(Y1&l>fnDP{7F9ixae*~y8L`l zBrC?pxaGa63<`Im-T1qkp4VX8nd+ySCS666ExpU&^_i;+Vf_T+Jy%?dP$LqV)F(U#g4>rTd(CA$-=Vm*n)TVm;0XI~WGYMnleJGmEWsI+5wMQgOWV++iu!dlIR>w!TD<-D+_<5$gl14#D?@6R%o4ON#S~ELSohz))ST`3fwz|6$oy??E+}aPh^zB@1_4LNl ziF97$K1-k#$xI)xaS^b?B_n6h`nFWx%oZhVu!G!?Y2cEsjT>82R%&OD)t~9u*_&uS zt3@%{LT$&Vt^Qt!0H_laJ5P#r_b1lGl4*c#OOnE2EWH!Z$gXV~Gr4OzdZiWb?@k;; z?K?9NU{l*_MD3XE{=~+O)Q3KoBx5;2^2|_t1g0m^x5bK&n8RUxXQcJYWM|sSSY3Th zCnYlwUwdDFJZUv`Br<(#x?_D^R=THYWjlkd@mMdEtjR&QC(_%Jorz2n1eZv6K`)!y zxE_;jxBAn7!Gd(MESZY8rs7JVYvP+Q)J|uFxhc$`ekzepcG9{;EKVydB(3o{wPji} znMBW~?w#urU5Rue)tQLX=0xAdw#9| z-bgIE?(JP-^~91XQDU}+WG2_y`i|C(LY#-W*h;08GA@h3G~$$z4+3mRCm|oUMk@nk zTZXM?on`e2u)4pmx4&;mGL4p2niVG*r=ykpj!ACZxGb6I27(2f$%99*ddxW+H!g~G zo&#yvO;)Fqo0BQl(~)IM65WZuM2<+d|JE+>%AKw2Pqo3gdwRLzNCJvM9?8hEEU^zM z7USbS6cKQdNX0R$$wX!(v9?racYi$5-oMEqJ8HG|L@eF8<%m@M15iD6SWvLZXk^?gZpNh1q$U9qS9&}xqAe^`Z%bh2k@3Wn0lQlyo!RBUr1zEV5@ z!TvDnzGP3rMu>sh`992mo$XQ8|C_!5HY{ru^nDdpjMeE4TVMw5y>Jt>bZcJ+R;&cI zrILL~X#BZ}70Ipy^JzO3QcFf#D$^H(xr?DpAgGzS&YAPL89I; zXiSDMzYGtl4&c& zUhJe;I>}y%a%&~8JM3}Li6MG#+ZyC$xlVc_|Dfz}CSY-&3&9N^aIBwtBv&rg~ zo*WeSBYDJFvO;AM_(I0sM7nQh7Qx&|RUXR9Sm%~xDjycJWr1hwunJ+`1YVOCCuuLi z*($8r65kEM>|D!XP**Y$XA-&cPL2e#HMvXx$HNHVj6(oRR*+b?<2H8+7Lr(nzhDBd zm6rJ#Q92aCkyt9XzzGRQI09hlOmx8XovE^Q6{gY$58G*>WIg-@^XtGY!o~dvJX1r^ zmR()>!W9rO$>J+HZnG+}UGiAhHgT!#Em`cM5UXIi0-W5_oy~K@+*(TPF7m*kCXrX5 zgeTO7I zMX^kRa?IMxiD1W}+u%dfiN#!3bcZv2tVEn?%Pfm^GZhueP)B;_npheL30g3V zw%4ZC&70E+>>aqnP5qlUC(?`3)^_nk?R|`18c)JE4nwM#MCRc?3{ON%|7jZ@bxs}< z#9>C@bT+qx#cnLxw)W6st5?i;^|nNMI|p+%kGx5f5HjBzapeukzAd@R97MtP(-Pc* zbiB0>ap9(Z(8;2B&B&o0sjae7>obY;(86rB^}L{DAzRe!?T6#?#Gfk~HU+r?tiZA) z52b`bV1JMtLfvs39m&4@PCH_0$TqvY$)Yq@Mj#YR*Pc8hLR9vSsve~$h>>XZP7m!^R9%89@+6#Nf791|{ z*#mu?=ymm`v$4;@9y`(9w8Gkq{n2KJkS)(9TP?T*HSF$byV__Hf9^Top^k8YGsC9 zHdamcVX}qB5e?2qtnCbA){=2}pVoAC#Q7n!xE$)-BAoN2U~27SCV_ZB?Xvs`$ctbe z7#|YA^i_lLx5ssfYYFiAmq0gFNmQw6)$fAdTy&tyKAyW@%U>a?I&S$*=f zSw|o!rqqU`oiqbbD7LQ*=UG8`!4lsp8BxF?#xRU4@m`B!!%TRjQN#SiVu#MJT`zlF zvbt+n`SJO?T{g8NpU;lQoU^TBQXqh6byy$qq2sd!)wa5ct1Ac&KG`FCQF5YIXf7>+ zGfUvvDZ6diXVZwCH!Zi4_&`u^?~XM%&O(TjUF-=5-Pi@^U{)l@{*`}a7INiS1arWW z?(Q6b!3_bp9a|Y&IO6eKS?=sHhvO(6zSBO%=JQu4Ye&Yp16rrxLr%acHT+CmW`vKo z+3&HA<_SL+yg;hz2x19+Gp#SPMp^8F*%>l<_>HLiw&=E=*d3#r1+*hpp$O}gk;<5>`4c$Mw}tt zs;N)J^NM77wxyVdhf%io_x4(8M9;a}GHEz)u=-PZSo_cfdW%4Bbt+fgUe2=J=SnuS z9kYSwP#Bq*c@Bex6W0(pFm{e?FnSfw<}itD8I!b^_uLF3r%YFN2+%VucNrGAgcK6V zrIU>4!}O_b8wWkC2E09#yuGWFJmM31uEfzpA}!gTToyAU`)VZ#DOCftw~T_xE`kC% z0iOWv=OlY+F&k`uuW%$+9FBHiAH6kuPJQ;qjU5PHonvYTbb=)u{WBeWB(FPn5YV2$ z$v_O-K)$}>zh5EY=gMS?cj&A7c|_DR1X5z+5CKK-zjm$zN^WP&Xaoo03+xT9>F%7Q{@fP9p+Stk^3DsTh9j5Z*NuCsS@iDY&U%n?9>Q^?TV>rXc5c8}7AnUB6G(yfcx=*$M zIq}9e&SQq`oH~WEfgJak4QC*@b46%>j#`Z={ zeA9$f9xE;EwE*&QReN6?R7RQ3k2TsOM`#XJXPYIvX{*<{L>yl1s9LrhgJJ2Yy+tNl z-LZrJ0*6^s${7{@w6bky_VEfLKaOED;umqJ=iE8iW|NT>dnA^1Sj}s04B5p1_gNA^ z9!iWuZJW>?iRHSOaA%QmMmh|| zG8u+S4{dZj;*2~NR5Yc=&Em)}`#5`ve7jT!q0HIGX?bKFZyJplkIuO=hX+mDH-g+F zuVMWuXAR0VX0c((;RTVa@@FuDIH%N|lS@i{;S7ofPI$(H8a2(B*qyobGrT-(U@IH%{l#mtagz~l$t%Mmg_mP`)oEQGJ{$4p;bQg;U>>SX&3kso0aIqv%7ZcW_7*V@ z*_Pua51Wm}oHw2_l$6_=yuFoZj=j&3-4V959A4++`Fu;^SX$1eP8rQmRdE!7w4R>tqc1|r^rfSk4-AtCl%%6d@h~Y66;>X z?-?m}_}~wB71)rUV~4SPwA z^%J6!#}X?cm+vx#EMu#CTOx1N&Px#3Zmvt<`ZVRd_+cvqF@dZ$C@QiCQwnqf-X7ug zs=rrqJfzkAeNJG^Srqbvy`zQaN?cX&O}G<`@~*)iwVb@j(qk`Cyz)3%ka4o2C=MXJ zI6xni%E^m#aCa@lSK%-6f&!nrtV1?#Kk?Q@Vh5sB=TZ_U|5(oO-auC}AKjJ>#&))2 zM~O1o)i2r!AEy^L2IbD^3s|alv(r)$P zWfJD)H9B7Hqee7H53i^YId+)moO;$2Uco56=4#0yfOCQ`FGdZgs)U#uNjy7b`^uO*Y2AdQRz6Va+eudMMhRDO zaj)zT5sccZ?37&}tG5Gp<>g1R@6=*p zja2R6Dx8fB`zt#x%|~Ttjh927r|ey3w${*&Gg&q@kBYAnI$bg(Z0t!-$Nmft2?f@d#2 zxn$u}l|9JgSR0=s>O&3}X87|*A5lK=tCb+z333*yTliACK71eGNzzq6K1kFJ2KvB! z92g5F4l`>|5<^KBusA_R$!dJ{-P!226WEo&#*yy^p4pCp3J(*(G)hu3@c-L>Y2Xk4 zw;ebGTZO@G!>~4sIMnc#NIoXRtcEcDF9l2kmw%L!EEshT7C^}sV>bFROL62=$oJvN zx{#0ou(I;J51+kid)BK(V;sd^fX^B>p~X6B&AODr$Mck;)4(VHyG(9IC(LXL%ng@5 zGtH_QL%C8<9u%u9D8~-?$z-Qyox;TIQ)%XlyHEEL^V_FAVDVZdu!v@4gwG$r~9nE^#poZ0( z#6r)=RI(=-rN;E3eSKv8X}S6zL3xZ*Q}s$ya_~scWY;Nk>a4&>H)lDfxyxh>-5C2? zhnVp-mmB6qruwHP@o$!fj&hqgqf$PJkKiN4^$l)PNrKS~b zsvV!mT#3&#uE3`&*CF2y$F>5Wy2LjEAh!zIvjo^Rz^z7&mB_C`8Kr4U16JkSigT-gYm-{Ek>M5ihQw zfMy$dT#Py^g-U3-s;36Xj)ePB zD_&BTU#9BtMaO?!k;Tyqn^Vr)vU^|-c-5uiks_yh7Adh2!&`Y-K-9sAgmOE+wht*auT^~rT>hMy^ip{FV%EeRd z@Wcu?oGYg;3mKm}lol~4EVtbb%uXI)h<)Oa)yY7#={_A%B@NttBq{ROU+^q%kfELf zGHkFT^^T>z4Be@2mF{q~Sj{_x+4^rsIi4$lx2U9)x$AQmA zc-~yyMd*d&1=f<)=y@q>F?U$uTl1CKiQku^4*SnERutBO(dsxcK5ZDSG)EzS5<5V% z6&kHZy&4?#fe%hcDu8kcj+u?*?8E71axz)_pYg^L?1fY|K(?%4tHsr(q4#VtJe$=1 zpHa-Ot@6A>ih~k6RoiW1&CNNKj~=P=EzZ0zlX)7ALUx9Z9j!DsLyDf`c-t}KJW|#b zd(4%iwa-#teWX&BDDMc>+K!tMK-&N@?KpIl*YGrcIp$=Wz#=lLgq_}wtTP{`^P}tN z$D_Ft`pG_%ZHTQje-Wk=k2Ll*7#C~NhjBH`5@iV-uI~s z?7kb;&z{@SGn&gDP;HHsD;}wfYLxk!3(v9k|64m}Bpf8+3I&{Ski%L+*{EFYN3wBo zJ4e5*@M+GzwjK2yPpLGF*Q3pXW0|XrGxnou?US4@C!BfPGf&=rkumN#| zl8Y&L=fI9#;drZ2hdets4xG9~VS12@qjeYlv9nW$WonvOeYppY&DlM&<6tG_n~ywHU{Is=+vs5O1p3sGCTuS{et$!>~H3^Om zjoggWz^6uYiungR9Kv%Qo=px@h6k(4uDG-O{Yw5GpM}Ym&o<9Kh8;6obIyO{&EY9I zW|iYiprx{MHZI3`IqsdOB^OfhDMhY5ANA+@&~O~6G>wj0lhrs!OPOEC=pEjBMMK#G zMXw zR~GKq^XewU{h&MWn3AsyIy`VdcjJ$r4&LIe2IT|cfv>TEyrF>yu*=uMqy`b-d-8%9 zq_ho>Gcki8@LrmTSyzV6fsLSXy1nX zb&>w_**d{VMRpaTRt4!J!;>IXFkzbMXJWw$K}fBUeNJ$wRDrdj&Byzhh0z!-ma4;; zhYWduP;Yq-EyW=7N6Mr*54MG2beJm$_7#mbabe8mraDQcm%cF&NL!-q~ z2j7F)Vth#xV-ALs7&^>(a4lDg1JGHUpjJwS+#ZZ$H`m`SiU>=PA%*+#n1mK+R#^e| zirLSw>k%xRkmERNJj(3CahVn<1pYgP3Kd7kGKO#*?hHzR8k~8JGh70U)Br-B&*BLS z(Ovixw+1BZtu%@}a5xY{I1Z;39*hOU9=HNwMo~g1ekIcDz$zM5gkxoP9oxrcD;5YT z8_Ooi9*~jGYBu2WJGt>}&(e=GD6iAdD$V8B4IaEt7Axis&J()EnuK0;zsCfV;lX4uSYj&)Sk8%pU78o` zf(DK3aU<9V9go4~SWDRH^}|9{8opqft;Zo|@(k#9MMY%=J1gZsprPTxv2e5o9+igI zs}N8gxc{+WvH~6zmS7m(uO7Sc{LnA_3kGhcsrdH80mAof;;)A5NC2;EZ=C@%#|3`rU3Ax&d)_O2?bY|re&bV@{>#|bec_7hK3#R+QGdAp*O$n)1f zJ*Rk*zBiCQ`tZPK&Oi9V_M%Tc>e;?}+N&+WPrvSdeP>vWFTcI#%zMWi{OrQoicf?WC&pFxJiLF_%2S`-k1u9c*PqDn zelrpn_}z-%e*7NiwY|YO0DUef>P5($huyf+5L`3_V!D_AvP zUqNZfZqH?g25V4za2lGe;mk@-*6OC$FhgfCoy&wyA%YBP3)Ka3z%VO=oVnW1Ovp+X ztW?>oq6}LnKzA%Rx!K2Dh{E$K&aSrtB0~TL_0*wm;UwD_J5-ccz*OBxgGJt=AYhG` zZy@oviEJdV;lW@4%Pdw$4t9c=knnNh=Lar^p@ShFYY;0$CE~t)y1&|x45Au^LqOw| zH4i4rej5>3FenX`%_2n`puffejiUTDar!U}X$WsQ&i09%^}w=^L$IQHXABe2!hM*e z@OjMN7FZ!%KnYl}eH@2xVD(wpDEdN9oOgKOh48@3_yge1D9}5H0zOC!lgz6sgc2S& z%)W*LO_q`2L1%25ZrJ3&wME?Z;I!}{`*jut(3p2F9Bh=dl8FF?F(Cr05Mc~LQJ87C zmHA)+^koHvqkxvkQa-qr`+@s73w|?n7UoPtN@%fLF?Csp!)*|P%d^KeK7YV=nHn`{ z!Iu|d^v=@f$e;j2bI8PVBr7=@g1E}Eon+}rmxa~Yl@kI3Sx3@#wOmI|fip(~m?H@1 zJRXtC_DL2g5+HqF4-uY)0(j@D{IXSp>c2 zrL!nlSna}-+w;=tm;Dg93+mulF^V!-=X6#nSuh~FARN9j9|Zq0lIO?sMCFHqXs4D4 ziJ1&n1e*>{G$TSm{OT?*4AUD?(QVKt88!~aZ*fONDI=nkoL0Jl9$YEuTEh#wMvb$O zU`mkmp#dfXe|*FXhl{T`=XIn*FXa!5;_H#JAH={XE$|If8tSokCK|i|f2RAqAs^Wp z`NgI9S~~tfR+IDfDw&4rHT|2qlbv{{d0}&N%dBSpnKe%y^A*(GJg2!u5O(?Omf16B z&6qiZYYLuo{5v;3qboLhZs)96B0j&XIX1H;F>h8Z*4!0Kbj6$FiTR0nUGX`wMCZJ& zd2_oqHP4(oXHMt5nX@|Q&!68iBeAJv=BC8l`LX!?`0RLR=Ztt9`Ieb;X3T7v(cCh> zxp~vvmYJPh^XE0spFOv$b5>%;+_^KF=XG_?X`VZG?yRmB(4X1ToS5H|h&9hnbS7pc z=C#b|Y>v&wm#EI`nlWeA?9N%8&7JdScFu@xLYMPq$LF-PbjD(HX1Acbu2_7|%=p|{ zz;?C76SKQ!%uUQr#JZZ%*L;+;%$d= z%)!~1gZPr2saQ|46E7d`z}F6?oR=+I{+qJyoIPu9XRLGP+}Ni0{P~^p;+tApFwB;& z|JUA=z(d)6JQ z7s=O`tV1S{5G@Kq^zruAA`uWxe@$P1Uqo92G>rz?hpge_udSm+^w*}4i6jyU0M^p* z^(B(E{j@1WKZ?H};^Xa0@TCCC`)d=liJAm0EyNG;*7hNg2?Vm14`@YgA0JJBlBSQZ zkB%RaKqP4BApR5rXh=;GAPoQvJ_uR>4L~q5Q4_>3^!C@*^wrcM5&Zo9NknfSe-c22 zNGAAE0N-dLegpzw1_Hs4Xg<>!8}2xs62Y|cPuC1~Oi z^bdpK2Im+M@kBfU{07}~>cxt7V~hxdk)$8q=7{CAnDUbWF>wtcjK+-5SoE};`&1kx z;NS;5hC<`eXb5PeNBYHScX|$j7NbZErid4Vxpnhx9a>&4c!&M~kn!}CYq%;L77g6* zLxX%&VFu-!D1HOAle9=cBFdt>p`tiL9aNhv<-He=KaurH)Z1 zFi=NFDS8xg@NH*kg8p+(9-!4+R?i-scVdszLGJwqiyO+`HQ2OiFW`Apv8Me+{wv{^ zHxoj}^wM~6o@dK>>cU->J!CHvgSie;!!k89aEx?`!r$zhk9e0`87s zlkz}W3qUa$K&acYU@(o~eFo&EgKt-m&kp8g1aQp`YY0xH^ zYakDOod@@Og0~BZRxZiBg=t1t1Tz^PfSWZ@t@GctJwU_4FJYb=Gp6ISdh|axKUfNY zIQ<$3^WNRxu|RkaKpXvcLC+c?tOrE3`+HzeYW~^|;RXO||M!40-#zu4c|&(fhb;)0 z!;|^OADiTRYW`hogg{V){;!MpGlPUO07CL-AQgp-0Ayq`J6d{evo=q~ABvsgF;rzf8cfqK0^Iqg#;u~0S_rV2KvEhU>^`k*)Ix?2GO*pZ}stm z!$I6NI3fxLVf?6Zc&G$Iy;5M{=mO6=>%br;VvL_I3}U2xlMCEvbf*f@g(K)bQ1FcF z638bcD!{0tHX8Og8m0myg1{3nH3A0ZPC@shpbtiactFg6(Euw zCcmKE5BQ+em~A5ffPg|FCPLXv_3GT2VT^nb2|kOMs@D0j>H>06Q3XUc*$B z3qafmG*~*Li2;s~@n3=pyt?RQqt_4x2N;p5j^4ij;vEkAp|N}62w%E?AO!}^4|o}X zM1z09(ZGA09taqob_qjy>&GHQn7J3_I(lP5fz#gG-?z0c9bE>qQb2E^22MSK_KiQ_ zZQto24KUyf5L!7D_MP#@$3uF*Ea?Y`zI0bKl(WzdiHB@{`S>iNKLDcFlhIiiA?fgt z*)QSIs~ZO5guv5vg1xCQx^kexAV%bDz3>qJr*wrCe}V_-{z_29H_Lq(oG5|%or42I zC@^U0m~g+fXe0-a0t*$?$8ehHLE&Jmh=zeDAU)z6$OX{w@Kh*T&{kkDU_1cURxmXx z4)zWJ0Wk141cG2SA=7473r8Rw@R>i<-J^I`j$b zPe1Jh9T&iZXdpoJCkhPpO=pw}NC0v{Kn6g;=}UOnj82#+Fj&vVHUwM%XdD6bFn&OK zM9@3pR3o5WRTZG)2g^8qcLQ2KHIpb1EhZdBwK*_K#b_B=F_21))Kymxh`<9K#PmTo zz7b*S{;{D!;UVek zVq68@=gc+tDz`RYzdOH^R)4$M7TIv=Tx&h`Z8p{b1&q&<_$L_18eRTj%E8;EAH1)k zSEgQIK><{J7+~lDc6FYC_qC~f#wS?8fAg|;FmW*FIz|y3KW%)x+s$AnuiRS{hKa7b zx4Rd5;)FZFJ=#4w%GZ55D4IJXJ`y9^7k*kZ=ML!VKCM@95BH;@p*K+N2GD7^|IgJH z_(*UPk;76$q814=jj&MgG{S%=o?jN!hn2*^s5y1fEaobif4f5VK_x8L4O_hB$z zK)nd!j#`7!0z+3Y`1#?{NVU_iukrxQ_vB+-{9pb?Pcp=SvrsW9-xf?))X=>*zRyR~ z=px$%sB%zC3dW09=d+JXU7~vt{`6Ivr7ouC?qL#C$VQ1XT^d1F|t|tB! zF3ZdojDOc>1jVDAjwhpD=;8%sb(&Y#~qEW%(U`j%6F#;0hR|H#)mvHO3d z{>>D~K__%rEC!(|q_A-+r!P(aod;sa7Sa?}gRC$t1QGZU9yZQZ=}RF$919j=#USo% zTq9V6r}lpa`n z6znvz5H~<6iNK9;vf);+unA#TI1q#o0W`rO#N`amVgsvqYD74JAK^ta*@eI+6$Qj? zp%CUHl4uT>kjTtD5(bks5MrDjnw+4BEJUy4gru3T1J#iOi2sD@2JDOtVIo2xAoJ() zfDKtPLL`9gRxPqCND@JkFr7rG{}%kF@yGoE{s;|{VI~x4I~)z-18og)VQCOJB)R`~ z_UW-tEL|1-(xb8`j`DGgYUUlicf8%`-~}3s^XeP&H+1i-Z?Re?cD;Bgqq0h2Zuzj6 z){+x>M|wBbseQgP=XKxex+ABpVYVz@!{aB7?R>Ij5=g_{BSu<@5jN^|o2pHZMTfqU zkbER{|5HugtNM9&G~3lLm%U!k+hOx~tj|OJ(6V(mhD~-&c)TlUsNdSeg^kO0ALx1# z+AgwE@?ktNBS*v`jVm0}P_h%0MtF08+Vh@qD@Yr*$XNAHAclTas>JsGQVkbL643 zH5M=`bdUxm0gA*U(x9!SS36-|=17Fl}=BUu!q6yc@elxKFVcWKAxYHQ1!4Lf=>2D<}sM2nPW zu|_Nri$e24({$tMrEY9&?00M3$dI6j$Y^!ns8Dr)4+!QBco?uR%DrCbhZ>@-hUnnI zb;O%dX9!|hfjA(`8EFKYZu+MMfNDkmNfA_J4vM%C1bt<}g1Pm#of${NLKsmC?enS> zt0ms|x|ZxZ>2onv6$)78<+^9Wd?g{hRq2G-^9*}6s?}u=!$-aQ%#vQ z3VfyeaqfOvp;Y|xLd|Wtl4o;k1U8*Jg$%5OuiZKIfxELjxoM3$-YP>>`M?&j2!ijy z#=428)g7(N!~^uJVwYz_^>b<}lzQAnceHs3S=GWq^Pg;dfA(OLOz?%8)00%&+&Z@gAWe<7tHC9$`x%)~eTjO~QO*5o6<G7)Q1)>Po5|4&mPUPI=3BH^%l4h? zD!o|!B}M$v#_hox=OuXWi}GUMvuC9x{pLw5<#NO5Tf3Z@e>V5nXywC9H=+GS@{Mvt zjcqD=ugzW^6PEwozJ};Mxki1cc!lockSq7&o36g{RX9NXjP31i=`}sa)=gd@aP1T; z8Vn%64~3EIB6`tCMf=4xkL?P7}oe&W$~ z!61aj9uLHT&y)z@^5)ICLzjfO@0bNi&G@$rt-!hm?UFblrPpVe2Zf-Anav0RAPTe*UY+phQaQ=f_}zqGZJVsU)bQ$gKo3(t-Wjoe8HB(&u&R zS8nlmo@tvV@xDlXWq-~hwQ>!YE7kgw#Ji_)dX=Xtw&^6@*_Wa^X5*B*Kuf-f98O7g zs43tp6PHbE9<9NpXZ`Lq+-hIHW&6g94GXC9USf(>zbPo{$nPdEBi&wCxvgAMw&a-q zYj5e`9z~0NUKzde9(Na5>f2vF>uey08*YntQ*W2;i}c`IZWeob0@HJ`6if5!Y7jYH zJMZ2K%RzDx-wRobi(=fN#WHl$tJpD5Vq0ikXqj#? zEro!z`ccf$WnARc8GCd|1o|!LwV<=k2sNa_I;d6*@27m~UiNzI)h5*~-7u15?Q#bF^)jb9aq3U5k;Z?t+Oh?EOd z(!P<=_&{nHvSbDT7SWtfgr%623tm9cgGSOp)lqRk@fHn~B~?bR3(5@>y|wYOBSMKsa;WRGMw=I6&6F=~;=gd{80(z9LxCRy@jD8Y4U|J%EPSOo zgTh^R@9bYc+K@eBrt;+TqSjiix8d^T&ngs#S|5+_R_sySwcDCkkNZ7G=6&fVqFC?n z6}4M#`_EXAxvp|ux>{EL>{Mr$NXBwg7aihi1&QR!QH6;os=9E{?o%r>1H&Uqs;Ny& zSlNz1%8L3l10idF?uOIWV?Ei)k`W?_rX_2hEm8J6*yLgFlinodOWKv*{cvRBy=YOs zLQl)#U9E3Cd=2~D*b6r5v&FKtu~o)M3)gvjpB;X5bskGyx8XHj#Wzp<)L-u!FLK}6 zfw^B~R=aX!*I`b}rTlwRq+2mcS1R`&HZYByuXXiKaq)rpc$tq&cSxW3WGM0C7S5TSKl&gHK0)JLJ(=l(E-&wUf(8R;R@()Sf@t+o4f4Bl_TrP*y{%cCY&qhQ;E_-i!%~eaaDUx^ z7%@FQhoFfN3x!hzf7JUHNu-GVQJ-e+c3@$~0!)<&BNzSGRK8>@-Xm@D)UalSC8lXi zoNcovPo^J9VIW(hM6UAgm%9;99$M1&JXMGe&pn(bNfEJOopUw&Q^;s($qMW3^PXc? zJ=#Yt4RhmiQB-SZZd#auIMpT~wy(ZgLv#k*WdTL`#)7c+3I zvhNPP{?$<5 zhl&+1ZClJT`O-t%<_XFB$$|}_qZ{f+{kGQ>wMUilLL*@zN0NuCe z`$)Fc_YJBl*)7OHLO~N-2hKUI*(bDFx}#(9l`#Sj?pBY}*T;rE8`^rgqMqAr7VYLX z>F67gbXl_6IQnY;vApsN#o>yd10?j_W#A{`)W!CT^p9rAI*gURR$9j|%#QE59d>H0 zx5g{+l)|MaE&KS5sGr56=F2R(bWQl_QZJIQ+`9*&$E&!`L42hFZ6C zt_ITW5A?^HvZ)hlbM+--lLkzMF6Xd2cc$;R;d0lsa{Y+xCCes#aI?1fE%HK&tbSUz z(W0D*+Msu`;z=Ar@0YrI9Nrnw)qL^IZCR{%Pwh69<5{Km;zfR^$a$fU7RZWZ;Da2Q6JCafI>dn#dU1KE}jWJH?BCZ<2dxX(TCs)0{D{CxJnb$TW-hs@lJDxS(tKi^D5x zxprJHBdN4SelrEsHTJ|7)dv zuZa>uD<{t~2jOBAisSfhWTQ`zF+vwM{$_U1yvw#kn~>t}?%}>{xt?~HhS3e4KF=OZ zWwxQ!C$1Z7-fUMsO={%c+Pwm|npdIB$S|SB`bAjoMYD^S+xtR?lz;0eYc#**SiPsD zs9n6t;cV(0?EBihucI-ArdMjHPbGf~+>$RPd7=4zeaiv&9IHiJyjGmdKU~3e=vv!L z+4s;%Ws5bALyF?b6KCA`nw{!-H}IZ0RR12AQ6f?LPLtK9{!68E?f&GA)jmQVkB?6p z>)9+jkexVxj2CLW+U=t9g=j1ADfno)X3R&!Pfm?`sts|I>q-lj%ST(hDl-cmh)XDE zxgf(|ZyNY4KP<@KC+Qyf2$9`xvymOzMw6E$R#ecX^`gix?=FkpRm1zF#fc!+Ko`Mq#yj6U3_0;%u zqw&eL0#96@JQu<6;;{3K7c>9N|)mSuTYo%1&yU;V7&v+(V9jFa3=Ij*-B7y2i! zZ+{b5HNGkLO07iNd_`}EmYT^&k<>ke(YY0J#;;l z$ah@x&(Tv&3rFB}gaD5%;35TtBhWh2lNxC9KP^j~Y#`uXbNf&@SZC3C|jOz}KOZQ+;PXFpl>+(-UVFyC#D(aEh2 zx9`8+;AH*w@x`n|eYx4E$g0Z=UPK1*+$5<*ZY5mTQmpMevr(?;>5c59vyR!1KC-UZ z9TvDK->i1%PQ*0{>lU!; z$;7tY`BHjc;M>uOhWTbOEtkDC9}8yQ|8f{kO#0lp-?Y0bO1&%5E2XCEcoOL~$!c6B z{HWma=k=_(gKg1AthK4zB{gY$!~E~7&BcaFp6^*_VAWOOd1<7*BU;bcrcr}zwH15O zC=k#8GHtn8Z(D7!n5#DweKVlg^MT?TY_En`)PoXu_|iu~t_Qvmb8e6*o81bJtY6^a zg-~<1Z|^v7_klapdxXTMC6;F1^=Mw(ms9s7uY`=d+b{PJ?2@mkuw#u6y&@nL^)~B+ z{pAgF^BNY5bV+Dm;}8)uSbM^>YHa>S&xhIjMWceQmM2tK>j(GZ%NWw^F_31Rh~SJq z1!$>Q>DRy`)0!L59; z%ZSsI$hJkmMo}TyD4N;D`J4JPbfXASLr7{w4Z5UuWe7d`wGJ_I&gUN=7}=_KbtJIcZ~Tzc@!xk; zDXvgxm8)G+ST9~BC@A2er|@*iPMy-Uzotxw`1E zn_D?+PeaZYj+D;m2g&o@OrWi<;<+I_2M#Gd3J_P6tI@H{5C62lF(lYj!2H;|>hkN) zGd*qh-D$O2bJp3BvoZ)WNm^F~jwYPsy71c2UoYrObEBa}Qc_-B^TeY5YLWUgxAYGa zmZx2;$2QW66Xr^ZWM)N94xVjQl*r`HCOxdN`mpya*9*-FIjsPdr#$Bdw(PmzBlB`t z!AMVj`v8^d7TmU9e<-Ptppkg7`9(s#PNYd&&b#X;bT{d8_#}5m`Z`!=y`hC2X60{O z%@)jmMrwtI%ju#>|Mx{SY%^HwXwtP(6Gi{`R@%j~Twr`*XJb|2#bG6IA{eNqoEU=* zju?3TI>!F%RZ@#@{@X&JHBL=Al=L4K(@cA|tROB2D`r5TiwBVrAXG$mRt>`f5mXUnglifAy3N22KCoEs^64J}SEsHDsb-;9NledTQ45V3T^_2` z!4`5M9O&~n_9D25@f%7nWFAidzPQv>jHfn-HBo(+v0U+`h1~^lTgVscPsoIH>N|-J ze@QO+(AebK(y9C@Pkz3}*P80)Ekk;5D(`mRmaXH}R;%PoxW>jO5MEQH@~k9Qu}9}t zR4Z(|zy)^AUf5Sw+N=;4T<*{PJ^|TlxU5;JOU?>Ek5|F`Hxr+R+}JIN*`qh@g-i1Y zG!`D9Q{kkubKZZpIq53apQ&`1Rjf2<86q*GhyyxSo^MobKd4bRns+YMYdkzpJkO$I zT~=1d#|I7Xv|xj`vb?YK-u2&TMN&U90l=ygQePsegGg#Wl3EL5o7gPr(-9C(-1BS` z)<=Ec7j@~9Q}rz(j)RITM!T10twK_F{{#BL&j|-~$oE7H^6oi5;5ju}>b`Q(&h6G8 zF!)752j^uSpoz%7%g$kDNT4rcpq zLcLCOLP8Da;$GiduwjzM!I|>O<{CC5)A_meY5xd86`RQ<; zeHkWhFVyX1OVfr|wpYr(4lQSW^lmVnCw{fS_`soRsW$3K@$s&s2=Z)au&;B3?`w(( z*D*ow5!d^eJ}E<})o!i!y4!s?Qyb9CdXy)myx> z!s5YF?10*>H|HdKI?qRh7T|?jx>v9lg^?}2T6RK5^J3E!RCAhmj{0A|9=k~`CU7Zs zv^_XkaED5e!()p0>W&KoXAG`;TMJr3yXDCF8_FM;-|XM)*SN#pDMzSa!_&3tvQBdk kaPW)Orop+b0v{uFNA6`PD>oayV2d7q*gG$L0$n)%7mvMdc>n+a literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..77cbd9525a2677f8cf6e96c4ab8bd37c83895073 GIT binary patch literal 15280 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..01457365b764e9db159d9e6eddf786d01aeace7e GIT binary patch literal 14208 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..bfe512afd2bdce4f9f40d98e8f10083d2bc90533 GIT binary patch literal 15272 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..5aa5074888ea882b4fc551a42e2872cfa6d40444 GIT binary patch literal 15280 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 eks}ogO=D`A*CuYQ$>wSplchO3CS|*bK literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..8e6c469caad450c569357b0101626f533a00adf7 GIT binary patch literal 15272 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..d83609672d4d6bfcdf536fc0c746ab2658d5f65e GIT binary patch literal 15280 zcmeHt2Ut_fw*THC^dbl-DkTUi2!x%`QF>82QbZ|YNCE^xf*}E^LPQjmY6lCbh@gO? zfFeZ%#Bx+XK>-Uz1q(LpqQ2Rop5wXap7(wCzWcuS{}1fhQ`W3mv!?vktQ{xsOo$JH zAS`%({)C`&;Ee`zUi{ZlBB+*7s+NGx3g1vZ2Rq(S_6Vj$;KEtVAQmYMM~(yfkJ^ZnOZEpBEBA49ZuULSS6xn^02pf9gG+MTMjW7%pQ!sgZyW>(O`{V6`Q_8{cs6xC8|2@JfC$v_#tP(~9&n&{JS&1l z28BG?%s~Pjs04VX1#=)ho<*fI0U@d~RAy8M&`j`53+51HIW5ae{)Xxm1XMN*#1FaR zAgBiPA&eG+AhrO=2=b%q5R}L(`RmBi-QE(0U>*@FOQbFy!RsJ81S7PFAEJX;3{fMun`Y0i2*9QUIN5!3Js$;IOHXMMMNOEPx*EL1X_}u`P{G zT}fp{(3p&0+t@JznXE7p8&s0$zff5*!@_BFUacFIPFl}PMf}ReiWwfwq6G!Br>e#U zMmd010W>;|9X(a+L?g495zIg~-h&#!b_HFaV&E+(q;NKs<;h0LY19a?4I-Ev78#@{ zbUGAHpHv4mkWM9|QbTw$o5`9ex2BPT7|aMZjT|viG%g5!Y%ElkJCzkl1012hD}&pl z3{$Ca`jlvYo6+Q8#%B?15-`g^lCj`PzT;EpddhLrIeQ<$RRv-Y76-#Zd^iZ^2MH-D zG%F!=%FKU*RELOhVjiRl_EsVU?F7vQz{WxIZtfNY^h`n5vtZj-ucp$jH%IWv#WPC3 zi$5Fs9`Z6{^EbXo`bNin*^1>$26MVP?l(NhY1fxl#$<}JmVQaxwV|mmN;2cJV3dpc z5K$ugIsePYL&_HmUJt#c_&SR1XgIM?%`ZT+n5wDpwbO*{$JBcAHepTKjHcZt3+1=Y zw4%!4!Y=O6b@FcCAq0;fnTn`19++8PEK;~LlVP)-Obth;&Lfz`jEaB(9V$H-1fat~ zkSGiZ5cI$~10aK!Hoz0mv?dHK`kQkGm_g7ppog2+Ue}=;DhoXHiLLa@e7aFd6e>#- z7ZyQgvgot`P2BiSFhP$y@TZBh;?UU~7S)77<*->Kx+cz*6F{et9jMVB%up)BB*4Ic zq(|1%Cm8AIQV~NVm0vp>+rblS$eqeYM?G;cyINSI{{jN{6XT`kW%xgeJi5!M>id<$ z9->d3NvZTbchCs+yTKlhy!Aj9XNOZ zBLF0j@l*pRP|SvcL0=S5%>vEXP&DX^14V$8C8%`?5oZGY+=R{(Vf~XW{QWzB%0uECg zgGLPnr!Jk!W{_Z0XBst}MT(+Pnz_s<5-x%o8bxK0Lr6FdnMNhYgwk+o5!9eCDuZo| zi$&r!apBCEXiyJwgm`sW!;wag2_WG}tRN0b)OaQe7e-|>DbctvP6Q1X5Di2C8zCm3 zX%kEUo#A2tkWgd5_GV5H_9q?$ocj|G;G%Hs=x{)TmJrYq*u#Y!Lk*=xkpOuNDJ(ja z6w81oX<` zb;=V1UJk066aDfe25JaL1>iA`p)zP3T-2C`$+X{TSZzu@2vCo;C5_a~jYbC@I;njM zGbV~jXELI}c>fj`OB*^BRqnWm_%Yp}6FJ5+hD1Z>6D0w22>1dOu&E)q@NwLvQSo5G zJ4q@nJ$6k@ROHJ3+(;h`W{*H~@!j0r-&p?Pj$f+WN%FhyxZqk+5Ny`I}l+q@J#f{90Xk)w@cBYZZwTUQ@@4@ z`*p0w--^kyrqi8BGzP>wo2gWu9e~#UTmX3dv728R{y$v;^Asfai>Z&|F$4ifP5ixj z(9*HH!zy!dsssCcA{g`Og5*ko0RAAhf!sjK4&1byLEa9;wqv(0s22PB$C#x%X7!@> zG#bo!@z`Bp4D81Xz{?suFz8<6oBdg9QbOW?F79w@AM|~_=E#~Q~fxBG+K@V z4iiYn29~}DkDC3^1$%7F^nc=9-*D2j4K@c{q_xXn!UyOKwTLfOQ)2#_A2 zL3j^3(Cv^uphq<`#uEi^I?(+DaQ|!N!vm>NIZ^aw@z6d3NJ0TUqIW(uV6wrGBcKT4 zNnr)(!U4*npdJKJkPT>X;MvKO*=4*Og=tjg30mf7Ct!G616`OzPek7-}$>(+KcK1u_SKQAC3g{@QM8&d|C09}l=OpTSGx|M8yx ze~14IG{Ez5VK5NFU35S|cyY?|luzQYASREyC><1S#lSFO1|lvXyf$SyOy$F3V15Yk z6%f%7fUz*w00U$5oDoN4_Oy~2h%g@vP@KsGrxa+o9c5@^YiZJ?94>2K=;-+Q(geW4-6I-`o8c>(d)WFwq&lPkSEH zJ7ibOcgGO7WXifHi!h*zB?UcK>egCwR9^`l^Jp2^R(4}Uuq|s@@b%6cS?Wi0-u3G^ z-$R~(FT+wPNtR1rKs10I8P)8P_i$_!%H???N!l`3RD+0I!sNh0|bEA=& zgjt9TO3E)SPSimV0#QR(-$2jEU`!$vRH8(gY<70hOb8*6JvMMdGmCS7J^W|($(D2*8&p-pDdwShcVObS@TVELk} z*B_0v5Cbj55D)4R(!`iy80(3+BP%BI2qwkmpLPI-74c8HU?XCv;L@1)$cbm z9~T2dv+NAcYf>D|Nq2h8_nZo-Nz#Oa*7|$z`@C#5A*EIQgxt^;H!Zeflb^-?{sYU} z>$6(avqyaA`tuEM-|LW?FKh)bd*V{^-d}r-y^OJV0#YrnZ-2ATMNaOsF z3)N?SG+#TiE!z5AEurs&A*`J_+_Vs164}o0<8Wuy=YfF(KMNO%b{(s`5O9U@{zF<@ zRHVW}lSB6dLWa|?aYD{oZ1FyO+#*Io>9XP4+ZrX^5;;1nPjA2dLOMfdh{M$ltxddi zK5&rAkv9xYUwu1IExTK(b#eMtf<|45TzZn>n%!r=-Ml^e!Na%v&~Qevo%4_P7aS}H z8$Gh$lsSAXBGRXB8{5ir$~@ zPW6#Kn7^Pwm8g@gVe-=UMUl*cPj1yj(vL{(;lrNB4?>$eV;V2NATK(^9>w%Oy3ucQ zPT-M|vQ$esKjn3#>(|-RKFQnb=-GZOr_3ng(_TXf{x`)^`t$l_;F&JZF2B8npMSY4 zx^}7EQ%U0Sj+r!sD;NV{AYcpvL`V{u?L4&P`@>>ElD7O?j#eUqpj(npT77Ewx-r4$ zEGw|SX@N8{iA}{>aM;027VuL~f&hR51H_Ps=oukA5YXpkQDiXk{*Qwc7xOC|U{E-~ z05|}9?!=p~EJ=BM$vs9fSJFwh`d#HJ>x|fS+HkNf2X_UqYm)+gH z`r6vL{Lca-hlp+qXKD|g5OTeB#=6SyUK5^=b0T=;df14uZ~mjK-uh#C ziNmnR)nx6|bHw*d`rNhPP1YKLQ3y)%ug?AF{H9=6Kb z*cDqIn=-G<^z?SWp;VXTx$p9|S3k~NqE)K1s=3Pa2l4h9K9kesW!Z)a?FSMyKRB<< zQr270XvCmwaIfA!qhyXs^7Z%Cd?{(4{NJ>?)oa9DDWjoDWp%$?tuT6{sn%wl^smonku}^RQcYt#rSA=hF zS921>_3ybTd!}~Y9Z!crqx>1qRP1Wx&RNIVJZ@-Y#q_cURUg&c?rVO1N#3hxW7EB<$FHr@%^^z3UU>^LpGWO=-WiyK+ojbdtMIZJGV>p!56P zr)q5T=zH6HJGX2Xoq)q(0Ef>INde(;D^C{20z(X%hJSwwMsp?`$Y8KyiXz~4%>nlw zE64&7MUVR#Sd>i)GGp@W=STPe1pE%>SX#yyLZ;Pu8Gh%!=Y=hVHkDLe#2am)gat^1 zxa2wIIi%Q)qYyx=Utx}iao{5~g+m@gBCv14t_7QQ672jD9e*N`2X<>Fzzu+%8{&#M zPvimES^gE+X_F_A?l1VWk)%VY@HlMJ9wccel9V;6Bs?FIv=K3z=nezV()p|IQ1GTO z$r0M&ELs?e6-^G0zz4I#5c5d}7(`c*h*Ow$$@T|VY$mvPqF3c;;CMkj>ZoTJy^xOi zjPW>yKOCq$^bLBKQn0tzBYH0W_C0pc{9Mu9Qhns?eU`i9+oQ!Y8>s$xP1DbfthTU? zKkCeeM6NBVUsiNvgw{i@pRZT2$B&wv8Nbce)$^WMc3k^h2lR))81cSh_PLKX{+Rgqec8;xx>L&U1djB5~eY{_wIhY@%_b&5nGLiqf1(A^bN})@Y~3S^774Xi z52@NO_k7Iv-F*-0%(tywJ+h}j*kQTkzC@)~NWJ-VZh@Iil%n3{_QQt{#l+12x_p!pawF|RE|PMdu@{@YQ%hWstLUh7smFSog9c@_A5MG}{X zevdxXP#YE&a@8$DT0F+}27x;#1L4lu2Cjcd(ysqBaQ(v@;IvC=UQ#In4xsTnp)emo zY|@AamsD`io4T@!5+s2AIhB`1w5J+k3G=bI2U{QPRQDRH$G#L1{?s%)&$mX!o|-H6 z&feRfR&DJ11hJgfT#TTL5c6abXa4Gw%AcDk_mB4U^lb+&W>_u^xpuj}V;kCU6eJci z?1n_we}bIc#WgF#JBW-7SMo@Wfxp<@2*-7TH6219i+0^lX?;J_O*kq3{yE>&vAb+mt;kqxVIakY789Wo)fBu6!ay(D%qM%Pq3I zH{UDc`s>ZTE$=ha1h;(jBGgSg%wrH2z@R?^;ppuD1N&5{H2(+ju-*b_ki!s; z1YGcm1bu|4r=yGDbqx%>5o{s`exH|g?`Tp7lGOfhF-x@&4FD(LQmHy+mfC@z{*V|H z+_cN3BQ1=^rcwwC5!Eqr1&?6xku3t};qH#Jad$S>v9#9J(zP^1wDgUvbO;L&6_k!o zT7HVH2l(}fmOGmi7LFVL1wJclZO?a_)PwL4W{It zZ0#u-_nT z`YyCPyKr@m`^o5m?2cG<^LBF$pMASsg`BRoQU)cSZXPfa|5UBFKa>B#t=DfKra$TB zH*-?i{#&5qC0T_EU(AC$x%0c-JXS5*euHah8GjSXi5xk6a_x14^bcv-`rFkh>6hFi z`5r$?yKOEZJnIwv$Fr^z4%^C}^#^f2_x7&qQOaAnI;iWWOxUg)=X(vWYPqWh_NclE zX$tRfonc;Wx<*-f2mM~TkK%X5@N}o*Paj~BBSz=&?5E;!XGag4DSf#|2`F`px}W*I zrU85Q`Kcdqy62l}-R8~&Mfm@k4seK_8OmL9WD71>-szE{7|8+AG9XGZ{zzX?bO0~ z?s{{cu@HaMz*WMoLRKOkd2V^GDbD{0^Zww38v8-l0wOYX)PM}wx*!IoI-*8U=b7mA z2@@BX=xdQR!2dk%lLIEY>p$&l!b<;pz5UTOC5;Yl0agqVndp>H=np3x&tgtLTSZ%K zX{aH19beVGxV+)h+UImp^*Ln24*m4reF>-HT#g*5tRB9s4jsv{URlyNylb@lqt(%u z6*(=@23fBKDn6COpNl;nFBy|%k7G`kLtd_&N!_D-C$lx}R@~=7>X8}8 zz17&_7uE~=KfK%ND?J=^cWGz#RT-%VN>6pJxM>(XJXDsIp?RYx@$4d@@V6ex8G_8+ z1t#V*h=em2kA2hS<{tQ|^0x8A8&RYApY~_^scrT`Ua(jF7`gT$ppn!aFig9A@9FD< zf}I{G!na|s^b-cU8f#A^w1~gHW$IV)99y(vFFWMGxxGc(#XpG@y0726jNW3Zc6#81 z$>vR`)^)17#b7jE7bm<|H%L8pF!b|Mx1y@->vpG=t%`rR&UKd)x8wKlXOz6FKg3d3 zi#zf00qI4BY*bZshx5gFvT<98+Rqc~t{@oXi5N1{hVRa}x6nP#h=hr0D*n!*l_{J!`BA@4Zy}|7?~>}d zu{tG*J_*|;Ggw}w4(!A8RbTrEA~GNr-@(F z*9uQ3T+vgj9XPvLwXyeVMnZ*0#{IASo_oWBm*m*i4j(OzQ8zew{l!L`L0iT(V#mc4 z#Mec$KcM`^`Tn#mk9VJh?Jv}=E1K;SwD#fW>?}nElkd1&5%Cr|wwxPH{<;rlrgnZW zz{Mwwb{({NRLRoriT6*e?kP^tf2r^IQG;=O=8BSDqyyWxb6}J6twIOoeBsk()(BUBpB$pxFa}W?jh4Ne2sXTk-SifN?wN%EF+ZZx$E2{h&1E)N!+x z+Ulv_lKiQSeKidR{}knXQ6RvLe-9BG_l!Aij0ZPli~pV%#~StGxKYEI5j5~aOXO&{hl}b5634DbPssOk1j6h(^LwA393GQ z2U!lIMa<{EGL@#z%P8wl3+&iqLeQx&x_fDzzF9Yg9@ok-3cE0a@c2^3H+ozCPPzH7 zo&^ROyE{GDTV1KR{+>R5e-U>j#CM9nE_I03TP^%5_E8A4PW?LLp4oB^+$Hxgj4Spb zOvU5zdUuYh*ZBvBM$%0#j|4xWemuIe_|vXRHP1z@sZp`&Xn>qS=4L3+wkP4 zFY2j{HM387Y_dEvDt2(&oYcWLq9I9_lIB>>apP>&zogJeiok1z#xl$_h1bhG%PKGO zd1QBlEmrd~E3w_=sl9375|;}pUx{z<0a=lVlr z)dTaTEgoS9$n52sr=6E+HOOGs)l2 z-(BtaCHJSuGu_XsdO;e!;^&@j-`CkU|M{CmmL>~!K4r6gLfQ_R4kzRhbmD8SKZ~t5 z47YB}e0$}D@m6D@fDK*YWOt{uSKP1ye#wS)0wI!T6+CrToyiXme3#F~+y$2%^kNV8 zK9v7|_v(FEMFfmdP=H@Uf)6v7PZm-x5H5KfbN}G^mlx)%EsG@cfIm4Y@o2(- z7_X;&&E@BZF#OPyN|FUKUv9>v&xAlU)Y0*tEHD5Uaw z&lVsuUs4hTMH?30(HG2kxs7zwAoBT_ia?=3FJ)M$D7*Ads%q>xBZn0Whgiw(8*ljX z@o%*GVzX+O+0N!lu5CVbiDRV0JNFM}*E~wBdzd9VW1Xtx_2vyf8#;WRAhqN`e&M2% zQsRcc?d;$`T9W&rZ~fr$_%+N%!Ym6{@yY?!m?iVpbnGD~im+9y8#4W6~1)X27qGTa;ZCCXS@;0?9QO6X|)9pb*^Ikd~F_E*D| zI16LkvyzvsC=}e1d`5HkZ(*;Mmy#YZ1J`H->6ussJKju$F}?yh6??Zkm4~=EiNuqd znke}_+xs4#@p-)G&a#K!*CzgK(Y|tYFg{FkZK>4OONyV;vNbMQ?@l^B9*+X?XkL5z*!uTp% zQvDwW_Xp$B^kxr2*N=8vrVor(v%AG&6oQ5gi|RwFs;Pq|satjTtLfHYOG9j8+HdP9 zojkuXsG)B}`Amr7+SsCz^p4^ECl^?Iy<8ifS%{!hq+; z4+uIB-bk?I#eW^8fNF_37bT#x!guDLM>*Y@>lsdEVWXIgFeWJyOD56j3^q2Hf@N~( zSSlTB>*|4xWQ0&~;^HD|6Rh3rAjk>D2N`e$Z%_8t1=D{u|d8{1Vo^YH&!6`^neAuR{16SqVxU?z8G_=# zdl*T3u$feP7z?4G@r@5r)yo5l0%>IGR2{q=ZNWPQ6{JO|Q8NkY#7nE-SWQU>KqcySmn zCW06+nP`cOQ5eFZP>?i;1t295i$Gc+mV)rS*n}5b@nRe#3e`b4NEW&Q;#p81h*hEY zAYK5CfS3qjP&jBIB!$AHK#(NT4G2hgDo`2V3npMH%otzJygWh?#*+$KEG*TQd#rmC#4I?U^Nev5U|E!u2 z7~ud~1ygBMcKpv;XDXS=U@=13I8O?T?FPC)#K2jFkfPWWrWYF_r&3s8Gq4yOCK;qc zXtXI^P(o=GG9ogBBeNOI$#PpNDU8lwv8iO%WYL5axbcBdm>v{n3>C10{!szkrv&(! z;!Vs?(f(mxQ-hh9MX*)CTmxZ{P#EVCC~0-Ys)}4!U~9>j4Pme-ln@^lLh*xyv^0{H z5ISuUxJJ4~#55%zQUm)d1%h^fwgO=DAbEEWD?GBqkTosX_|@m~sYincachrBp878S zs_%P5f7beMd@-~%r#;(LN*BJ&ebn-#{%LNLq3m4rR#E1nFDX0MT<(sQ%DO5T>#Eg9 zkl6N`zyDd^+`7Z>`re1Ea1z^Ie|(Q-K(Nj+iq7n>t!C^1hVJwC$tz1FFYhv&ue?#l zhN6g#tlO^d?ANqi2sLqRsvy#MqUC*dEgu^3g9TcST4^A3j20^EQ9`4?JSA%S-Z1B(~H_~qt>P{hrP?$Q{ zNEVsFq)~%)uoL^h3_0?^pAOcBLt}H86f-)7!)B6bI#@SOFpWxHN{RPmtfJ7(f{lzw z24n+6ya`dC0vnsC{@&U6{+(Pz9uzh*>dC{|&B_+}7Z7-ok|aGVE3h->&`y(z@7D`G zMPIm()C6ulfK!KKEv4xzS0l$Sa#G}i=K)C12k!{*29OUO1rHJ)0^a&|5EJ|{z~czf zAu>osLQ&w@ra)})I71{*N`k^bIs|e7sYsAQg3ccs#(*jsLD+E+CK{GZK5BlOjEReDWwJsoy^n}!r0ZTA|KX2{=n6M#x5OY9( zAyDEUNs($BAQ%I1rUHU6Xc-_xnoxLZnD>*bClDcu*YzJcjsT8}ev)|sE)*z^M@r`L z2?0HXgW)s5GhV_3y&=Q4w4nglWn^&H(kN^O z3hzjdAhJy?&;LV_ejR9KF8CW(o zihtq8iFrSOzwf3IGla=ntCH1PY)w z6oWDF6rzQ)cLh3&A~h6)K}BMNnItf>@i8_W#l|!g0HyM3IFWzNhlpqghv;BJL*r9~ z%nzb|o~FRGk+4w!`bazo#)0Js0&#*!ZBxZimZ`0`YbM2_LcQMo5{>oCGAUkAQ-oECXg+Yjwsq=omy z?~HN^I*xb+wu+v#G>lWv+ez){c8lEceev<<1n-)#2Qsgf4m*u@M5`;$KvyC=aw_o5 z?Wr6DZJw|(k)k3bjYU$whe=y>ye80w!L+5(oJmwV#5-dt6dsx*wLjDWk6*j_o#FqN z{F53$@sz6go2idrF$4iPP5C23q;&l5;A;s^bYP!P22(zLkn{#ebs&iCAYhRKKyd{p zTOfG5fD@W`>w>B=@5aV0-EpfIv8Rz>!HdW50^>kGQ2<`H;6d?DM<(Dy<$)6dR>)z8 z1T~($?8!TT>EKiyKMJX!md>k(pwpOKz!U{!V)Gyc0fOH-#qelgFz)d`eJB{w0XXb6 zLEA}sTi(e{=JAOF{C@W14AMwB0yYdF9UEBso;+&yZwE9E07M8lvJnmx(8i0$2|-YV zBZ3V8G{9}jmU{0 zFO!G#EFeh;=n=W|X##T%1vvqVFrE}PfG!FkECT3Z00G&61`D1YJegf5$`Oc0WS-PD zl0%>l0>;6=Qn!CCJAtQnHy{&Ypm2Dg{;T%!kP#RyxcTu`2-pk2NJD`+Wr05mkU1EP zA|8zJ_jW($Y_csF-v3^}j{6MGoBr>0`Tsrr_h^9U<3gh$n5&U1AgrCfIQ_FYN)VmT z)z}1z)}v7>M&_M^uM)N7zmXixLGQCF4b5VF5lbjDRfK%L6Y9OCuQ} zSrH!+D;$`RYz7@K1xp}>g0h0{l#oaUJp``;DU1OpR4kR^aDej*FA|1I)O$j|pT zUqcjTLrBS+qAZm7mOR{dRHto7!1T`Yn2wPxhxtw7ER}*c+gC zXi4IYLEGIU0q^(K)oy7JLC0sUc+uWLYnicJ`Edea!`2xdYenc#-O0o4*K2}oIcjf( ziaf9NZYsI6CfuIs5PqxmPPW!T;)fohOB?(;vVqoXyc$KGE9=oZ!_8cXX(5vwhFWl` z>cT09Z;8j#pS))$TBbW%X(vB&DSGVVj0Ou8b&!in1{z6#=YYAMt&UNI<)>D&lMqTk z2&{E}enCDycs4>Hfsx0^8Eo^Dw%XLT>U2f93;L}}qP;?VBkYD$OJf{iheLL-4PFb@ zKo*avEcWN(aYe2dh!=weTmcj&n}Kzwk{Nh;SPmiOmlY=vVHi(Xpl@hoU}7{bkt!ll ziriv)$a6RTX6`WsBcpleB9GkUpm)NaNSAXk&hS#$G2bEIF5M=a&5knF(~FIb#YIjz z%fJm!FKQK)5yjFYGiiE29vemoSi@lXBC9tLiF9EjUDy~0>S5C4m{BN<7wiEqo6N)L zbi2RX0T>qR?{vY2#Sp<|QK%mnG_bAyxS9F5XcQ#xXmmj*#L1HMpxtu!>ENnV9aLCQ zpx>SmhvoS6`&!2p`!=}ivYjpmSUu_4@6c46eNAiI(2ALXd;^7BkzbYKy=Fd)8mao4p zTlrk}Md^*_OW_yGvDcbPzlc6MwWc9P59hQ&UOR8IA_Gr8SYI>JRnc~TiBgz(dF-+* zRIS*>60PnP@;e&?WSy$9vML?xKb$+*FfXF=V%gZ0n+G?=+n%q+cYicS>1`djJRf&5 zritHw=>y-9-roH`isy?yDypdrzD^(hnAsQ`Gkd;S-jm>nfh{*V5ofJ7_?Bf|HLWa*4~&Y;Jxdn?>y7aP?PJr(C)a`jWy?HeR)5d2_zzw#ResYj3%MUr=*W zaZ9T4%3Wu_-EAKI=(*x?-aytdN0+hT%B9x5iVmBNqE&m(x1Xr0_@1KlWc`i^;)R(K zt@0A+4}zI%lW(sioDlJc%$)IIBkvCFA<)>ic`Rc~>9BS1)pWAw@XSB146_f(ZZyg2y31ge0-G zi3gf|zbqCwb;G~qXeGcfvL*RswSMkicLw;JWdqhXH59lsfIq^D!wzRKfroku1OOBm z!NvsGzy#)jfFUo7AcKkDe;lN^=-=T0jlcmKzya8E#|OVMrIc|e+vvx*QqKApKa~5< z&9k1Rz3P>p+p+Tk#xpUF7uPh1sXR4WbycQKbkO+H9)Z)>OZoj)xE3iX1XsQ6N8Tf3eFrs{a{HOJXovoL|#C1YCQxUy|vz$QEG(dyFG>9Zc0pV=JHm*Kj0=7$2k<Wp@du#Y2UwY=} zz`^_OwVQXWud18NRu5FvEWfRxX{?@Ovc&LS;+buylvRt5hW3-@M09I9?hoA1qaM&a zcd5Di<#Rq3YJ7u@3I2L5s=ZMGlFRI4%SNE?suO5#V0+z+vg%n6yq3N+DUf`n>R6?C z-Zs(hS$zXDp^N!at+UpC&y{zVlzrOMGW(q!;o{?4I{W?eN=Bca4(+Mmow|CUbztdB zN3CL6&7$I@u#^`YgX02A_0~T0*|(xLR#Wr+KxBhvmQI$Xk!yYTI@^rP!cJEn9JbM8 z@BB<3iNpHp$OZ)M%r$oIZa)y8#aqh!r=gb!&k7BfbfKs zHv@$Mh8Q#r|Naz=l%^WUp)q1ABH(t-0rwso$O;xkj(bTA!X_P-oI3mYVLku>e}Flr zt|=P7)#id6zf1S);%oRu)eL>u4{0$61CR)I&3DdUn(jD(LIACPhdCa`fsfE39P&64 zfqe^hE!eD6U>67z0|^8k*sYudHvo3-up8_$nFnBJ{a0Y8N1jBwzu?b?Q}Ynvv6$4| zaOw^?HG4`)I6gQv4Yru<4vms0{#ADfc!w~^EWIcuHIl@PCr7bx;p|A*a*6>O)>k25 zXHUCi2ZAd$16(|jt8zSWydd6m#4C(kNXPxfIPC0S4pbichJ8psoYUnQKNHv7#txge zS9F(jH+kD0>s?7r@nT!+DSB==JaZRIp-K8`N50U%h;2_hI3si>3CY z%()L~T{*M&u!UW$iow;U!os|Sgn3^V@0@e|n}ce~#{(m^t16c6?s>zBo7w-`XivQ2 z(jTp5s^Od$C0|E3y%9}$OMm)Hrf_vW2E2}780@$BF^D|(*pA9ki zc^K?%p}9@i&Dp97b9Yc)t~OZCPIA7ijzLafeWI z_nFVfH*0*}sY)$(c^KYRic{GYG9suiEs4%Hzo73QeJ7d`bSyAt`@E}%Dx@t0)~ye< z>U6r-u~@SVoA0`mQG55Z^5fl}=Z~4K4|=n(rO12s9T+UIXcrrDYgEf?SUaz$k~j^bsSAN%djYX^~sUp)i%acd6i zst3y-EnWsa)^6Tf-+BK@Ql5_31+C$Vw@Rb;sDus;b$V}S7IpYSsVZK&bVovDo5G;| z=_fCT=@GF#MhA))YIm&PUI-O%735*Ag3Oe1`S?(Ht^yk7%8yOW5aOGVe+P=*piz9k z`zE-kI6t-R zP-+XD+VpQROLgG|08YTAQthW%>Ii=NLjqsHrd=+bsF76gjSN2@RvRau?HNv@flpkX z9v)ab4;NF|Sf8M)Z*6C&YeO)x!mGoo2pylS@=vy&;CCas9&A!%6n5h05BXea3b4!N zU@m6#r)vha-da8svtnpC6F58})cWZQ8*$Af{#z6=F)}{c*?%hWgkuICcg)~nf-&BN zU_|8E>sqdn%|y&F7n?HduYEk~>_P|L!?ylP8M5 zeA|8;;RQy+>seUw`pgF05$hqn`*Kim(||dVflcSe>1{)$W~8k!D7>u*U1q zhIMDDsaGUo>V|Tje9exoO#Lt?^_I!@g&VPB#YUTGn@5-mc{4oh166IBL|=U|Nt%1c zb#8oE#o@(iB{|v_D|264tIB0ROKEOPxn82AFTx~78(evrr?q`_C*APwqZ((|XNU6! zBYkEK=~51?+4A~CnysdLh*G96J3t9Hu+gb#srNwa6~4rppzZ0cJ6W6HSPO!Wo1WOJ zI=Ne-o)@fJGuM8(ReQMs)tZ~M%+;nlI4>l3cT*ozG11b$V4a@ZxpI~0%rz<()~r)w zUBDWs&5A>Py-BGCL=?(@KPOX;Gh-H_()QAIyx zd*k@VpyJO$jC0rIcD?N(+d!j@JA{R@Jk!s=v+ue3Z1X*zL(TGB-%o5kH=WMm)GoV~ zX^RH~*C!?#&(AvgS}p5?(ntqY&G%5csoKceQdU9z0{PWTUg){TpKCfE#2|>Zu)3_O zRAZkRH8e%2*`Dy*yULB|a(3}E=2P6;=r@ywz9Bdj3DeB_dCThLFIwr6Qj?#OSbMfw zh#$_x{=quWE1nSmtqcxG8-CtIDW2tFp!A9f2OmQ4SVLh=ewo5{4LD;#R)b3 zQ!aG^{PU;*8L)Lh3`})c6R*WH(P@(=E-=x9;FZAtJmHfACc4|-?Q7CX|Hpd!)iouH z3{D**28&E~$|v;83CFXTFC0(ycqDTW@^tbzae(lk%A1YHkNpo)X}nhUp%{?LL{1 z{gNOqr$L=@9;^O>CJbO-Mf)acW@1(pl+!b)g4z-G?e`FV-J(!{@zQPqh@9m=W1>2iz!si{mHebHt-MxmQKB4=DWYSfKminr${iYXg zUbrdJ7u!xO33Q>&cVusSb@PL_sGg)PtY%NV!SyUkPTJvMU2p}t?hn*ARgHf$@#|M1BTbggI=pSt@+o!AWKHZ~y?9$nfPUaG7 zYG#!eP4+jRUU;jtmN2WOobUE-rjYp24uwON0WuC>+IqzAhfC|uH_*9X-^I=OlJmK1 zvlz{=|8ZSm+P0oHZmZOlHLt}sb(XGv(Aqk%qHo}{z==m4!>`YzxRozY4oDDVYOv2d zDn0$$yR(^_yOLdRqBCr%mz}t`>;voQ-0xLisGH3-6dteaDjQlLx~q8ayxRR08?z6d z8R74)=MG5|gTA>d-xPX!Ddx3rQJ(JoOsx?bV?^xvT>lhvODDUJG_fc*uW0RIy~ZYK zG~G`EA1j_4RIB@9$%dvAvTKF_E=B`?)$*UX2+g?ia@7I!UdKH=$JLBqR?UBp<7xsV zVG{t1#smVv0DQdwZfIVXh-Cl65dQbj>{)k_)628WxuWrfw;rm+S4*^To4>!^Cn(r- zl;*;@e$&9`6KV}@Nmozx1#^WU;*S-s*Frz<^oaKBNnYYNcHS^-oxQ5qxlGx6v4lD) z#lE1V2=_GGilQy{s|4kSuEcyycY9KAdp&x^GQ3f~h%r5L;GtyOe2+vE5<21XvF}W3 z$?W4NJ{i^+%nx~-v+&}~)x?u2{>huAl=r)jmG=d!KZ%gM7ce}w#p7OU|2l8ycTcM_ z5A|kem73@*+xIGpDt^;YH);$1x`AeO@7eWg4P7^~lFxZ&J^9M-l@l4hFxS3%;LxcA zEu#~+-lW;Rw5Q)BwA7`;D_nJYf=lmQ=*ishY}X0YlFFLsqYD0EK^-I8vQ=iAeaGHo zC0XU#bM9OY)PE|I(fa)`HYs`Z(E+>8a;9E;Qeeu(_G8J0{f17T7SNB#EbFV~2i5?q z$k~X!Ls_3IIVkm^!a;GMxNlFQg;RUU%1c8nZ7eezmwKX!(-w4taU=pLdX^I$VtVRrV89c>rfzKCX! zh71J^6xTYmKbh6|z4U?dl~tcsxGxKkX;;5k;>MpqyCOZC`7ZN|`{i{C+v^t1XrF0x zO=yOqMci?_@{cO(S3b@15U~l*m{VF3xFK8pb6y-< z#EaujL4HF9euW&*^Wyv|%=}9nYAv61EeF80$>lJe4<}MB)ac2a!?>55|&zU^D6m4knIE0pXpJNhP zDT#k}DeD`pv0#Vdytl7H!%RJ#pXOXFSBYyg#O*uE^@jLP^VekbQM)b*zg^uK!Kl%? zMQ^iM%t1X;?1TQ7%+t_}I3R>O+Cxkb3T4CUkK8S;qr zaE*$;EozIOQuZqGyhEB#!jv@CE*dY*rGK02xhld=+TrN?ic{D7GFH0oZ@TXkbI!+8 z_zV?go19ocqOrzAD*LTM&8XjR)mu3xCvUI0HL~zo#f;jscg+vum#wX;Mb~o+S1Zh( zk&ziS_VV0)&6ydZS%!}qoue11j>U^Z;} z(?Nql;dNkbSY(0$@&Q5+L})Z$@I*r9(0FY{i9b?nIIS%j`R&G(mk)9Gpz}pwA*4N@ zU;(yZGL1^lpMJ0adHGUPp)zfNO-*2Aa1hErd{sn6ilY7F+W&S1VQJ%3KjrMmK^@}zsI zEwdI}3Qbfrd`Ub+%iZe>r{??@?1Mj79Plo;s?6Fo#?M&Rb2jvHv4K}hOO?p^9VL$U zmnRB-N*KBMZTf-)4m1oG4eizsdj2Zlsoj-hGUc=U%U+k8J$_hMi5n%Om!-_eQ5L*^ zCHj`nZ6VXP^|`ppnTL+7X>k=fFs4y?{P2zWg{Q+M&Q_h6Gb3+bR+z2D5qDZ+*^3SR z8Z2cRIXCc;MN^^E!V#6*`sezeJNI(B^LmRu$?cIc%sRIBmX6wuxI2bU&*wLGKJk%X zwyLHoA3p4>yf2a9^Yo}3{}Fstob#fqq%&*xRJXB?--zvYINt>Kmc%$qORBs~tjG;* z*b&!a(!kOFn8Dp<6uYX-|7@$`n0rnaJ8?h%ZSv>ps|2YJs%CeyiGfe#%KGy}XLko0 z(=r2Zn{`y`b!=zneQCMA*85(OK#Slf!!fH4{KF?`XL%JNr*xmtw|l!(rK?IdtnR?? zu-TI!n6Z-MEqL4Heed2=@7&{w{Q@scvx;iPiNgnmias}Qt5T=ylf!j#SH3Fzz%PHT zyWRYR=K0d7MhE7(hh}}uCpvN#D~>H5sMIY%d#&219WH^DkMcEJ(uH{%;VY~oKWSXt*Ynr_@Qv5$dzKcl`K5yOx4W}eDh=5hzuRw$ d_f{4md217|_}5*X8?bO}gzBmGJ*pmp{s&5MP~HFl literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..e83d94e41835939066fa17fa038ae274cbbe1fc0 GIT binary patch literal 15272 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 Yo}Jr1dlt6n_E&s2JyN~%(z>% literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..972882dbffe4a21c98fe6b50fb9fd638a55a6527 GIT binary patch literal 15272 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..cc777aee9ebf7dc5460c122a36151a003b171a0f GIT binary patch literal 15272 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netcoreapp1.0/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..c2f2e0c59190638b1a0e8a9aa2cf49bd4d836364 GIT binary patch literal 15272 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 + + + + Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll + PreserveNewest + False + + + Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll + PreserveNewest + False + + + Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll + PreserveNewest + False + + + Microsoft.TestPlatform.AdapterUtilities.dll + PreserveNewest + False + + + + + + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/Microsoft.TestPlatform.AdapterUtilities.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/Microsoft.TestPlatform.AdapterUtilities.dll new file mode 100644 index 0000000000000000000000000000000000000000..c8493a64f75cd3a4a47b0685c32746b17e62bcf6 GIT binary patch literal 29064 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 P7ftw3k&XWbBEJ3)2C_$| literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll new file mode 100644 index 0000000000000000000000000000000000000000..a43f218aebef8ce1d116dd1f96b635a9bdbf8d47 GIT binary patch literal 63376 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�UP1b|37pA@}_qV{iFV3V-C3+ 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..77cbd9525a2677f8cf6e96c4ab8bd37c83895073 GIT binary patch literal 15280 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..01457365b764e9db159d9e6eddf786d01aeace7e GIT binary patch literal 14208 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..bfe512afd2bdce4f9f40d98e8f10083d2bc90533 GIT binary patch literal 15272 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..5aa5074888ea882b4fc551a42e2872cfa6d40444 GIT binary patch literal 15280 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 eks}ogO=D`A*CuYQ$>wSplchO3CS|*bK literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..8e6c469caad450c569357b0101626f533a00adf7 GIT binary patch literal 15272 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..d83609672d4d6bfcdf536fc0c746ab2658d5f65e GIT binary patch literal 15280 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..e83d94e41835939066fa17fa038ae274cbbe1fc0 GIT binary patch literal 15272 zcmeHN2|Sct+rMYAFWIt`m{67&_sm!;vP;%1ktGcVqcOwGASy9>lp<+SX|W_K6)BW` zYu^SDsYoh`Qd+cs=N{|x^t{jezQ5o5e((GHe&69f_gSuUo$Fj@`CsR{$I*Kign=Lk z3!a}pA?PA_Bf*Rp|8PKn#i0vAx949(IozJ_9!h25BAAR2COI4zNT$;nY+L{Z z$Bd%msC1l_vl}j)5k$d@i3zJsuy(PAAO{o%Ivb|*aI&{vNChW?f+0v0l<<$2RxSc> z9C*yY13?nJGC}J|m zK+p+wkXbt}h6A8eoUHpt-Z%&noIxiD^2=xB@odU^HpthDfC$v_#tP(~8E~L?Jd?!? z1cf}=%s>Jes5p3L1T!E#o=KrG03o6>L}o+>kQ8`k1TzS-n33fr4PK>LNVh*RP}I!XdsPDovN*eofUX*1bH)r-h##mK!`yA!$b*y zxe@~9&=(X5k_81IiRd1A3rsvndh&swUS1kmTw5V?6hG9+ixnU|Y8Lbmknux>kSr*- z;>BcMtOH`eWTGW9Mj=Q8g@PnO%nvDmSQyd-u>?fm#m2nYoEPIE5vU%*L(m z_Hy8R*iib`ub60BlEcB>N~KF)WOcPaY5GhN6QSegWF2DBAPBbeORH7&_11#;+-!)tqUvP;tAI zB}E<=UcX1r(YtkzAZp^sR6?Y2N6UIL$q`Nry7l@%N(3@{?x9RZ3=0M55b41n038m3 zL{JbvK_8qm05W)KLp%XVYoj3be{k9WGk|^IoV#=5O)avaGQdNd+)BSpkSm28L}6;< z!dZa~CXE`PjhomBCdhFI{4o4O2HpVfp_AZ2!hOJ7&l+NaKL&X0 zAUYHXQsGbpII<}a8$6B>8I+Qt5ReXnoIolZq>!Nf`-ah=iUv^uksBb0grY! z90mFdf?hH~cV2ost4+e~wfGQm@K;a$9baDtK$cY?I!L_7wOSx4bE^Fbm zB(|jExHa4|ZXLIlTg9zu*}<*GqawIRK+y$IRM(OOXgJ)9+-hzKprx<^$q^JCguEpY zG#IBU1$7*du4+jI%s>s`oQl%`6lL7=pk*0g%vp@v0B_R9@p`J@UTjGQPdX?hY|_M| zJh;1B5@xhT8UdEIK!_3?Pm(HbIj9Gjb1ge~>|3@128ax`+)_kr9Jc}?0L7p?AaEJC z8fC;iJjn;A0=ie>4Hk(?xR(H1K#6b%+Q9J!SqC~$0TQX85>edUIBq3iUIQd8!~K3N zh#a**po@rnK!g%7SqGfp&F&OL9~&ZIa(1oTq|NUOlOD?pDx zjmQik^WKuiTMw6z;UEgeb&li$Lq~mw${fSn?nw++S<~&SN>MO zNi-31adV1#_;^9oz#-0xw{f;DV@Klm9^B1~U$pT%@07W$&KJbC^{o|omH%Re$HvZLyGvy%Ent#P=SGJd zTW^iXFc}cLb!ON#VP_*{r;s!bN&Olo?eXy%e@h0_ibiuJQ|S;7YbX?+U4zvATmX3d zv728R{!=9=9z*$GOnn58A>`yv_&qzMbo}n%Wd=@lV4qKh#TY%1Tm=xoAH>#>D@fUa zo0b#E+kx0-{MH54VBh>0w{*v?Uc{b8!ZKbweis1e*YAQA$f0;ABopwV@&F0}EabpL zf*NAbK<>Olm<~?X@#ByRYU#Xs2r9v5A%`N6i4Ca6!QfX;(L5R$jC=e~4+`L+*Lp|; zw4J24;+@`sJU$VC-*i8YAdQqGfWrXNv4N%U&ZB1ka!BI=NCbgn8{t3!Z9I6K5EMl? zBKQD+1Keh&`(4GOL!fMOTm(oT(7?P08E7hG0O%3TjPpdmn+9}03Ecl$`S3t$L{0>K znLM;-0ZD>DkI0=*1DI?m$N^A<@T9N=bP)h$5$%Tn6l4P$9C-HfWOkk?M`i|*c~aL% z4uLxe7zqDL-Tt-gM4sMVfJ}&y62$}dKWd)<8G_LgrgXm;7-}dmr!4SC0Wt@GQN)4~ z{@QMO&XBqLUk|u(pF#DK|Mi~#zr+6m4e)$iXfy_|VwT{0y*(%Hoocr@R>i@3MqXcV zeQ}3ws>2HTYk9-l&XudnogMMlH!Ipx(6_Z#=Uc1j(9_7;g7c0z{xos(Qze!z0qH6m z3`TlJE%Y}roOElqS6H89(O%6_d^oS;YvrC-b#q(w+I5@H3?+$oIz9UE)K52m#m4I+ zR{O{N-X5;6+u00U9;V`2-BhZGsnBH)vmRQQhO~};C}V# zj^f*!Lv5J0p*K5jXJ{THz3U@6b;5(;O|+**8&HAsrQJGayO;_xmr2EkpcXY&Upj01 zbz@QT!?)~>X32KuTJc>@1rIzO(O{vXj&V@&KqGOmGMMXm3$XIA?9^&@5Jd3{g0;@a zCxF4g^AG}YtSnYWf48@!`Hs$YB^BjP=+{acZRBEGU>BrX5^D$B=3B#-1Wi~SSv(@r zxaq~?96=dhS}foWpfK4CoGUeuL6C)I5K=yAF(L_u3B*Nu28Q~^hT{^cA`&IYET;!O zbKz^_oRTv%R4EHTaU%-74|YeoRK_~O_OM-!ZH{%aWhk2+u~=6(CME_SKIJkCWQ6NR ztfMj_Sh|5snl6yXk`V;fFj&6G>h(t=9oSF@Ho}8?m^?XV6bkDByTL0b^DsKu`tNoC zhQ<0jU9e$ML~v;o>L(TrY^&dIW()_7f@JLsFKGukn33;wo9!#q3;#TJ9?aojv%czvx zez6pOz8ZJ6we+({*V)ZY(YkntZL(U~sqzd$;IW3=>8Lu<%3{qY zzOwsT{G=UfaMDVTx4tVo)}#_vReAo$8oM7TbG3F}CoHNxBfm4zXiesY zuXozMeQ@`EkUgA!%FgM>`zm{jr}DO`hLNgIFLs}#xk9nSMu z{Ak_fj<}{PuL9Mx+27E8J-7R;FY@;o&zHPf$`|w|+U1L!w9l5*TH0?GC>T zUDMig$gNaZyQ#SA8~%y37n0<%0cHh|JcA785YICGxYWJGF`TBH` zw}i6eDvi82X0O!Z3cEF(!^4&tNnIOCHzd#PGCh~-H<04IWzM@?-PQfOmgt-%d0nnB z{XuLyk1;t{TD;pRzV%3g_6Mg`8T0iQG#S%_HoH|Go^?h+b<557m6+tTPyQoZ*Sgfb zTdV8mvlsZwYn0zo*DzXez<7nh-HqpVpH);XJQ+MhRt|fjVRyuTTi*h|w)ys^uFYkh z%hWI_nwFS3*+2bFIDZTL1G}5)x%?zCzp8RH&(k$d~`QC9$UG~0D^s)6g zFKubRwfnM6ok?3Blx&lGeAMZEW=XY84(&i|Z^yP&kx4il25|Timf#nfu<~Z3u)q+5 zX5inSf|0^h0~s_{R7n`zuA{)c#}YD!MUdlu78YTX49}W6`}trDfPmk@98+g8ny}0A zk_?~IlflBPgcj8lJ=hy*p^ODc1Uu(A=GZ6OO`s4!t6yP`hjHK|bWl{_I1+(<3wABo ztW#j;50m_fL>}0!nFKcgcCN4s>@=ANU}y1HV5b{6iFAL#pA9EwBf{gbiTmNiy>Md2 zl#=imI57!cHrX8-B}@9N?hx<}Vg#~uBbd~1GBY+Xf`t!dhr?!54A8Ki5)n6V#wFVy zT(KG8;)z_9V}auZ@u(x7VdO$O?lZ>Y=KbM7<)LrLyX4~sdfj8^;M+RcAu5MNG9{k` z?mlRdxv4c)bXNn#AFpjX*2HWHPx?{2Y(V(Nk~-Uy$405$fpseS$M^eDw(Q!p!^Xv< zQ*`&n);acyqf0GzxN=LruX}1LfY&_q++^9_C93jI@`)ZA4*e2}-Y#%J1-r?NkG}w=rD4ihChZt3Qh(m@!;|#Q zij3KttP7)`nQ2juHTk&)Bsa|qG}xcq^I&xBoosHF`jgwo_j6zS1)4wg5jecnls|^Q zh5uZXvP>uKFW+{&5=j`OE-C&74`Us6_Vh%B2WFVG99iY$T$kXflDl4#I6v-|nrDa}bd3xfk_;!Y@pA&5>H@!*mQ?s?N!RuO_Yus^5svtixohFF3M7UyXXWylOX@M z_Vmnc2QFq<4hrInbBeaPma=4jpf?UuKlG`;Pt%QARH}E~RmLrmMK=Bv(y{IiYRl)h zOxtMl0#X>MOTk*|0%J~}&itz<&~^zcZ=8@$xwdO)@s+Jdy5sel`NXe28%W!JweaSE zfPuSte3QpYfox+zWydplcjt6fjksNoT=n$XO1qI)r%K{NPoI_D>ZDL~xqHXH8=K3b zZ$_yefJ2rx9_q;&X|L}otau)O_0kE)Jmrsby4{Z%G4-Fi>UyXh zidnv{{(DhTB`Udo_ht2cCC9eD-IwX5mb2u_xs|19&s}N>8Et4dla%w)jK6t?F zqri$&$z2rXDtbYH+(*$|j+`vak&~KIE(U`laOBW1NA}0m3?aS=**Bo*6&i*4)i=RG zt>zb*Tm|6g6geE!a-dr)0BL4mHBYeKvRW8}`V;5Ge&v|4f^DnT;3~uKJ$$MrOChf;*h|Ny&8nB-I19U;q>KNqR6|&j8qW*aS4{eNJL$equYE z*!piVOLgEy08YTAQf=BSwF5u>A=86!GcK17)Nm@B5=2-CtBsS-a}OocC@h@2n;XvB z&1o@gq({`zv#>VMu_PLs6BfX#2pvXRahk0=`1Od68=D*+ft&adL=H!i0_<`bn1lT` z?V3StwU7g%j85TT+dl<2lo zmGhFX_YFlYw^@-W`=mNgY(;SOg>K1(2P>$fZ5P`lwwZsZmN{OP^X3_OhdYX|eD@JN z@i|uAqd%l@Yg!ZjghhnN&U;}tkq-s(!z_O&yge&Qs>#UMW&K95KqKXekosV7({C53 ziI>Hr>qief{E`t_mH19M@uu;fCEIa73JrJAQpcEb*|Xhj{8cSmMP7b3-ZcN5^ZeM5 zisQ?ZiVtWlTaz_tp(>NnpU~EsaIIKDPnb!H)W7^9TXWC1eRP96UA2zR{l~LM!ae7X z>QIhu-Z^+W$x6dDNFmLO?Wcer-tJIfziK$b+qQz6)Fg{i%07^V?)OULV=IF4{fs6ML=KBrPBD z-@0+5(ZckTgKFvT6viG?)x7eP7pskJDP`q0ERx-@;<>JKY*}m3S_VBVI%L~yG>2qDSoG?=T&E4Rb z(%vTZ^(}f;w~B@@UXQxBlCp`4J<=4Dc_KFjr-dWkiSl{X!SU*Calt+r#qU28m+^uq zCZkJ{Q(p2^OYEY1ABkZb&i+yJ8BH9+a8%`K;=PzAKYY`Se64A~2W#4lV8 zSdp2O|70XVRm|6!pz?ZY@}fO$wV^5}uP&6WcyqU@U_g*-5JpuU*34PN-6|81My3TPgh~Ko=)}r`mDrbq&&@E9h;q2=RV${oh_KKlz9p?}0$h}Q=EC11W;e&&zxSE>=PCk~)ukw?!{oL6n#toI!S*WkgZRq73_lKG zVCX@8UefNqPELo!<;{blJ9u0#@g@AbTc*{I{%J!a{l+~&(u^?b-4#?de4t863Hw)q*8aJVtdB1b7Oo@ z8aShpq_tmN6>kVWYK$KAD#+I1rfH7R7-OQ(=KCa=nmJg1povDfctmQw*KKK)MAN;+ z2{B?>YwL8Luh`alT6*&+z{N=5uUb8gi_q-LFV-DJAF?~hb6m~-!>al3aa>J+By0?T z(TGSS>VvNrzzxmIl923w7{dP^n)N>^aCmWnIbS3;@8*5A*c$P6PTTj_hXn*$Ptu&C zuHDf0{D|62ThZHBbIDY0E$OGP^VQ%_``jYE`{Gx4|F~!n@|%sSXjz){-56rMg#5tT zO<}G{Ruu(1ZPp3Mj9!lZknHlX!RlJ1?@EGUj<69uZTSAI&V_CpjmhY^=2PF9)Z%$X zr#~9h>Msm>a9~O0oDHNi2|n?u5{gG$f0PddEO;0;>#pDXA3NRdb`1Tt%JI#k>a_f) z8R@0Q+A9ygjG&6$FwlwENw}u3QS*?`j?&%M|@Oc~v4_%UFQ!|`@Hcr#< z^vzdE)-P=6H;C=^$*`}pc3(j0?Mr=W+xjz4qgGVaMxK=O30eDiYx7q z`1R$t*mggh+w#5ip5oh(2+ZhI5j&i`4 zqp8n2|D;0=`Ems7zy>-*5)Y}pCqWV*HS%3}#bh2Jwdr3W^`AJ?e$SizhvSn6x<@=V zebYMgL|ZuoMNsp3a+GQR?IdH+SEk(5$u?;HIsQHSO$ekiRz!zVebAWR8gZOQ<(w^Hc!hMq7+t>#U7 z=d$Hds4n@(;T+Kq;i~Ta>)oQ%JTE=U9^GkjWi+&h@-ctasZaaLH9XY0YBgp#bqeKD zQj&fq>b+)}MyEf0)=X)tmMd}p&Eotw(W5&QQeKRRge5j6Dp)AEMr}7}oYzEV;kDOo zpfA%FS}*f5qx7UtkKHl0X!TG=LaWL16{f*UoU4+*5a)DdzEA&{f%SEpB ztmI>b+Uc#3u}&;IU*lnjf`(e9k$o2Z>wNchVb+qiC*M|_y*7}t#`#Dq*CD#h(_QEs z6=fB_F_%nZ{SdAiG7mPPe!tmZZWkZFr}pO9lKzU>brRZp zE#k+EGOos)6p?g;2bB(=5B(H=sW+ykAF`-d?Bes(gB?#)21nE_Ocv~Y&Sv|BwH!4a zj?W>GHdWtzxuMP|!m4H0+iOLOw=Wh9*xVHn=;oOAniGDUPog1`KTP7nJP(rB`P_)$ zcexz&J#g7ELEKcpf0Fxu_v)ReDh$Rbz|Xfx9D|;NnGLOv+2fAY;I~R{yt0-&y!l7c z+@#SQ;7?9W$dCUIjO0C4UF+mI@~HXg*0pc7 zKM*>Zw(0KT4R;ci12es)N`|e^2%0x@?|m%o$3nqRyL4A+4H7&YB?6QD(|+Cyt`)u; z)gZLn!#klya;_OQth2GuCe3w`PIzgud1G#jm)7?W85=tiSu1wAWfC}8G2mno;<;b< z{AZ_==Y0J$AJ0tZD+jd#o-^g51KwA$-#Ouaaj<$do+fPhe(cU8ecPgh?C|9CecKvG z_E#APCkf*&UsYNLCw`g10If?%9E1~Jz={2EVhtA8tUZz=P0vw|Zmci2mnGj#Y@fTR zF?gfA!3$D8E$fgMoOs~BU?2Rs;(&L#Luqd24?f1qz6-(4h58=t?bX5;_ZHi6S8o*f z7&ms~>&yiS9B5b$8k*a?X!*g=qf!`EO35Sm$->cLT~+iGUC}(%V=sT+jed#V?ak*E za#o@}E6gx4Rx9&sgKR$E<099bufk$WXs_}&pI)Bh*t_6M$QbRAk|w_#29p$K?htJw zm#c;&txsCTZ*NRc#C(AJCyN8sQg6nI@zBc^cB)@YW2Lz^llHWrm|C-gsw+b0^85_ zA5C4ja7D!$v`#SLTk^J>Cx6}&+IH2xO?e-7vx#)5#0Rm*^!{qI2WE=TJUnD0GA-WR zQ}xay^)AV6H&uxYFlQQ?CpdY^_gEiXU@1`S>!bH_jzAc8C{s9(^{BR4s7$K)Ui03& zah#_)-dOIYf#6Kmf22gy?NQK_GtyyWHZuks^prC8$y*UPK~^%teBmW zqp`2wnj2mSA8HkLla@H3*;eLl^)OQ_=e2zPy8!?ET=7Enk3Y7`Fce>pE_QXmoWc!u zj=pE!-tx#y(P?2t>6Ml>M;^8Nh;MJin;SesdyN?5HSX>Ajlitp!o}H?E4SO`3AtU9 z-|!&7Am>VY4{lc$R!32{&%=IU;JKT^{SH~tMHg*WyDC4nQ_ylU-L|6)6WR3j^tX89 Yo}Jr1dlt6n_E&s2JyN~%(z>% literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..972882dbffe4a21c98fe6b50fb9fd638a55a6527 GIT binary patch literal 15272 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..cc777aee9ebf7dc5460c122a36151a003b171a0f GIT binary patch literal 15272 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/netstandard1.5/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..c2f2e0c59190638b1a0e8a9aa2cf49bd4d836364 GIT binary patch literal 15272 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 + + + + Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll + PreserveNewest + False + + + Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll + PreserveNewest + False + + + Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll + PreserveNewest + False + + + Microsoft.TestPlatform.AdapterUtilities.dll + PreserveNewest + False + + + + + + + + diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/MSTest.TestAdapter.targets b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/MSTest.TestAdapter.targets new file mode 100644 index 0000000..ce13b4b --- /dev/null +++ b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/MSTest.TestAdapter.targets @@ -0,0 +1,42 @@ + + + + true + + + + + + + + + + + + + + + + + + %(CurrentUICultureHierarchy.Identity) + + + + + + + + + $(CurrentUICultureHierarchy)\%(FileName).resources.dll + PreserveNewest + %(FullPath) + False + + + + + \ No newline at end of file diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/Microsoft.TestPlatform.AdapterUtilities.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/Microsoft.TestPlatform.AdapterUtilities.dll new file mode 100644 index 0000000000000000000000000000000000000000..a39ee735c549c78c964f6d49e48d1c189590099f GIT binary patch literal 30096 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll new file mode 100644 index 0000000000000000000000000000000000000000..3d72732a2e5ac0a6ddf9b3f22a1dda4fecb3e00c GIT binary patch literal 32656 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 J$HB(&{{V=RnJ)kU literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..b7aa1258ba0ee101ec498ee655599d429db2c5ec GIT binary patch literal 14216 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..36b2b9baeffe742d898c0bfff585d1875783dd52 GIT binary patch literal 15248 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..b1bb2bff666369a3aca8d7008e492add0acfca46 GIT binary patch literal 15248 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 V@upsmZvL{?-B0z@oRtn7_#aUoHXZ-~ literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..07f960f120a861e75c2bf1464d5e35c81d2e2c39 GIT binary patch literal 14216 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..c6087bc3d4d7a4c07d0831ad90f093c3257248fc GIT binary patch literal 14216 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 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..56ecf082ba0731e5f4192fedef45adc26d025f0a GIT binary patch literal 14216 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 f?z|n^md{g2G`zWTdd2yI=q9N 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 Z!h>%UAD8WD+aT5QHg1px-&*q0{{W#pV)p<5 literal 0 HcmV?d00001 diff --git a/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll b/20250213/ConsoleApp1/packages/MSTest.TestAdapter.2.2.10/build/uap10.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll new file mode 100644 index 0000000000000000000000000000000000000000..2068aab077529113a02679a0d49489df1dbc92cd GIT binary patch literal 14216 zcmeG?2|SeB+wVIw_7Jj!82gs-&e#>%OV%u@5MyRAnT1)17DFYiq(a(AXeF&uq)2C@TkePT2nZ;uB@R2k;htI;( zS$J3906ddTr4gj1C3S~U`?*1o7mS54;n@0-*`7e!cqtfxpb4Nwbf|T$F?i#_;|LxI znkXz|hUi8cQ2K>Q0CLbi?HB~s<+ut3MgPa%!&S5iBpZO&7cDqKP#(&Nku(W{GIT&C zVu%cN0H;3E_gCI{2ofI$Cl2bf#?=Wt+F~B4XGww#^aJI?EwwF?jc) z{KP(*o;zQu+gv^?@a&=X-9JzT3HS6CFfAj~I2L|7Jj48TO8Qb-B3y9#r%FgFD` zKr%cMU84kK2*Z#Z$VH*aAeV%UKt2&73Ugaw?j+0!kQ7u45g-NV3dq%1$mJiz8iK92@Dak(^RBqJ%1&ilP)cRGVMm&W1J z*{q+(c(9__9446uI?0Tmpj_C@I66bv>rZ2l7Yj?=pRu^G#(KT!6b_rqj^YslXGDM*8*c^z*8R>GRlcQN|E{{&(jx-GuLKs>LjT1oQB+vmy=&#b?KT5+`iN_fu z?Jpx5UCi(_Kl4VdVkYvaixzuf8sN zo4NW6Hi5CiYg@L)(P=O9AKZO-{!xCjm4X%~ONul7SHael`lpE#GaJMbeT`m`WU^n2 zynXgctG2l3)q85F*M!aI4{kFIi=29ZHg(G97JFV8+w}SSvQb&)z`|q&{Xiu z+RYZ;3z|2J!^0v|1EnSqqZG^`$N8{XZi^|jICS>{V>s+YE)3vM>cJua93FzCU`Ui` z3FHh=8N#wPfryr;!jQpV+%td-f>r@O+`QUTgI=gj;9-nhrJwfGpGKzAI8*UVE``lu z&?Befhi`&CD(=AFRJ;qH!Q*pi_ADBo$00MO;{EuM3_8V=mK4a2rLpWIt*yzH6iX|j zt+@pav9ZC>uC%`5 z;%+>Zo=oS`@zJ!pQdImWYvB#Kv}h)c#k0dNL6%L$$FaGfL|kSBn|afCF>ETHOHQh< z;MP|R7sw2JB%On&(&~59ICwULNoLenfJr#8p#d0Yfalen< z!bkEMd={VzrDsmS(44?xwXt8)6z{w)V;^`N6lQ}dV9hjN1 z3>u4`#O6@>zoFX*Rt9qoPd$Dr0_-r3Ee2GYa7GT8Pl$|3O9CyiWDYqN=okiAPy(5Q zH;e^DF@+2O>;hKXR(C~Eqyd(FD$q*GoIckTEPZ7g*BifdXmhoum=QLtp z4)uh)usN;_hBukcf`qb@Mic63wD-Fn!13E@en$BJEq@~iVBrR+{AB8*`WS+MN)`M# zIodkpJIr$gQXSamBgqbH0g7{h1_%ea8{`j49>CM`0d)_MyAOF?P&KXx2vro%kkyOY z(`cF@%!hn|A!R?@0A8-(frS#11Mtv=3JO(NsK7&$E^5#~fkGk70+Mw|9MVBAOV|%V zM{xN7DGX@h3DpX!41UIxAcR4{x`+NOph%PlK;RpKu_N%VLg`Hr;)w(J#^&(`Wwaet zIBY;24_NwvLTKJkLYe@S1Qm#F6ax*62@+yLwJ3@a)ek^%0B>e&-nl|JRF#daiwIc) z7)1D>3tbOc0eF-%LpV|8%>cX~QQZGt`Urq(lulIpa)jER3n-z28Bw3l5SVN**?_;K8#+NVD&7JF2Epnn!qz)=+f^0R!RR$=g4toh0PDAD{^} zQuso}{#))7A#1Q&;wbO!fT0G1J>`Nw8lX86tRe}l@aJ)3dxq}a|9Zj?#SGTl{jbmb z{}cWPa6lO2!eAgIO@}WkVVpiI{i8H2hABwXi2_ZL7#JqXBGRG~5$UsF8Wx9vMIa

    iZ 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 EiNj607Y1F*^2pu9!J zo#Kj{AeN8oPqOFH#dsTflDbPlmSo;T=57$|FVxQs1trd&&v6udqmG3pZXd^!TiX6! z1J`?-gtJ@KT+_ATZ?77z?ybk*|`JPamKn` zsd4CJoKyV7*wA0M>--)^g{F2+#N7?Eq9@O<(au>yLe@D$A}s@hgzQkIrxI(ypMt65 z_S1+s-~KgGzi9YE{ml5qOO-oLfd~z!!IPii>-*^o=D$_ZJfJE{LK+)70aQi*D}iM4 z|63J#Lh&T)ZGQX2HQZ1VvS>8Md5zXyN>5~xl1dwy8e%YKVhV*5-cKbeHET*`u~ABm zD_J04Y>&ps_NB4Cy%93_r&r z4fo7pvwOPG=>jDS4gkArOQRm{90Kt$(-1BUnf!hyABai=|Jhv&>{r(*VGFlM36#9M zPiO2PG-o=30z0n@7SPvSx%ek5GUiIS1qQoy!Oyb?+D#5ULv$7ZDW)DBR);)A{RYdC z0VT+rPcB5HpwCtsbt-4XiC+nio|Cqgxz1Cs?r&P7VPc`ndU_Qh^(_WjUU5fDnI(y9 z5HvZy%Y6RFKQcr!k1K)k(0L_9U^um42)%XdSSBpTOQyGosd%mntXU<}!U**6P)Rix z<_TmMfQ2+QhvOF!zYuJ)Bmy1re}Mr4x`+{ex;tc*iPon&uSt%UK;z7)g) znOvdhq0PbM;loQOqk&wJ!oYO|W%D;C+&L}3UQn_B8&u|f3Xd%fmhU_cj^>Z$(ZCZN zMq2Q}pxK9?2*&!{ojx4(BmgUGFK|KuYca?`0%zD zK(XwmNJbPY(-PLHvxQ*=yhIz?1MVfpbFpxKA`3y6D%)@f%nSg49OEHVW#YiIh8>pK zn@U^@=W}GLC|M&WUmIt`YU4&C37mO}!fzpyvFPyP1&^9s6)wuqG^6jykyuR3slt$8 zN3yI@FfmSl-2oP^7!>aHb1CAcbn9a&_?@iDV|RZ-1;$%8R3(zI$@~3(vm%`TW<>=s z=TclL(UHLW6F6iSUOl`qsDt{AoGeTqN+*_Y;s9 z<*5Sw2Si^~@j5RQH-Aj#>au}8))#nb)VmD7{9Tx3_qweJBZ>3<>Bn}gC`YbEzahc?AY(Y~c?<%go-qSIGe9K`Wb zS}&fv^qm{h=9WUMEHi=n3*s*|i{kA-l>Q~Jdp5?~^gnMkXih)B(@n)whD4X_*qooN zHfccPvZPH^ub{Ms4>TIJRmEY^ayKAuUcow$8Jgl_J?1iQp7+ezyQJyiawFO z1!bv&5ytv1EcLjo48XJ1_RtB#E7iVTAa9+Wn>v#uRV=5`(FV<$HeRq8=xo1J)(^pT5xf|Qyg%{TF=0`n1L;00u0&7NQfB|8wF+r5dLIjRsM9T zZ?Jjo8H}0~H2d79@LF3d`UVBPCMT7cn}j-#*y$RnKEEhIwp%E(C1DMyYD@U@QdLue z8DOQ*gbhsAg6rKT=u0OtBmkX{$Hg&wO}A%r`lF#AAH`b^5rim68x$34n)T;_|J+Xu zLGV{0fn4B@0Bz9m0>PKD*oFKE_=O({=mhFuq5&8t5V3svEZEKrd6#>Whj`HUsPogn z+Z+lsAMyW4QXIO9meiuydzsNckt8`cn@M!>Ty0*Ju0 z;K4FGTkt?iDUwQd1VSWs0Q<;SDCUwR1EIWFh>=H$DGmWF8WFm54tQ4`4kkKOZZlv^ z0K6QJf1)29anaq_x<7b$abYc8n#>skvMBU3&4Np|S{78k$Ec_)C>x@jG~ixp2N7vr z5zrMmk}^sVszhQ_21bIA7gS(ujgI&CFI3==;gNAL7D_r}fw3e=CaBEs#7R6I=K&Qk;nRAUBD5VqNN4uKsV<_fF ziV`R3>#W|f{p=S48`D4dVMPXl0|T8o60n1#NwOg$p%9>BV{gor1Sf+FA9Jd*RY^e> z7O5p`cv#Mu&>yNy$$<cF zo}kj431`|L8*Rxoek^N63MYUwzF&GSk76DmR?7N|VHCo_DIa7;G;y3|CphqogaOu$ zgN?4U0)rw|4L@WyB@%k<@5x_S1&_OOE(J1cD!Sz0q5`Xs=g(SJwy@wRQ1F;x5F;K? zmtKu~le^|}t6=$cX@vG_2Mz`imuPGctrf#_6FQWQ>!#J0We1C>*u=Pw4K>k2y$PS# zj3bBM8l$8YTtaH6HWGtm=x@sdl}oA`|)3keSfwb zjhnIp1KT&xj|R1-><4v`U&20i9xB*lBzmh92W5Le1rWn={m-6(O{Z`%>IvdIfx0HWTm)OzR*Q_hNya#(9+ava_)ceD%FK|A z=ZdrjnOkD}h`7 z@!**5%pk#vxPFM~p)C28wVi0#GsVgOK{#x`7l;}G!6n<90AlyC!(%-`7mk4t5CmdP zIPBjaIutn}1dUmR@P}}pkcsUw#?dDmBNh+?ltn(~*M>6~YwiI?(S_A5o@NX_(5&F?yU}u06yd$reu|0NSameJC z$9!m)kTbs61!2bmolo$<@GgFZLVz+K#8BYnWUmo4&~AMjHt5W-hYDl*YSlNv`myuU z$GSJVb5=I<{So%ncl+``3v0Ebu0RG?%^?(T$Iju_Q&(5ke#DNz+Ln3I8skM^(`%<9jQ44IP`~Uo>kzc@zV28y3|3K}TbrxiARQ7HHaDRM9{ zP$W|M>iJFUwSrLW<9m%ZT4-%P8QuKg6(?sEuLtAqrp=2U`V)kWsypo8i8aEe0J@Z=2FLKrVOv+E zK(Jr|zyf`I9D6^-(nj!=V1K0O6Q?&rC7IY%*{ym{F&eC)nC&l30zQ2d*G30H0dV7ngq+lBcOL539r+E4SxTHQ~6lcAa)(Jq?P>Mf^`= zk}ODD?qBc2l{AE%FP)Ge&amt)vE4kERv(f!f<@z$^PKMoY3n-GJNaTPYsE%)zwbr{&d&WjRZ%31 z7T$wM`Hr{u(Kik=>3RvQP#t^q-#u$zIJ41C8MBDDy#w>^xi*Z9OQ-Lbrn%lrf23ZF zE)SO>$dbP9;v}-=F0Bul4ok=^JTLN+h0fv66NDdcqi(sJ_pF+QJw)EV3!$Aec#mMeY(5(tizFqxnA za?4g(!^vH;gYf#Qk>KI7$cX|MAGNmjXOMlPXqE_alhA;$ZLG>I*BrtT|Ch0`1ya|C1qZ9iZqeL zKG|n_q$ul;?d9v(N}Xh)Sp7D2(M&Z1hc#|5qw1z!(R+43VmeKcJsNB4t9dYy4~msaEQy3A{Qr&~A0EqY>3yI;Za#bth= zW1uzTUz}B#<3ue*2p?w1XA+zvg|62~|S^tJTR3YWtn>KwC z{sjXraOzSTVBJ;4y=^0ib%H{3c}bc{GPs27`p>_R_!7SUoT<5-q4f*b)6TwaJ0~Am zP&Jj9q2aq2(?BFbTT$9k*^Akuijeusbri!x?Gk87$f9_{ME14=6<}d5z!8CnK?Fnz z5Uv5r{j(@{0$Zj2IamB3U6REgaK1-jt1;blRH;)nySY~%EBdA zW0!f-#49SDW0^1`*aw@FQsbs>c7(%{{fp4W^+wRQ0XL|CxZssmbVGGxUpi;JDZ~P{ zFR&&~d1v(mmh+tFm8q^|<&;(U^EAl_D~NVm7XIg|Vl0}!t@o^$z){A+C-c{XFO1q?>zV&a<=q-qj6Hd+EaAULrxRc+{vWZMR zef;Vgi;0#*2OUaHz5VwBcC#8HC$YexFTl@W1QgDX#KEYjw^o&w8$8Q%?SepV1m zx|ix*))ajzYaRtlt;OrK@hc(sxFxFaRVguattrWfTg8xdN#3BJ7V=gHG@hyN_r3?LGs z$;xLwSIJkZ6G~p==bYumV@!n<{IwrfC?(uJ@|@46Q=HhC#TG5l^9m*GqNjh!@KFtZ zkiUk5hBmKO@^<~U)IV!{6yVm7CUh+wal9LhGU?4o`;|+%DKDLc`&Fx|)$6J*7s~V- zhcur(lhnQKs>w((ruYwS1WelQN>%tyW{G0!Ye0fuv2fRT(ALp1JMD$$PWIeY2DH>XVqaB}i->5^Bv>YSVN4q(vdBIcy*wSVvQb*g@h z=FvA*=y5OSRi|0qX1MH7P|JfFm2^}ww54+^qwUXTvlRda*3$cPA_UtTi}+v3jP-&l z(J|6*)OJD9b;$_ceHcsht&z}mA)T!d08EiBo>@+(OfbS%jMLy;X+FB=g6JFvchCD; z;&t=96~ay!SukVU`vyA;t!_>r5`hog8rGMbTxhsI1fVU7MvQ@lMd~hSXuuDY9qhk} zO5}bf+Z9aQ{313JLs-D{QmK?}C^i<+|oGHK&sqkXNxoDaIUwy^CO#SuCGO;w{BQ>^ksOJCX&+J2dj zz3cUm%wp*;P9#69&5_w&uCSDcTd|GE8dK|x!f4Nv& zsv2E~)!K+Ov}@TfA3lS_qOkG75G?EToJ6MGjf-!C(;xX{zkQj>8vh6`j_;vWT&)Gz zL}{YEonCR^lx$*qvDW!cX_>x8kO1x0pwEqriP71ujw_F=(9oa{otJ2r71HaEXU z*0q}s+x4Wnc{Cgvy;X{aj`VE8GpNL(;6tsbs<_SeRO5I3^6gnil93*!P-PZxZSpBs zW$ABH(lzT!f^~F!4tp=4joNQl^FtN!ab~MHhURb2t8sU6E*Q%=j&HZ>+00p+9o^`_ zPL>)f8Ifc6lcJj5lEYHXof#c$#^ijT(~&tON^mJM{JA}fO?s`f7Qwlx;;Ar`CF#F!24z5x75eBF;`2O!C3ZBR?vs0USx3zOOk_RcR(A-(-ZetOhHLDg1o4&XA+gRVZ zN9ynvEsGXvp0gmF$L#6tz(Hw@o&QlIn_rY$Emj!hH=w@3|}& zt$Or2Eo-wvMEi-$6v|ntv@fOh-1eL%UKfkR=rJ9of%V(H!&uRh{6ZrV#^qkqkCn)k zOq~*BAj8l)@t2$!!ir3TCrHmII4~@N9;p;b_+NWlIQrZ~IS(`}GItIVGr*K>Ov*=c5Oe=CI z88X!$Q1KIxIN%g{&<3IPPkb-etu6R8snla|O+M}gwUCbS9F6X#1OF+t ztEJ}0jcNCzo&Q7HJ$7dTwdY3v2EM7E4FRhw)&}e?bWMyf7xSn z|BQK$a~@ag%lcXiSPB{3I<>Oqb*%&OmQp-?8U|)a$5$gYJ7|U+eN-LV&K`B(c()Y_ zMjjT%TfeKJ3%m6`N43dEjPrjtMG~YaQ9$C@goYxZ|J@YrZ+X*xQm8u$8%kDhDMwT# zwf1*CJ}$}#^fm`LwUkP#Mtbq}S)NAVKP_h0Ww!P0WORGpkMXs*Ro$ISY8|k7tg#zq z6_l@((WGTmggq)afc`}3<5s+=crxY+hLs^`NBSh1-1iCiEK>f8fF>6qE{?41?Eo}I zU3-(_sjc@Rf9uVL6UPvInX8%7B~PhSRjX=;cEsoI2BfG4wX+M7Kzq-g`$=sfIteD9 z+E>3EHc^(BH(As@2@a1k>F2dO@6}1AKf>#Dj97Q$<4i6K5>73o5$TRev+t(b`1-CD zk&roUI}9&(whHVu$U|!Wirb&K8fg)2mB|WyY&yUD%WCn>r!;-tF7@B!H#k=yOljfQ z@AcjkYZ;S8)U;+?fMr}p%P&tuV!6nUn|*79ONxKYwXNrs#25L}5mA=CZRH8?rwq{& zIAcN<|H5YY82*OeirMN%A6jthVsm*!l9azEz=pjs|B%*gVzKTxny$Ol>nV zw6GGoRhU-9;CgCW3Lbrp13bQC<9j;NXH$7WIhHm*TiK#W=7q1~(+pCgsBn@oE+x}` zAO+ev+~09dxp|>X62fD_VvZKkwz~SNoG<@qL8A-weR$TwrN7Mfcw|8QVt)fSCtEtN zl+8X~p4`yl^Bv*=PcX^Da!_F~Mo1z^oCoc2a2c;R!-%OaE3bz;?{ z+*JAKWVJI-FYV7|FX`HLOmy(^#A9>)TM)M-U1s~XqWZt0qND#iDx!kk39`Dsb_bxI zbkP)OpT4@d%hohHY4V3rVXS1@3ed9~yR_IR)hS~H;cufDquZ;*-?TCuGj%nw z%gP)sHY5=p=~QomFD8vK;0?WGLAFT}{@wp@#sX~&S?sG>dI)4VZ>(nItV9>>&2m5_ zZZ#kvR_Y=cb`vRk%|4~Y9cyl7M_m*8Y;_&Y<7-i}cr$A(1u#Wf2{oCl(wsel`+1Kl z^ZmX)b7N-ZY3>`IS=NIXb(=T`OmEwv!DMXY&%aB2&vTv^2#^>ZlIAH*Q)X z!=)p0Hs`OCTgV+FnL+J`Hn0!a#fGX`1zrjjh5!!)y}Ig;cUC7=)&`1_C6l|5nARx(Qy>dBFjaNJA2#r(2Z zqIAOz<;y$sVYWEa;C>5HB2L6XS-#1QrLBs)kEr0PAdf9Y1XFjlbDQzr0b+jv!O2Ba z%c(TcwH6yM&$5XRM8~|HrmQ$4y5&mMjZg)jvS4KpeFcgnFSukCRIzF=)rr9k2zoug z_Oe!brH}6CQ|)|ekRwXUo*I(g5c!=9;9fB`naafi9B zfqzXA?*D3v${vxt=ZhLplQ2OmY%;UIXV5@7gDF1hsX{CUYLtFY*Hxi{C zci;`>*WRPqu$Y`xmG$>BoXvT@b&BS0!~(=L?ccN>T`KkgI@wQ>Ihq$Wp7>zF1IFH= zTw49tSGuHtk?-r5vpw;=#XEKes`WN7S{2+~gCO^-yEMI|+%7b1CQ=3C(f_g3U@GQndS8{B@wXFYmnlNMoe*|IAX5@`=U2 z#~lodJN!Z~skQ#>|IseEg~7xKds%1clKAc%mh9O=eVi zE0sXkuco)}vJlpb;NE<$q`f>YlZj?aNr~J-HPd;WQfE{9otKy!8Kn%W)YjIk>oTV7 zxzyk6hc?y^w<0$1k%HfBLrjibpCbl*&9v%D27%YnJ)LqS3T38z7M<@{mQ5Rf`=pm` zw^-8cIX<=?^wCj!g&Y=56cwqZ*ZRh^xl6r8LpB^8GFP|x?r1CuwMnZ)XgiM|!HPso zXw@pUHRCgJN>+@2wF`gmv4FU)vhf~?MyYg-v-ibGPh5>vi2sT~D>1xA!z+t3&(<`c zO^>U(-=I7%R4TGpwP~HWJg>+~4STk_3NACw`E|X+WR-E~^T0TIH{VbB%WP@H1x>XJ z2Qk^2ZAXiIL9Yq;((=t>=E-d?Ky9`;#@Ns zMW9Gn#*0!rqlFSQL?s-jPS%o z>Z8oAo5d!o@0ZJ=Br0k#G*ap;89s+8UDWS5Rz8o0t|Rm-%>u8cp5t3}j~qv}-AAI} z#-ChJ!@@soNK_H97_>sJnmc75SBkYLy~?;Y9jbfG5v7ZmK(>Abg?b}A`CFb=n?Sw! z{!dY~4k(Hma#ib({!c}bxzqngr|4f%biV$5KN0DztEestHRxt?k>oA8gk(%$NFRwc z30FU~ATP7Jo@ACls-OT9_N4ebt_U72ob|Ho>zOG~@pH@3CujQI6HpWJeQQp4={!4Y zKf8Eezo%#hU=Cn#=u{&vc}*`@1&fM`(P!va zKQQACn$V-?ctN7hMjP*$$8^(Vll5X|N|ZqQ@k1qNXV(T&V2U1nZ#sj~}z2+hUayr~qQaf_0_WYcb+zhm{_FcYu$WnTB>ZoRd zY~x{m;ooTpN}4EYN}LIdQxJ=3!;)_loaY3KR%vY6v`5an0ULfZO#Hz!!X2d$GsubC zW-+pty5N@6WJ`cCwP$eMOkiN56OuP!#l~R7{DQ|^^1Ac(Xn>Ei2EK|Y24jMFK>SqU|qt4hz5YDwgsuUb$ zz@@gtf+Q=EU){m1O{=4U83~#@O>h)|FHoc^rAG4W)35)#ygoOw3rC(IR8Z@i%G&qB zUrHlO{WBV3C3xToZvGji_Zj{FVv67^ z6U|l)SXFOb%>hgi@0*pMUxcluA0f9sW0JgeC;c5SjYH(m1pSt9!6*UM>7V|Ck*58B zY&I0`Ksohlg!Mvm%%Cpd7~|N;k!Cv);LN`!MRw}WLGSH8$08se_z(SJc-y>vvL?Hbu861Qwn4(ri^|-<&xVi)WMN3eI-(w+q8ckkmS>Hcz31q=xrqkIiSP&N z_;o04b7V>WhbijIEBX&pWX#WL8vc(d>i_X+8tq2!7*RZu>?c9p7%nEUdkYPYLfivz zig0TF+bOaF2JJ%yCE%CZkE;Xz!Dt&jWb7e3rH@X1f2_|bQ!UMG>oHu^;g`u(N*3UN zDJ#spfPmR^HkGc#$&x;{Lw`$a1i_JseI^lIyqAIKpMeFA$;Fw}A6S(&>c;A9Op^o< zdqd`Klvsmsg$9{Y;S%YirAmV0q1|LH*kfivyino=dpej_8-;71%W|cp{F-o2-R!<$ zjrWAgoV=Lz#>a=`f!SD-z*`4J71fzxek{3WS}lWRGIx*bJC5*6B1B+?6vOod2}KB) zhf<~AF#hDsibO16DCPdTfY!cILdV+RF0*Hz!66tY+}}5=v?IqvqpbJ4G@5fK$rqk6 zSgorh5CfjJ&rH0lVfMqb8lho?OohkJM&}`l2u3va*O^z!|MtjlGDx)okxgc`y5=w0 zU1c~B#^$9>hIY%{Takir^a?jWF~-tL`;LzRE~f#`O1_4fp9vD?%JTrF)uWny4b21Y z8s*+0=SMnhSnS_aXChf}y`JaLQ#x=YGdQ#W?N)l4`=N`C9%WHQi^=V%B`+b{BPU=x z?DY)d*KZpVfEB>g9h)c?h((H%gtVhr6=0JrjKv zEmh>z-^YY;f#$6Ity!1ISaJM(l>8x6McOX+MkEK8e#^C;;~6qGJvIDX@$wEiWb5&F_Z3**O3!K^>o_G;+ zqPRWU%%b>(Dktam@^QRMAqa4a>>aK!{zPEI9n|*{z|0c;Q3S!u9kVL1Bc#&>d4Z-uS^aR9EK8#*)3-`WRMy@ zsISKhb$g7FJ&m}pSIq!1gw{bkH4o74AbZZ;p}kKDmm&=sc?5BkPn_py9rmDBom1fWGyJXrWOyAWCIBsf#P+b7;d{`(FEvN} zFQzDuh6Y4Qf(-C&<735`-3M!eQ8pirI0zlgIM93K0?O`vpB_v2w=ixMYAo_iZm=j5 zR-W*GYNF)03@`G%UTNas(Y@DSp&BDvjd(u`7`u29!=DR-n1EC}0Zh?^YM239E)X9Q+;VLl7TGYVGaM)M7-^Bju)4v zTC#`#n4&{SGO%q-RNPMQ(oK(RbJ{7>L*uA%Sk4DlPCEJ4MpL8D*&pdl(VcLNjWl%Z zGcDBuu9ebGt-i+neulJeUo`d=LdvXHL>!LskvhDXO{`M-?Pn|>I+m(K#e5k>ZmMPb zj@rEqL#x&hmma^+`Yi{zw6D7^5ogw0NMG+H*Q*FXbS}BqQ#WZMe~;Yy&N=36(Y6TI zam6+A0&WRa^q`!Yb=}7bLbcYFZ;rj7IvDS4N;;Z&`qK`ft!wtbWIb!X&Uw9;We&`p zn7Xz}p^Hn$++0T5GGOaz3KjczUyr9UIrnZj+PL?xe#+Dv2Nx`MF3>K6Zt?<@BKh4e zEq1gCapHWCBZc3fC4WX_uS`q@Qgx9IUSGg!)r6tRkcLP1jo|OSiz->2M3on_?FPA3 zWtwy1?0(pbWfa*(hxYSw4Fs1)ndL{25C`OF;I?3%z0B3#Uezg~w-$K*2|<#_j}!U* zYBV7J1|>*3$wtq}%FKelEDpa&Deb~Q@=(XM{p%_ZYiP*PA|FvFY|u)yQw{_z^FK%t z7wWq4im)9!1MI`Y9$@lpHlZ5v=I?w&SU!W{iU%sXHsT4W3&Tpk-g|xr8&s4NvZ3}s zAkZ4}-7`Z!y$#l07|o}SC_R>oFBK46#3u$ZdnjdjD;%6}zkbi;*>nij_+U?LXTdF1 zmYk{N-6j5bl`@g(ob%4j4&nAC0j>%XlSb1x8pN{ai9@C)NafYjrGuH}L`P{B-x=Re zD6V?@3`LW$Son*ZmDA9bfE3$B{7jbn)%uXW&d%W`k_9H~kT2)W%3FbPk z6BpvWRexEg@YX?zFv$q`yL(j2yR$+cKJ_SWb-(Tvl~4J?^O3V7b{_wGk5~5&Hfs8? z#4c%g0{kVHX4*6?8y{jHbA$~_4b`&EbGq(VlRuG;JUXJUU+v2*o*Bo&+0|T6j~_{0 zI4D-KOFumSAw_K@zZ{{_?5(|gWLi>uPp-EgtDLIEm;Hk0iBd3aw@fx8V-(XZo8N83 z55%96Rz~(!&b?y@8YNIw+w@SpEPX^;UJyRf#Mrhx$P)_qFvnR!%VoJ-sjdECSD2wB zb?vFtsra-=oOfP~54^&o!K|K=`)Nk|{`IlEs7mpDzKY8fimuk(&UC52Qngz#>r|-v zHk#gLYSNuE+0t&IQutn=xkYfdpRn|+Y%22wi${Qc7dWCFkNLTLkkrMomUT*@sFXij zC^I*mW6NswT`8rq-zA0@_Q4`!YcyRC{+vJMO3JG1COW$@iPitW)4F8p8vpHAR=zN3 z@plHp{wl|0YsshXeok6)}k6cTyFar5mB%zMG1tnN1fLlr3)7F*St;w8QmIU&e<2D)fLEQeC3 zG7W|QXudrPxd70>P$)Ds1G9)5q29pH{1G7jog4@%+9Ol;o?N>>z;-}WTCd}>G`~dz zMJV=>RObeBuO7n=%R8z}rz5cMocWyMw~f%J>TH}FO7D2~OJV1-i0P!KtdDEjjn)vx zQL1c>!^r}xB{xwkWol>~HaJj`SDtcb8Z^{O+UhH;zT$-Q#<(<9w4k#G*-+8h#P3pn zRd~wmiK89FfBlml6?e^7Jou{(C zx3uPbf+(kGCIoJiq;VrcVsT&z&nu6SvRu>F8W%6uC(eFTqfV4Co8{rjff{xP%j1_x z#wziF*VmH|4$sulb0lKL&A77>h(Fskz3aU0x^|P#&?oUSn`Zgc3dVd(6VHWOxBLMY zZZr@(t{~}a5V@Qj!jPXLlyrZ$uK(=BC_+7EW@$aWoA$83YYe*?%U_4CbEh ziPU00ppVqrVd)37G8F5*s=H(*=}>ITjj;ho@&7`KT&P^e>@xWQND*HF04Xw1o0w4> zV@L6Ggq8WlUYQ_{8h8R3C(d09n+fq>ND({$Df(HPA=v)y4?v2xqy9~v*^11u5uLgx zBnbBaSTLlB>pl9~P5@G5Ntw_GK~f-+pbnjg$x7t^BT7w%v4;?1jI?vEQOpI&4S*CO zYQwmBLEPdG8*P!ibWErIQGG)LOrA{vCeQLz`)K;AWMp141>=4xbR~XVE@>*Pp$I!> zlnQ|1-6Kv`X3Sdt1t3K*y6P(@a?P%ZOG4(EhONGqK+e`SV-TLt###BVqt*?XsA3rE zwl`)~ZzzklwEQ!)UIwh5-Yo;J`~a1aX*M~d3*upTd9v7I`KT$}FZYp!kDx&as3AK90fj9c<7 z*h^Y(YPNAiX8QpU)mHQ7q!dm(-F2SZb!Y9x6nA0!j%k%}-L*CsNm_i$HXVM-2(I+#IHKK+%hBYylDyB z3qaCVMnp97PH!Y=W{k=xMBya!nukbTWzp<=xVT$Jl?aX{r8h?_?Lc{46Rc5d zkn$b(F0W@RVUkskbPr0Rl_ky?WY~m-2CK}cIo=9n4Rfepi)mlLVfI>>oUXiIdwQ+1 zcDjNfD54tOYqt?jQECr;`E!&wXV}rkFRN0I;Akli^_V68``#ZB5_K&Hcqv=$b0ydd z!#+z{Hu>HxeYe30OAKGByNS7uy|CM_jUETQ-syx}yAG?y`uVz7)qH<%6<1*|yMjHc zTillybz{wboO(3&uR1p`B#T^SkgOePp77CId5Bg|RqyzIGIVYoG`ywVl#_fw)cfLg zHBuBmXz1N(CDbIF%cy#5jGeiD(r&L?lTaO3WABmh!^AymJeVw|p(v~SS+_Lia8plm zUGZw(O5EPQYvWt2{JO}>QC)H>w>A8Wuys+)}qSZFTtAZqSz?q2kh!bFT3izCI( zl#*}*t3DwC02K*e!Qqw$d>v%O`Ucq@iqX?Qnf_~urs(dx8OZdt7%*Ib94$eyX?kq3 z^}1Yw=+VD|91SST#8a~T(C#I>CpzPJp2W?arEuQo?h8^rCOiY3R3G$TMs)>c&~lVx z$%%ISWQnnfNQJyXQGjQkMeNK0Op(3E@!tm*(ymKB2P3Dr*L_=w$1)c&^duRRKp9_6 z&iQmUl}6 z7AF^0jIRSm?utJTfNY)>zWqMn{5<68&fY%u(otI=I*a}~W7-@SHLgd8p}e?lCQx*f zCOgJB=$P8Lf4jji8vYtj9EqtAvhqAe)an+mpkDX74X^$^?XCQ?cz>`-zvB?3KnCrN z+jrIO*-=ocr>L(o;y#)yN=-Le*Hx(^`3*H2-|m}Ydy%Zou@O| z(x!8WrB0>|;W89w(~9bQmujG^c1qNi*X4px!gzc3nLf`MzCWiR_!UaB^O0Y9Irzhr1>Ygv7{e-U z$X0hy&~th=sac^%)@t_#}*>xUul+#IH3I^=zoJ)8l?4T!ubp1TBLlb97vg-?RnD>jN|7Y~ebn`J^~CsW+fssy zmLmO8(()QE@KN%oNiquQUR?tuFOD6otGA-(;>S}_=xOFNmm_H7(ktOK`*?S>jyw9C z)D;3&p7x2?UA}m3e+9P*=#>INU3W#>U+%~Jl?a?8U=~?>W62hKV%Mwa%(_j6t-Q zjzDDia#V-h6gQd38^bRJDBR#{Wc%*Vt>XLKv%l<`u{L~THhOQjhP ze%gCs>9=^m``^PVt}e^=Z#@j14O9#zr`q?-!O3#VSE0R*0vliCXeMS>TZH8DuFPo^ zFA=^z)0+bbmJTPk-$c^Y+K*NB1`6B9E>SF;%h5jf2lE^r$!bhAU7Bu^oW9bx)`AXB z;Wi>8k;fWw?tZ7#`E(+#)%TUdPg`UyPZm65Nr?)T7)8u4HgVK5;hR5EntRVr^W)DR zKWxg&ep)B{Shii*I>7AgNd%6!7{Fiqu<4<6swC zO*OWkzq^Si>6{A+_h@5kC?JHGuS6v_pa4kG`n~AzjV%Bvy2=_|Th2*Qv@UOOI+lZz zz6g)Akz&1#&r|XKzI8sE1O!EeOKyi7p93vcnoa|Kcu$Wc@6n_dI0S#+tfDsm@a)5s zeOf{6T^G+|D0p8g=`OvAX(IGX%CJ?^Wb9(#dwmP}WY@>9Vtl~6gfAkzuUP&PfOsxs z;`)0rTv8bAjJC?d-aB{x8(N~`oFmbK+3MiKhIc>rVXjw{_hKvK0+e(ThZTCj6L+?K6AgaLktN~4mrp5<22 zNn6WRBAzYMVMkilyu@7}BX^58c?HaTE?8LNS@q&(y)(zG4nT@*bjpU8XOi*YH#$Y0 zg4ftcyH9tsWdnM3^E1C&F-$*>k!G*?5UYLzBN|osPKOyraN2X1G60r2`i;nLGTFNW z)4tJtHQu?dD>wo?KZJ;F(yhlHI~=`31Y!4h5LRtMVfU0S)Gp{>E2g?nWre)8Lum~P zCFhQbny#4(MSanA7~#t%zom88a@-w#z}q{Liy|j0P8Q{%L&DB{xKKm{eOLb> zMR^s`cNkVIBxlR1TO2KOBl%p3*&EoF*xnlcFDF`4rf-w+(lCzMh(SSgH%@IWRab#` zm15JlW5*JRY#9zNv4(U(`B9= zVhxkDk)qtWf7g$_Pd<-+XpA#!E}s92z%k8^O-_cPpZ79r8$7sqk6BBbG&NCj|1|No zl4>;TpP2AVA&xseo-@^$ehB^CJjqmGN|T-mlQ2*_fvSqf8>^tb_uOesA@ML_r>mO0 z7)80S4YDa=;*B$Lwsudrr$zK}{RBB4=Q2fCtmj7Ou$4<%IsH<0d*vAy!RX3&m1mD| z{x79yPlYwuM+u-5>5ih8^Fh3`djz@EU013+H3T(yn;waTU2c^)vw0OKdt`;pBMg}; z*OZELQH9j2Hi^-~n?ST*T39+qSKQvBa7qMND<(*eI6bNE&iAY6n>5m?W>n%TD#Bt{ z`>4H?s#M>;INyH`6j@F)8>F{-#+y)%8k-Dy;gy;%rYBLw8!l)cf7IP%+{E@mI``ka zA`Z&%uC{g+xK7Qdq%WCZXJp&4`^2$DOo%B&guPLjRwIzHqz|lYO?W$(dG%hyf(fa( z4$5(B*JnExJm3FjtvZNF>kxb9lNT-)<{BXbpHqx6<7EwX&O#P3zf5>){;u$?-lL1Lq<+> zGY|z+`aD|TGa|u_-*mZ{UvYm@!z zbU2;97nndX5S$6Ep9FN_eJ=ZB-^ypGaxGRpGd#*MSD-cxuU?R@bWWs z+dkdc!}<&!>(#(sM#r*GQR3lx6*o4Ha*u<%!jAtk#|DkWXZWOw=lxU2CpdR*|5ED) zxu@-#W9&3^tz;>ceBNcT;b;jW34g)H=*3 z5wBh8mAzDWuubH{wOU1H<#^uz7ia=eFJ#{!H*FX3cifp+m$yc6bGU&;%HBPC<55G) zDlWp6wJQB7d}o|gHxWz!_ZD85#bc@DB{ati3v}^&yeXEXMcB*d5vDU6W0&%l9YP%6 z_||QsZ*kgT&~Vq<6-SqO%Q;>k-?c^b+2z5rBqbmEhH-<*<7w8k;lTJ$(TyjHhR;bT zL&! zz@6#wK68tL=o=?9bzn?BToe!!LX+ zBT=v)WL+Zg4_BSZP&x3ZK8pws&h}W1U`TmAtiNh{`>cd+gX8vR^=g^nQC&!O#43-9 z=9dMz@8aerc8RU;`THN5I@?UmW_x^A4ml}zEH5{)r6_GWwn-<(wrJM~R=#0-nMP_R zNA=ca_L7hDo4Vsf#u7esuA>gMQKM6uhxL=)IHl>-jOx|M3navL!iTdB#_K%U^U3l< zOV;)otF4#6+1uh4eMh7#`@+?1mO5eZQl8qm*&i^f#ZK%-Bl5CY*1Ec^#YHuB{AF#` zVkut7Z)P1`t!hhU!KK=2L9^cLzo=!f&t17KD4~(1e7~O7zd`>eC^`cKMHaQry$GcL z2cpQ*_WwsvWWE0E994HMsgO@K##@cmLEK>kUq)jd*-LMdiX}`IEF8x(CrXtR&Z_iO z^!WEDb)1T|L1O;gSJpC;M)vdHob7Axt@lswZPzo-<$dnx{f+2vcl?9~SM&i$0VH&< z?Y{zY@XY8mx!nlRJAiMyDj=L>AIF*4E2q;O*+fd{wEm+|Ch>jtMkrZRdix-NaU4`U zv7&t|EgrkwNPZX{EiGZ^%#e&v<(a^_9TgMisHLC61@J) zLPd@nkVu4oWk^w==$I`85-#5YW86ub#|GpESP*LS6pK>jW<0VT84>^Y?Aa|~_Dov6 zAEM0va{s%LC=TEde=A6I2 zIQD>WGK6p&s9Q;}Z}Egr6$dL4;z;l-+0j$| z5v?-{Fh>YAP$ZN@k3hlak9aJs_f@qPE0XV|ltNDu_->l@!ynKKPFMl#p1lW+r6c1D z6y0iUQZdhA>qI~P#IO_eF7@&K1JS8};9s$fc*Fsj8Au- zg3B0bg)1l9C!~f82Yb6qm`Y$&STvg-D0fKw4L{c+EcGLtNY82ZGb!ZCYk~JqeMblx zFpu4d54zQNYv-fd^9--oo&Kny?tt!tH}s*2&D#Kmw4}pYc7c~c?|uH2rfbF(nlt9u zRIgDOBZiOo$o9+|r6~1%r(R@*D1kh2Nlwmtp{>mRm#TLSsCU+YL&jK3#XGneL9y9S z?+a$bcLt~IztOtNM62zSR$rBqj7zBCT5g8be;ZuIs*$*D{xwD140q#cg-{p}n=bHa zD1O!1rcepU{r8ouu0-PeZ7I+3A43yBENQ0W?K3 zd4P2xU|Vm^Q0Onr9mhW>NLUAbc~E-wR7f~pQ$0v?y%=zJezCA4K>@hfjlLI{@abkq zXh`lr{^FD{1C(5LAHXDJGrdmr0ZcKTP$Q83CgdkW!3F}>r~@DzKWENB?n+4;qu?HZ zL0`OGF_0RFxRAtv-TmZ7V+ze0SmYvs*%g5W=o?Xy7~Kp#!NiYc;ypmnh~4si56nPJ zY<5Xk8RdTaE!~KZa`XD}3qoP?{_rwnks^f0YyK4jj78rg%czDBTE@+Yt|z!RIh!g~ z6UMl$Ov7aaC#!9C|Rgd&`v}_ime?oyAb6H zZR-hbgQEejkh?{>!5wXhni)Wh0q&#hSIJoc(9pT%-HgD)o7(JlFB|+SL@k6#9j^~P z$qRnJirg|e+1iS`+f8=#E_aTw6*n}Dx>#xbdqFt*JmA$_cjWNd+>iOMWN=+o;ay$P zqcb$vYdH`}4|4~8vG+~Z48k7~V4Ff_Q~)Dbw1(M$zFXQ`{7J&Lsin{9Fve&hgk|1o zO?uqW9;IZ$Z6P#Pz+15_=WO*8ZUnW_ljM*+y0W^e4)p7ku-Pr^y~r{QkT|sAdMrTb z#)^liqRpGC{+@MuN)iw>dIA#D03t;Z42}R1hO&^=(9cDe=e2H8rN@?&T%YE9!m5JC zYe~PP0Jn`spuV*@-*EpJr%xq$7j$1R~K3`ew_|yxUhqJ=i5?2;#7zhE0++yk` zWOYCLbU53@gZEBPaG!W)>$B|(Jz9wGW(hDCD&R;cbqY1@r$XKG28Q200>Gb>g;jl>1F-y{2CIAOI;^&(hqzxaMTL}1JUgeel$z?!}m=Nh!e7Bry}6(`hk`ET>9uX>_s4&39&X6 zkRJhMTLJQ;1NjDDhB-GN6u(?@1Kj`QM{XzlhyRryB{*~q^%^VS12Y2s%a4ROji65O zhI;)*L2cJicfPI{5fLq@xMk!C#qeuj!I)3l6d)_0gk*AAQ%izaawC8!Bc?Ryfmk1Y zMFz}tP?a~FyYV<{9bX$3f0MNTaKFDANmcQ<`g*B^VWF^4H8SdOiZ8X8sRV*v;KGeydNdOZeLX7%7z5C0yhWlY$VUNr1{XR~ zAc06eXAy&!zD7^=5+_h4M^i_3f>u3K`zdRzE(&8ZTi&apEG~-lG)JKn#JFF!P$Adu z3Mo;0QkKDqUP@k*bj1XJ(ORnKw z+L%t}>v;1LoA!B>pa@S$#TeBxX+G8iTRr(~&sE0d}>@-S*@&*dk0M3c+cBpJ6Nm_E4l0k7Anp0M~R(EZ%@9mBOWWP^ObaA z@NPP9+$0Bca0D+>pNLdBzbBSfN}h{Vr;A`u5pDB$Sao0%jz>J4WE`0=3~1xS5QCf2 zEvIoCz8kB#53ekrI3rLYB`05OQb1jkxeR+mgP!eo+~`T{N37^mB<^crLO%eS5z7Bd zGrCjb2*9;9AOEGTpR}k9qeo;K!Ok!i!z`O)pN7p1$35^|!-Oiq0-#R*IAC(*V z3m*0uT|~bgi`|tvO(0h6Ku*C&-98`RA1PGhEm#zST+|S|EEk(>=5j2`gRXrjKNu)1f|*kB#Rdl#)s)qahE%5_1fHJG*r|@o8^ZOE#h(c zc4?gQhK|baR*1EZ?^FeYMgPg}%~qmDWn*6FBlA=_ziL{4gveudR%ghO~J7#|ptssWr`b~vZxAC3-v+YmB zLtG2iCBv-5{p8aIJQUuB2M6^-qH+0iSwONqO2afx&EGudhiKurt+D-6HV7l8$G3d; zH+^U5NmKu9#e5U25NmDs0yUoFsf+V;O*-VpvlwbCX=a_K%Y~8(Hs0>Xhpq-w`uo~| z@#Q$jXq6bWi}@&GW&Gs_+_I{#c>4XT;!e3PCMGh@Lo#|>FsAtZZ#5Ba;yutbt{V0t zFV6Rwky|cv-ue#7BbG9hM~B9VRu|BagQG52K1ovVs3p9Oj)?~yHBD2k@mJvbHT)-2 zsp|kfPisps{M3oKzjpq7H_DCcfSEMj(bLC9T)tvQ6}a0~Aw%e|y#Bf1@Gghi$n%K% znws6??Ca<%&669caJQReIJ8};Az(}>%m5(dcwrSt#F`hM=8v$l{~I%6SiPFk0|H=1 zWdcf!VbZG=eK!ofgd0zvLf zBq4emNlf+;T;>xTiF2Iicq=v;OyU0&nXJXwvI(&Si!?RBo3b%OR{U#<>Y`ID=`_;n z-obw;lAu|O+j}OO?q;=9{L;Bt-Wa}#z@-~ldFEEzzaJRtA}R7rRAp%2ht|?k)!FGm z{vDBf!kho@g|&HnC}^`Rv!?X!+_VS4jD&(~0ueLbl1E}zvb@c3-2(B=YLECC)D@0{ zMXpZv-~IPmybPbY%(yXX=#rz#rkOk+PwSFf7OYI^9=q%(LKuq|5h~gtAgdY@+LyD{ zGV)ifeYiJk=q6d*k1|j;lVt1BPjKfoXH~4flHB%5b5?JEpm7Y{;&q@jZnwJ`Pcx)0 z8wet9?AW`M9L!=-kE)7J-4z*iJ`=QGZN+A{lr`HUcxHF|dn^)IoDJQ>NGD_JXu5JA zuh1mb3khh=UCfA`A#{8wdLF-SrtX_vZFzXS5-b1BdtxWp)TE9f`5;YM8_dKF!e7Mi zwfpeI2CVZbcD7C2w*3w}fJF<@2*S>AZkA2gNVP{yn^q=ZUa_|IT;#TNmsNmRUInK5 zx&8L%yrE?8zH2OZtJr^_DIhB#dK!;;%xDoYu?kVft(ikF>Kl6VV13;6jdh^3q8lI1 zR(^V6s*&Eo+M{unyh?ec?DELRQrqRr^X&wC1IAjtd+}A|sM=%Hm0Gc6d;5~HzN&ty zI#p%mww8%S`+*A=0fgPlPaGO5reKE|6IO^XyZSoXcIP86rPf7{nt*~FBe)DDSOQS z*-1-{?4i8F{O<(mhxkFv$?K0W?pjS2@QV#(wgF?974=V5J+?5XZ*X7M_*O_|{19mx zew6#zfs3%;0L&=t_elPK5~M9af*MECDi-Ip0A7xFJr3@*1Tgjwskm=TWks^+Te zP_%K2{FnWvNiogT%iZ6)=NOM+S~@d&zGmC>O(7ff%X+?k1Y{hRpXgjI#@YrP=bR>- zQ`kCYO@p5vhbgtgNB(Y6c+(T8&)eKps0pTX@5DFpQLE|fN&2ggko7CSu}D;p3@?~7 z*d()l@(j>58`2*bLh*L1ImVf+z(C$v=~HiZ*sUiN#tlvAb5*_PU})7axryYsUYG~1 z?L2z+qoA!X!op;cO$cv86**7Y5K%uMG@WWau6mF43LkWe-@g_NXJ?;Wr6sp7xCAjU zC|Dl_?~_;*JU2<(FZBKRIWKq;S#RMI0p8sMtfsh`*&x2eA>Mdfc)u=|hGW7|T-EX` z!p9=-_v-TAF@Ee^zA!6|xVxRH+e4Js@3^%BzGnuM3h^$AmWiNdAtV+tO8s zN7A{|ypChEx<^DBI`Pu(PTAQ*^v<8Rn@ix%$t#OhxU?&D7p-a*o_!bRv7+m@c<&gi zLzFm~*DD>avRWG(F%kEsDZcfpzuh`K8;L5{>T+EPEheRGx@Vu%z=v(KD3k^Bvz5I* zI*s|6^K#mA_m~(%o!8!W1eDl0)+@bJQX(vc`tI7uEDOUN_jJ_5adjU~cL<7nq{+&- zlEpmQXqv4X+Z##N#7On+S5j7Zq@8zn^HMg{>-X$!d{Nk$=8&f%m2N(SQ0~9YcivLy zdZ-Y`_XZ40fw8wo`n-FRuE^G1u<`GH8+lGCrJPq{wy75P3 zuDbV)?WNIx6~Pz=rvXQKUUe(^-n7Tx4I`VXXboY#&XKX|^CSr@xE1J-In2sWq~d6N zgDt%7-SOH!WfL2zipokAwKpOjTRo=Tv&oZBAS}L|Jf73OX`36?6iN$q2Rr{4XXn%$ zSlBh#IO*87ZQHhO+qToOZQHi(j&0jXCz(M^Satr9o*m>tn123|FCqmxYLpa>WQx|T6#vye5+ImQI#rS-$vV4- zFzc8aI=sK@2bpn(9*F;b53&>dLMg-S>+|k?CuP5t{3)eHQh*voa@-oyx3cE-16}@< z(#EMoUUzrc$xaW;@?xEf$+iQe;yCP%wW%c{3$x=kQX~39aIiecdU1Y2Y5O;>oTC3i zY5!zK;qWkzj}h*{=9kg>Nc6Yj4u)zL`!vM$2YimE&hXXsV#Vjioxq8LMDxIxWg z3J&^7L&SDRzQKhV#4>=cj~pSuKRgy#fbAL*;0E4dV~z7{z1oX2qbhojNGaP zJC^^-i~v%?^aYt04z|Xh`k*%KyI%c{egGtq-kc6ou(c>Vz0Rh&k|ApIz4`{Y5eF{M zPE5FPMFU8Z_mRCuNs3g@c7@2R6ygcKiY=-h;<9Ju*vG$DOMmvTSlEgbX?B(;uK3jc zo>N#vl1=F)H$usIhpK2j6Sr9_i9&tlsRW-cXXd-cyMamxRrk)g`$$XI(sFT4J}1us zJ~fFASbhr7V96;UZ4eh=g+bl;PQ`GizM8u3qa<#EW;*CiMzzc>h@~&SNI%p)sMTM? z``q;#e`X!jI2i_2zR<~5kpIzcswmr$6ruf)7>KS3jznR46iM@p2eX-dF+cR3DaF#g zs&RAmY4Dqse{~!-z?ry)(fWubUMuSapBYo{f6ffR+q`t{o42AbiMG@EJl{;3@m@wH zHbrn~&#X~bFWf{?m}OGU#u&$|VQy;a%NDsv?a<_dTt!k>o|_+4RyW&IYEW3Ya!z(M z9sxUI!eXsxnAwF^Mp@~@qr1qCND+V8^|EJi^8XHHJCZTJrO+fEa6XGEqU$~Dcp4fA z2NLhzZ47*&<~mq?UNX4}K`*5nv+-J!Y6<0SJ^2M?;#u;itKov@oA`76egW$~3*~0D z!*(4`6cKN|MpBdeu-9UX^WZH#>|KRvX9~SrPDMu{!?1!g!#hxAp@^i{b(~3OWpxqf zs1ifCUaKlBrJ0gJE=rSAP{k(3{RYBm(TSt^_16RLm&sw@OJom0-R~iamG^cjtfN`Y z^EkwVn|Sq&M%0L#*}hMEt{o-TX*f-k-BjlLrXa<~P^3G&&g@$LF8Eo)7sFQM z)ZVjTOsh08Vba$BO&?VtF}tfduP0HxTN9?Fr(?x2N9Md0C(UW+S6TkNN4v#SO;ZQdFtX7G;qK7rt^TL=mzrxb>x@x=zD;cUL%N(C_yJG*N z(4T_X_w?&=;b+V7n-5n^v||c_Y-f zo(4{~s(WpX<8*`VRd-kXp=~E^@UYTe^9y`l)H{ zhQmF~#atF$GhW%*vE|}Tm8ZL-x|FllT1-1kX9b(t4HxgkcUc4zb#?1|;z!k_;7dl~ zhZ^>3p%aggQPK!HiWlc7S^wt1_%n?R^?;2=(Q&w~R~U2XHH|PfMV?>v`hW>lETd?(nux=N#snXiz zkK+qZf>WO!u_8CSzlb-rETR2aSIR@OW@EaM1gw%2kJY+(=Q+koKKhk9X?dIWT8|sZ zt(`KgXhc4#h*7^qqRudaT1h&Oy{ec94E8nQ{0tPSk|tuin5x*)@Z3x7``6N~o?=K} zhf1ZU*N?uME9msMx8%pIe2Mg0J+&_mZ66(dU20hiA01qee<58JbLk1o57S|t3tN+D zGt1X{d0Qr0P7X??-<9$({VSxYqT@E?jn&xJJ*sDg&c{;$OSH^hou)>#Vk*JwsaBJY zx^3{58J<5^y~wd|II(ZXS)D%0M*7N|TId1uwZYWEvSZahn4UQihZSurZ%{#}JlW{A zj+K`hsyy6Q)25_1OC{z+EUHRZt3c>h@OhN$*m>!c1+x7z)q&maJpWn5C{dFO@aTkQ z`}0>p^pG{3z;&G7K2q*3poqiw3xbP_uJ$5o1ALx&p)TJ)K(N7QR%iH`j?8w(63Xl3 zqUVoXiP`oVB-mEN8SvrAPD^&{>feZiswIp zv{dPTfwaZ+pFrC4Patij;VG9TmUkfs2O3G)2lvX9)0cPX^d-5H(XAd%+esV0wJ$2q zZT-;Isc5f&E1=0`rBHfcRsu1H+03_~IrWfY%IA%ceD%-Zo9^Bk>FX{_oRRyX7%Gg63%;h7a5OC#cpl#ZMAgNvp2a7km5I5-u6F71&)(w9 z%=H`&p-a#&Wz(V4k~GAqx?I*YKJhKLnC)n5WUz1C_N$|)l}Dyz&S^YahPX|APude= z`%~98MCmsTdv0p8jlEq?hKxlMg>kH(6K%AuwS-jH8q{687(J0wx>Y`#!@8vsuvlyG zuL8|ED83$*_FEF}?LlVxY!}a9CU{uxl`m13^mjbP=Wan}WtBNBuG9s783!1smQ*%= zr!G(Rkv`FW} zg(|5{zaXWMuCVH7uzRh@s%504AlyB@on4$WEebQi++?}D*BxYzL47Ky1nF0Y?X%1- zw7T(TZ15GCny}K{U}Rn)t@mtr)Ayw1we~zuL^i{WAh2F({7fG*ZCOzuSLbj9p6zGc z$A9h2(k&rVz*D+NTBL9PP9#APu#;p@%LD+Ml4nB!50(77@$tM-K>##DM&4aX*d3fY z%mk~B7=Ie7fLbkL&efB_+`MIxV6bRoXZR%{O&Q4n*yq2d)(PyNFKDkg(}$FmRNDX;AAXH;Dm$a_@K7jM_1_ zZd=t(Z056!XX{aX%u;Rh4q`{zb9xSx%W|@R9w1JckMnO`<|~u9oTw&r4wGdm6}pw z0;;g)28ouq8M9_K{?#?)#W9^ygdifH?2pZeg!q{#Vm5w=OxzF$b)|wwnOcf22WM+j z{fJzyBgI`xp_0QqJ8;jbTTyd921VR(?>o@x_9Fr~=tfy}^Eo-UzUf6--YUJnL95kL z#PXgJyQWr~?3LE`@xC-S4tBDie<7D<)k}F%Pw(sj%XoUqFXxrfjVt9yQ#^MA3;x-_ z{Dt(uWcD+fJG+zPc>RSJ>M>kJ}Sv(v2-=>mBL zZ6n+1UX^R{&&W<)g#bt6=_14E;mBtxpUz+SMW*giP0EWz{j3-Bo654=)SQx+ZG(sH z7PuT%ymmL4y>r20U%amwk>HG!HPrm&-(J|%*pYfEy~-=?FWBQcD9iAsMizI{);%C5 zPaohpv%GYe3$w6sN$Zg+D-`nzl=57klB0Vvjaf;e`1O2L3Xy&IK)d?$XqcMji zqwY7ZN&&{>%4L#-@dM;i0aK15?(M zX^WNuHMcsrO@EF_g95s{W_M2SMav(WU9Jb`y@r%>XnVmAz!s@m_jw&0|u*Yb;)oBY+8fga04!=%2~xREz6$?Y|}?c>n+aLl+Bc zV>(+CXD4R^TVn%9V+L9lI(ugtLB;=H_6S^EX}aZko8VEmh};kvUKoPwmrl8&u*Cu> zf*=IEbO3Tj9y~G?q3RHjdS6UnUGYJRnW{6)D#Wk zjfAVlU@?NGj2hb7p+z9>vucI??yr-aZR{sNW#==(%hj_dkz z{`X55gB72Z`X?;2u%Y?_xXC2T5V5-w5E1$@%Me1&O}NZfv_X09anFSwbhMcxQM-A_ z&iQ*3mhbKY^MZp`#b<{H)^H2R@+|^qSEp5T@ppa91`2hm`=@bw`iMo)zeL4cVoM5$ z@VKvo^2~_JA(8+&`U&S$1h_#N15NTv={5bJ6~S2^KpcYcNdwR^kNjs8um=X|iQx