Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
19a1f23
Add `Assert.Scope()` for soft assertions
Evangelink Feb 6, 2026
312a4a4
Add public API
Evangelink Feb 6, 2026
d860b27
Merge branch 'main' into dev/amauryleve/soft-assertion
Evangelink Feb 9, 2026
b0208b3
Address code review
Evangelink Feb 9, 2026
6133a25
Fixes
Evangelink Feb 9, 2026
63dceb7
Merge branch 'main' into dev/amauryleve/soft-assertion
Evangelink Feb 9, 2026
12d69af
Update
Evangelink Feb 9, 2026
f9133c3
Merge branch 'main' into dev/amauryleve/soft-assertion
Evangelink Feb 12, 2026
61f218e
Update logic to ignore compiler diags
Evangelink Feb 12, 2026
888a8a6
More refactoring
Evangelink Feb 12, 2026
c68b24e
Cleanup
Evangelink Feb 12, 2026
ceb625b
Update RFC
Evangelink Feb 12, 2026
61899b1
Add back removed NotNull attributes
Evangelink Feb 12, 2026
bb40e99
Update src/TestFramework/TestFramework/Assertions/Assert.cs
Evangelink Feb 16, 2026
328b1fb
Address review comments
Evangelink Feb 16, 2026
e84eadc
Final refactoring
Evangelink Feb 16, 2026
b9d6aff
Rely on UpdateXlf instead of manually modifying xlf
Youssef1313 Feb 20, 2026
bc227a8
Improve tests
Evangelink Feb 20, 2026
13ccc3b
Fix
Evangelink Feb 20, 2026
c462a15
Merge branch 'main' into dev/amauryleve/soft-assertion
Evangelink Feb 20, 2026
086a072
Address review comments
Evangelink Feb 20, 2026
2f512e2
Merge main into dev/amauryleve/soft-assertion and resolve conflicts
Evangelink Apr 20, 2026
86e62e1
Fix
Evangelink Apr 20, 2026
6f6e49c
Move ExceptionDispatchInfo.Capture to AddError for cleaner stack trac…
Evangelink Apr 20, 2026
206a81f
Move ExceptionDispatchInfo.Capture to AddError for cleaner stack trac…
Evangelink Apr 20, 2026
d6290ec
Fix test
Evangelink Apr 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions src/TestFramework/TestFramework/Assertions/Assert.Scope.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.

namespace Microsoft.VisualStudio.TestTools.UnitTesting;

/// <summary>
/// A collection of helper classes to test various conditions within
/// unit tests. If the condition being tested is not met, an exception
/// is thrown.
/// </summary>
public sealed partial class Assert
{
/// <summary>
/// Creates a new assertion scope that collects assertion failures instead of throwing them immediately.
/// When the returned scope is disposed, all collected failures are thrown as a single <see cref="AssertFailedException"/>.
/// </summary>
/// <returns>An <see cref="IDisposable"/> representing the assertion scope.</returns>
/// <example>
/// <code>
/// using (Assert.Scope())
/// {
/// Assert.AreEqual(1, 2); // collected, not thrown
/// Assert.IsTrue(false); // collected, not thrown
/// }
/// // AssertFailedException is thrown here with all collected failures.
/// </code>
/// </example>
public static IDisposable Scope() => new AssertScope();

Check failure on line 28 in src/TestFramework/TestFramework/Assertions/Assert.Scope.cs

View check run for this annotation

Azure Pipelines / microsoft.testfx (Build MacOS Release)

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs#L28

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs(28,31): error RS0016: (NETCORE_ENGINEERING_TELEMETRY=Build) Symbol 'static Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Scope() -> System.IDisposable!' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)

Check failure on line 28 in src/TestFramework/TestFramework/Assertions/Assert.Scope.cs

View check run for this annotation

Azure Pipelines / microsoft.testfx (Build MacOS Release)

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs#L28

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs(28,31): error RS0016: (NETCORE_ENGINEERING_TELEMETRY=Build) Symbol 'static Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Scope() -> System.IDisposable!' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)

Check failure on line 28 in src/TestFramework/TestFramework/Assertions/Assert.Scope.cs

View check run for this annotation

Azure Pipelines / microsoft.testfx (Build MacOS Release)

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs#L28

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs(28,31): error RS0016: (NETCORE_ENGINEERING_TELEMETRY=Build) Symbol 'static Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Scope() -> System.IDisposable!' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)

Check failure on line 28 in src/TestFramework/TestFramework/Assertions/Assert.Scope.cs

View check run for this annotation

Azure Pipelines / microsoft.testfx (Build MacOS Release)

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs#L28

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs(28,31): error RS0016: (NETCORE_ENGINEERING_TELEMETRY=Build) Symbol 'static Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Scope() -> System.IDisposable!' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)

Check failure on line 28 in src/TestFramework/TestFramework/Assertions/Assert.Scope.cs

View check run for this annotation

Azure Pipelines / microsoft.testfx (Build Linux Release)

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs#L28

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs(28,31): error RS0016: (NETCORE_ENGINEERING_TELEMETRY=Build) Symbol 'static Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Scope() -> System.IDisposable!' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)

Check failure on line 28 in src/TestFramework/TestFramework/Assertions/Assert.Scope.cs

View check run for this annotation

Azure Pipelines / microsoft.testfx (Build Linux Release)

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs#L28

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs(28,31): error RS0016: (NETCORE_ENGINEERING_TELEMETRY=Build) Symbol 'static Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Scope() -> System.IDisposable!' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)

Check failure on line 28 in src/TestFramework/TestFramework/Assertions/Assert.Scope.cs

View check run for this annotation

Azure Pipelines / microsoft.testfx (Build Linux Release)

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs#L28

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs(28,31): error RS0016: (NETCORE_ENGINEERING_TELEMETRY=Build) Symbol 'static Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Scope() -> System.IDisposable!' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)

Check failure on line 28 in src/TestFramework/TestFramework/Assertions/Assert.Scope.cs

View check run for this annotation

Azure Pipelines / microsoft.testfx (Build Linux Debug)

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs#L28

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs(28,31): error RS0016: (NETCORE_ENGINEERING_TELEMETRY=Build) Symbol 'static Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Scope() -> System.IDisposable!' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)

Check failure on line 28 in src/TestFramework/TestFramework/Assertions/Assert.Scope.cs

View check run for this annotation

Azure Pipelines / microsoft.testfx (Build Linux Debug)

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs#L28

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs(28,31): error RS0016: (NETCORE_ENGINEERING_TELEMETRY=Build) Symbol 'static Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Scope() -> System.IDisposable!' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)

Check failure on line 28 in src/TestFramework/TestFramework/Assertions/Assert.Scope.cs

View check run for this annotation

Azure Pipelines / microsoft.testfx (Build Linux Debug)

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs#L28

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs(28,31): error RS0016: (NETCORE_ENGINEERING_TELEMETRY=Build) Symbol 'static Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Scope() -> System.IDisposable!' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)

Check failure on line 28 in src/TestFramework/TestFramework/Assertions/Assert.Scope.cs

View check run for this annotation

Azure Pipelines / microsoft.testfx (Build Linux Debug)

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs#L28

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs(28,31): error RS0016: (NETCORE_ENGINEERING_TELEMETRY=Build) Symbol 'static Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Scope() -> System.IDisposable!' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)

Check failure on line 28 in src/TestFramework/TestFramework/Assertions/Assert.Scope.cs

View check run for this annotation

Azure Pipelines / microsoft.testfx (Build MacOS Debug)

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs#L28

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs(28,31): error RS0016: (NETCORE_ENGINEERING_TELEMETRY=Build) Symbol 'static Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Scope() -> System.IDisposable!' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)

Check failure on line 28 in src/TestFramework/TestFramework/Assertions/Assert.Scope.cs

View check run for this annotation

Azure Pipelines / microsoft.testfx (Build MacOS Debug)

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs#L28

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs(28,31): error RS0016: (NETCORE_ENGINEERING_TELEMETRY=Build) Symbol 'static Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Scope() -> System.IDisposable!' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)

Check failure on line 28 in src/TestFramework/TestFramework/Assertions/Assert.Scope.cs

View check run for this annotation

Azure Pipelines / microsoft.testfx (Build MacOS Debug)

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs#L28

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs(28,31): error RS0016: (NETCORE_ENGINEERING_TELEMETRY=Build) Symbol 'static Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Scope() -> System.IDisposable!' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)

Check failure on line 28 in src/TestFramework/TestFramework/Assertions/Assert.Scope.cs

View check run for this annotation

Azure Pipelines / microsoft.testfx (Build MacOS Debug)

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs#L28

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs(28,31): error RS0016: (NETCORE_ENGINEERING_TELEMETRY=Build) Symbol 'static Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Scope() -> System.IDisposable!' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)

Check failure on line 28 in src/TestFramework/TestFramework/Assertions/Assert.Scope.cs

View check run for this annotation

Azure Pipelines / microsoft.testfx

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs#L28

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs(28,31): error RS0016: (NETCORE_ENGINEERING_TELEMETRY=Build) Symbol 'static Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Scope() -> System.IDisposable!' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)

Check failure on line 28 in src/TestFramework/TestFramework/Assertions/Assert.Scope.cs

View check run for this annotation

Azure Pipelines / microsoft.testfx

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs#L28

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs(28,31): error RS0016: (NETCORE_ENGINEERING_TELEMETRY=Build) Symbol 'static Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Scope() -> System.IDisposable!' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)

Check failure on line 28 in src/TestFramework/TestFramework/Assertions/Assert.Scope.cs

View check run for this annotation

Azure Pipelines / microsoft.testfx

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs#L28

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs(28,31): error RS0016: (NETCORE_ENGINEERING_TELEMETRY=Build) Symbol 'static Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Scope() -> System.IDisposable!' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)

Check failure on line 28 in src/TestFramework/TestFramework/Assertions/Assert.Scope.cs

View check run for this annotation

Azure Pipelines / microsoft.testfx

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs#L28

src/TestFramework/TestFramework/Assertions/Assert.Scope.cs(28,31): error RS0016: (NETCORE_ENGINEERING_TELEMETRY=Build) Symbol 'static Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Scope() -> System.IDisposable!' is not part of the declared public API (https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/PublicApiAnalyzers/PublicApiAnalyzers.Help.md)
Comment thread
Evangelink marked this conversation as resolved.
}
15 changes: 13 additions & 2 deletions src/TestFramework/TestFramework/Assertions/Assert.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,19 @@ private Assert()
[DoesNotReturn]
[StackTraceHidden]
internal static void ThrowAssertFailed(string assertionName, string? message)
Comment thread
Evangelink marked this conversation as resolved.
=> throw new AssertFailedException(
string.Format(CultureInfo.CurrentCulture, FrameworkMessages.AssertionFailed, assertionName, message));
{
var assertionFailedException = new AssertFailedException(string.Format(CultureInfo.CurrentCulture, FrameworkMessages.AssertionFailed, assertionName, message));
Comment thread
Evangelink marked this conversation as resolved.
Outdated
AssertScope? scope = AssertScope.Current;
if (scope is not null)
{
Comment thread
Evangelink marked this conversation as resolved.
scope.AddError(assertionFailedException);
#pragma warning disable CS8763 // A method marked [DoesNotReturn] should not return.
Comment thread
Evangelink marked this conversation as resolved.
Outdated
return;
#pragma warning restore CS8763 // A method marked [DoesNotReturn] should not return.
}

throw assertionFailedException;
}

/// <summary>
/// Builds the formatted message using the given user format message and parameters.
Expand Down
53 changes: 53 additions & 0 deletions src/TestFramework/TestFramework/Assertions/AssertScope.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.

namespace Microsoft.VisualStudio.TestTools.UnitTesting;

/// <summary>
/// Represents a scope in which assertion failures are collected instead of thrown immediately.
/// When the scope is disposed, all collected failures are thrown as a single <see cref="AssertFailedException"/>.
/// </summary>
internal sealed class AssertScope : IDisposable
{
private static readonly AsyncLocal<AssertScope?> CurrentScope = new();

private readonly List<AssertFailedException> _errors = [];
Comment thread
Evangelink marked this conversation as resolved.
Outdated
private readonly AssertScope? _previousScope;
private bool _disposed;

internal AssertScope()
{
_previousScope = CurrentScope.Value;
Comment thread
Evangelink marked this conversation as resolved.
Outdated
CurrentScope.Value = this;
}

/// <summary>
/// Gets the current active <see cref="AssertScope"/>, or <see langword="null"/> if no scope is active.
/// </summary>
internal static AssertScope? Current => CurrentScope.Value;

/// <summary>
/// Adds an assertion failure message to the current scope.
/// </summary>
/// <param name="error">The assertion failure message.</param>
internal void AddError(AssertFailedException error) => _errors.Add(error);
Comment thread
Evangelink marked this conversation as resolved.
Outdated

/// <inheritdoc/>
public void Dispose()
{
if (_disposed)
{
return;
}

_disposed = true;
CurrentScope.Value = _previousScope;

if (_errors.Count > 0)
Comment thread
Evangelink marked this conversation as resolved.
Outdated
{
throw new AssertFailedException(
string.Format(CultureInfo.CurrentCulture, FrameworkMessages.AssertScopeFailure, _errors.Count),
new AggregateException(_errors));
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -393,4 +393,8 @@ Actual: {2}</value>
<data name="IsInRangeMaxValueMustBeGreaterThanOrEqualMinValue" xml:space="preserve">
<value>The maximum value must be greater than or equal to the minimum value.</value>
</data>
<data name="AssertScopeFailure" xml:space="preserve">
<value>{0} assertion(s) failed within the assert scope:</value>
<comment>{0} is the number of assertion failures collected in the scope.</comment>
</data>
</root>
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,11 @@ Skutečnost: {2}</target>
<target state="translated">CollectionAssert.ReferenceEquals se nemá používat pro kontrolní výrazy. Místo toho použijte metody CollectionAssert nebo Assert.AreSame &amp; overloads.</target>
<note></note>
</trans-unit>
<trans-unit id="AssertScopeFailure">
<source>{0} assertion(s) failed within the assert scope:</source>
<target state="new">{0} assertion(s) failed within the assert scope:</target>
<note>{0} is the number of assertion failures collected in the scope.</note>
</trans-unit>
</body>
</file>
</xliff>
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,11 @@ Tatsächlich: {2}</target>
<target state="translated">CollectionAssert.ReferenceEquals darf nicht für Assertions verwendet werden. Verwenden Sie stattdessen CollectionAssert-Methoden oder Assert.AreSame und Überladungen.</target>
<note></note>
</trans-unit>
<trans-unit id="AssertScopeFailure">
<source>{0} assertion(s) failed within the assert scope:</source>
<target state="new">{0} assertion(s) failed within the assert scope:</target>
<note>{0} is the number of assertion failures collected in the scope.</note>
</trans-unit>
</body>
</file>
</xliff>
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,11 @@ Real: {2}</target>
<target state="translated">CollectionAssert.ReferenceEquals no se debe usar para las aserciones. Use los métodos CollectionAssert o las sobrecargas Assert.AreSame &amp; en su lugar.</target>
<note></note>
</trans-unit>
<trans-unit id="AssertScopeFailure">
<source>{0} assertion(s) failed within the assert scope:</source>
<target state="new">{0} assertion(s) failed within the assert scope:</target>
<note>{0} is the number of assertion failures collected in the scope.</note>
</trans-unit>
</body>
</file>
</xliff>
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,11 @@ Réel : {2}</target>
<target state="translated">CollectionAssert.ReferenceEquals ne doit pas être utilisé pour les assertions. Utilisez plutôt les méthodes CollectionAssert ou Assert.AreSame &amp; overloads.</target>
<note></note>
</trans-unit>
<trans-unit id="AssertScopeFailure">
<source>{0} assertion(s) failed within the assert scope:</source>
<target state="new">{0} assertion(s) failed within the assert scope:</target>
<note>{0} is the number of assertion failures collected in the scope.</note>
</trans-unit>
</body>
</file>
</xliff>
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,11 @@ Effettivo: {2}</target>
<target state="translated">Non è possibile usare CollectionAssert.ReferenceEquals per le asserzioni. In alternativa, usare i metodi CollectionAssert o Assert.AreSame e gli overload.</target>
<note></note>
</trans-unit>
<trans-unit id="AssertScopeFailure">
<source>{0} assertion(s) failed within the assert scope:</source>
<target state="new">{0} assertion(s) failed within the assert scope:</target>
<note>{0} is the number of assertion failures collected in the scope.</note>
</trans-unit>
</body>
</file>
</xliff>
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,11 @@ Actual: {2}</source>
<target state="translated">アサーションには CollectionAssert.ReferenceEquals を使用しないでください。代わりに CollectionAssert メソッドまたは Assert.AreSame およびオーバーロードを使用してください。</target>
<note></note>
</trans-unit>
<trans-unit id="AssertScopeFailure">
<source>{0} assertion(s) failed within the assert scope:</source>
<target state="new">{0} assertion(s) failed within the assert scope:</target>
<note>{0} is the number of assertion failures collected in the scope.</note>
</trans-unit>
</body>
</file>
</xliff>
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,11 @@ Actual: {2}</source>
<target state="translated">CollectionAssert.ReferenceEquals는 Assertions에 사용할 수 없습니다. 대신 CollectionAssert 메서드 또는 Assert.AreSame 및 오버로드를 사용하세요.</target>
<note></note>
</trans-unit>
<trans-unit id="AssertScopeFailure">
<source>{0} assertion(s) failed within the assert scope:</source>
<target state="new">{0} assertion(s) failed within the assert scope:</target>
<note>{0} is the number of assertion failures collected in the scope.</note>
</trans-unit>
</body>
</file>
</xliff>
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,11 @@ Rzeczywiste: {2}</target>
<target state="translated">Element Assert.ReferenceEquals nie powinien być używany dla asercji. Zamiast tego użyj metod CollectionAssert lub Assert.AreSame oraz ich przeciążeń.</target>
<note></note>
</trans-unit>
<trans-unit id="AssertScopeFailure">
<source>{0} assertion(s) failed within the assert scope:</source>
<target state="new">{0} assertion(s) failed within the assert scope:</target>
<note>{0} is the number of assertion failures collected in the scope.</note>
</trans-unit>
</body>
</file>
</xliff>
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,11 @@ Real: {2}</target>
<target state="translated">CollectionAssert.ReferenceEquals não deve ser usado com as Declarações. Em vez disso, use os métodos CollectionAssert ou Assert.AreSame e as sobrecargas.</target>
<note></note>
</trans-unit>
<trans-unit id="AssertScopeFailure">
<source>{0} assertion(s) failed within the assert scope:</source>
<target state="new">{0} assertion(s) failed within the assert scope:</target>
<note>{0} is the number of assertion failures collected in the scope.</note>
</trans-unit>
</body>
</file>
</xliff>
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,11 @@ Actual: {2}</source>
<target state="translated">Нельзя использовать CollectionAssert.ReferenceEquals для Assertions. Вместо этого используйте методы CollectionAssert или Assert.AreSame и перегрузки.</target>
<note></note>
</trans-unit>
<trans-unit id="AssertScopeFailure">
<source>{0} assertion(s) failed within the assert scope:</source>
<target state="new">{0} assertion(s) failed within the assert scope:</target>
<note>{0} is the number of assertion failures collected in the scope.</note>
</trans-unit>
</body>
</file>
</xliff>
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,11 @@ Gerçekte olan: {2}</target>
<target state="translated">CollectionAssert.ReferenceEquals, Onaylama için kullanılmamalı. Lütfen bunun yerine CollectionAssert yöntemlerini veya Assert.AreSame &amp; aşırı yüklemelerini kullanın.</target>
<note></note>
</trans-unit>
<trans-unit id="AssertScopeFailure">
<source>{0} assertion(s) failed within the assert scope:</source>
<target state="new">{0} assertion(s) failed within the assert scope:</target>
<note>{0} is the number of assertion failures collected in the scope.</note>
</trans-unit>
</body>
</file>
</xliff>
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,11 @@ Actual: {2}</source>
<target state="translated">CollectionAssert.ReferenceEquals 不应用于断言。请改用 CollectionAssert 方法或 Assert.AreSame 和重载。</target>
<note></note>
</trans-unit>
<trans-unit id="AssertScopeFailure">
<source>{0} assertion(s) failed within the assert scope:</source>
<target state="new">{0} assertion(s) failed within the assert scope:</target>
<note>{0} is the number of assertion failures collected in the scope.</note>
</trans-unit>
</body>
</file>
</xliff>
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,11 @@ Actual: {2}</source>
<target state="translated">CollectionAssert.ReferenceEquals 不應使用於判斷提示。請改用 CollectionAssert 方法或 Assert.AreSame 及其多載。</target>
<note></note>
</trans-unit>
<trans-unit id="AssertScopeFailure">
<source>{0} assertion(s) failed within the assert scope:</source>
<target state="new">{0} assertion(s) failed within the assert scope:</target>
<note>{0} is the number of assertion failures collected in the scope.</note>
</trans-unit>
</body>
</file>
</xliff>
Loading
Loading