CollectionAssert.That 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取 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
属性值
- 属性
示例
以下示例将自定义 AreEqualUnordered 断言定义为扩展方法, CollectionAssert 并通过以下方法调用它 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 });
}
}
注解
用户可以通过 C# 扩展方法插入自定义断言。 例如,自定义断言提供程序的签名可以是 public static void AreEqualUnordered(this CollectionAssert customAssert, ICollection expected, ICollection actual) 调用站点 CollectionAssert.That.AreEqualUnordered(list1, list2);。
对于新的自定义断言,首选扩展 That ,因为在 CollectionAssert 将来的版本中可能会弃用。 有关详细信息,请参阅 StringAssert 和 CollectionAssert 上的扩展挂钩。