CollectionAssert.That Propiedad

Definición

Obtiene la instancia singleton de la funcionalidad CollectionAssert.

public:
 static property Microsoft::VisualStudio::TestTools::UnitTesting::CollectionAssert ^ That { Microsoft::VisualStudio::TestTools::UnitTesting::CollectionAssert ^ get(); };
public static Microsoft.VisualStudio.TestTools.UnitTesting.CollectionAssert That { get; }
[System.Runtime.CompilerServices.Nullable(1)]
public static Microsoft.VisualStudio.TestTools.UnitTesting.CollectionAssert That { get; }
static member That : Microsoft.VisualStudio.TestTools.UnitTesting.CollectionAssert
[<System.Runtime.CompilerServices.Nullable(1)>]
static member That : Microsoft.VisualStudio.TestTools.UnitTesting.CollectionAssert
Public Shared ReadOnly Property That As CollectionAssert

Valor de propiedad

Atributos

Ejemplos

En el ejemplo siguiente se define una aserción personalizada AreEqualUnordered como un método de extensión en CollectionAssert y se invoca a través de CollectionAssert.That:

using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;

public static class CustomCollectionAssertExtensions
{
    public static void AreEqualUnordered<T>(this CollectionAssert collectionAssert, IEnumerable<T> expected, IEnumerable<T> actual)
    {
        if (!expected.OrderBy(x => x).SequenceEqual(actual.OrderBy(x => x)))
        {
            throw new AssertFailedException("CollectionAssert.That.AreEqualUnordered failed. Collections do not contain the same elements.");
        }
    }
}

[TestClass]
public class SetTests
{
    [TestMethod]
    public void Items_MatchRegardlessOfOrder()
    {
        CollectionAssert.That.AreEqualUnordered(new[] { 1, 2, 3 }, new[] { 3, 1, 2 });
    }
}

Comentarios

Los usuarios pueden usarlo para conectar aserciones personalizadas a través de métodos de extensión de C#. Por ejemplo, la firma de un proveedor de aserción personalizado podría ser public static void AreEqualUnordered(this CollectionAssert customAssert, ICollection expected, ICollection actual) y el sitio de llamada sería CollectionAssert.That.AreEqualUnordered(list1, list2);.

En el caso de las nuevas aserciones personalizadas, prefiere extenderse That en su lugar, ya que CollectionAssert es probable que esté en desuso en una versión futura. Para obtener más información, vea Enlaces de extensión en StringAssert y CollectionAssert.

Se aplica a