Dil

CollectionAssert.That Özellik

Tanım

CollectionAssert işlevinin tekil örneğini alır.

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

Özellik Değeri

Öznitelikler

Örnekler

Aşağıdaki örnek, üzerinde CollectionAssert bir uzantı yöntemi olarak özel AreEqualUnordered onay tanımlar ve aracılığıyla CollectionAssert.Thatçağırır:

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 });
    }
}

Açıklamalar

Kullanıcılar, C# uzantısı yöntemleri aracılığıyla özel onayları eklemek için bunu kullanabilir. Örneğin, özel onay sağlayıcısının imzası olabilir public static void AreEqualUnordered(this CollectionAssert customAssert, ICollection expected, ICollection actual) ve çağrı sitesi olabilir CollectionAssert.That.AreEqualUnordered(list1, list2);.

Yeni özel onaylar için, bunun yerine genişletmeyi That tercih edin, çünkü CollectionAssert gelecekteki bir sürümde kullanım dışı bırakılacaktır. Daha fazla bilgi için bkz. StringAssert ve CollectionAssert'te uzantı kancaları.

Şunlara uygulanır