File: Sdk\Exceptions\AllExceptionTests.cs
Web Access
Project: src\src\Microsoft.DotNet.XUnitAssert\tests\Microsoft.DotNet.XUnitAssert.Tests.csproj (Microsoft.DotNet.XUnitAssert.Tests)
using System;
using Xunit;
using Xunit.Sdk;
 
public class AllExceptionTests
{
	[Fact]
	public static void ReturnsAMessageForEachFailure()
	{
		var errors = new[]
		{
			new Tuple<int, object?, Exception>(
				1,
				$"Multi-line{Environment.NewLine}ToString-print",
				new Exception($"Multi-line{Environment.NewLine}message")
			),
			new Tuple<int, object?, Exception>(3, 2, new Exception("Error 2")),
			new Tuple<int, object?, Exception>(5, new object(), new Exception("Error 3")),
			new Tuple<int, object?, Exception>(6, null, new NullReferenceException("Error 4"))
		};
 
		var ex = new AllException(6, errors);
 
		var expectedMessage =
			"Assert.All() Failure: 4 out of 6 items in the collection did not pass." + Environment.NewLine +
			"[1]: Item: Multi-line" + Environment.NewLine +
			"     ToString-print" + Environment.NewLine +
			"     System.Exception: Multi-line" + Environment.NewLine +
			"     message" + Environment.NewLine +
			"[3]: Item: 2" + Environment.NewLine +
			"     System.Exception: Error 2" + Environment.NewLine +
			"[5]: Item: System.Object" + Environment.NewLine +
			"     System.Exception: Error 3" + Environment.NewLine +
			"[6]: Item: " + Environment.NewLine +
			"     System.NullReferenceException: Error 4";
 
		Assert.Equal(expectedMessage, ex.Message);
	}
}